diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 37e46a8..0000000 --- a/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -LEGAL & CURRENT AUTHOR : clemtre - 2023, 2024 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 32a8b2a..0000000 --- a/LICENSE +++ /dev/null @@ -1,277 +0,0 @@ -Part of the Unbound Libraries Documentation - - CC4R* COLLECTIVE CONDITIONS FOR RE-USE - -COPYLEFT ATTITUDE WITH A DIFFERENCE - VERSION 1.0 - ------------------------------------------------------------------------- - -REMINDER TO CURRENT AND FUTURE AUTHORS: - -The authored work released under the CC4r was never yours to begin with. -The CC4r considers authorship to be part of a collective cultural effort -and rejects authorship as ownership derived from individual genius. This -means to recognize that it is situated in social and historical -conditions and that there may be reasons to refrain from release and -re-use. - ------------------------------------------------------------------------- - -PREAMBLE - -The CC4r articulates conditions for re-using authored materials. This -document is inspired by the principles of Free Culture – with a few -differences. You are invited to copy, distribute, and transform the -materials published under these conditions, and to take the implications -of (re-)use into account. -The CC4r understands authorship as inherently collaborative and -already-collective. It applies to hybrid practices such as human-machine -collaborations and other-than-human contributions. The legal framework -of copyright ties authorship firmly in property and individual human -creation, and prevents more fluid modes of authorial becoming from -flourishing. Free Culture and intersectional, feminist, anti-colonial -work reminds us that there is no tabula rasa, no original or single -author; that authorial practice exists within a web of references. -The CC4r favours re-use and generous access conditions. It considers -hands-on circulation as a necessary and generative activation of -current, historical and future authored materials. While you are free to -(re-)use them, you are not free from taking the implications from -(re-)use into account. -The CC4r troubles the binary approach that declares authored works -either ‘open’ or ‘closed’. It tries to address how a universalist -approach to openness such as the one that Free licenses maintain, has -historically meant the appropriation of marginalised knowledges. It is -concerned with the way Free Culture, Free Licenses and Open Access do -not account for the complexity and porosity of knowledge practices and -their circulation, nor for the power structures active around it. This -includes extractive use by software giants and commercial on-line -platforms that increasingly invest into and absorb Free Culture. -The CC4r asks CURRENT and FUTURE AUTHORS, as a collective, to care -together for the implications of appropriation. To be attentive to the -way re-use of materials might support or oppress others, even if this -will never be easy to gauge This implies to consider the collective -conditions of authorship. -The CC4r asks you to be courageous with the use of materials that are -being licensed under the CC4r. To discuss them, to doubt, to let go, to -change your mind, to experiment with them, to give back to them and to -take responsibility when things might go wrong. -Considering the Collective Conditions for (re-)use involves inclusive -crediting and speculative practices for referencing and resourcing. To -consider the circulation of materials on commercial platforms as -participating in extractive data practices; platform capitalism -appropriates and abuses collective authorial practice. To take into -account that the defaults of openness and transparency have different -consequences in different contexts. To consider the potential necessity -for opacity when accessing and transmitting knowledge, especially when -it involves materials that matter to marginalized communities. -This document was written in response to the Free Art License (FAL) in a -process of coming to terms with the colonial structuring of knowledge -production. It emerged out of concerns with the way Open Access and Free -Culture ideologies foregrounding openness and freedom as universal -principles might replicate some of the problems with conventional -copyright. - -DEFINITIONS - -« LEGAL AUTHOR » In the CC4r, LEGAL AUTHOR is used for the individual -that is assigned as “author” by conventional copyright. Even if the -authored work was never theirs to begin with, he or she is the only one -that is legally permitted to license a work under a CC4r. This license -is therefore not about liability, or legal implications. It cares about -the ways copyright contributes to structural inequalities. -« CURRENT AUTHOR » can be used for individuals and collectives. It is -the person, collective or other that was involved in generating the work -created under a CC4r license. CURRENT and FUTURE AUTHOR are used to -avoid designations that overly rely on concepts of ‘originality’ and -insist on linear orders of creation. -« FUTURE AUTHOR » can be used for individuals and collectives. They want -to use the work under CC4r license and are held to its conditions. All -future authors are considered coauthors, or anauthors. They are -anauthorized because this license provides them with an unauthorized -authorization. -« LICENSE » due to its conditional character, this document might -actually not qualify as a license. It is for sure not a Free Culture -License. see also: UNIVERSALIST OPENNESS. -« (RE-)USE » the CC4r opted for bracketing “RE” out of necessity to mess -up the time-space linearity of the original.« OPEN <-> CLOSED » the CC4r -operates like rotating doors… it is a swinging license, or a hinged -license. -« UNIVERSALIST OPENNESS » the CC4r tries to propose an alternative to -universalist openness. A coming to terms with the fact that universal -openness is “safe” only for some. - -0. CONDITIONS - -The invitation to (re-)use the work licenced under CC4r applies as long -as the FUTURE AUTHOR is convinced that this does not contribute to -oppressive arrangements of power, privilege and difference. These may be -reasons to refrain from release and re-use. -If it feels paralyzing to decide whether or not these conditions apply, -it might point at the need to find alternative ways to activate the -work. In case of doubt, consult for example -https://constantvzw.org/wefts/orientationspourcollaboration.en.html. - -1. OBJECT - -The aim of this license is to articulate collective conditions for -re-use. - -2. SCOPE - -The work licensed under the CC4r is reluctantly subject to copyright -law. By applying CC4r, the legal author extends its rights and invites -others to copy, distribute, and modify the work. - -2.1 INVITATION TO COPY (OR TO MAKE REPRODUCTIONS) - -When the conditions under 0. apply, you are invited to copy this work, -for whatever reason and with whatever technique. - -2.2 INVITATION TO DISTRIBUTE, TO PERFORM IN PUBLIC - -As long as the conditions under 0. apply, you are invited to distribute -copies of this work; modified or not, whatever the medium and the place, -with or without any charge, provided that you: - -- attach this license to each of the copies of this work or indicate - where the license can be found; -- make an effort to account for the collective conditions of the work, - for example what contributions were made to the modified work and by - whom, or how the work could continue; -- specify where to access other versions of the work. - -2.3 INVITATION TO MODIFY - -As long as the conditions under 0. apply, you are invited to make future -works based on the current work, provided that you: - -- observe all conditions in article 2.2 above, if you distribute - future works; -- indicate that the work has been modified and, if possible, what kind - of modifications have been made. -- distribute future works under the same license or any compatible - license. - -3. INCORPORATION OF THE WORK - -Incorporating this work into a larger work (i.e., database, anthology, -compendium, etc.) is possible. If as a result of its incorporation, the -work can no longer be accessed apart from its appearance within the -larger work, incorporation can only happen under the condition that the -larger work is as well subject to the CC4r or to a compatible license. - -4. COMPATIBILITY - -A license is compatible with the CC4r provided that: - -- it invites users to take the implications of their appropriation - into account; -- it invites to copy, distribute, and modify copies of the work - including for commercial purposes and without any other restrictions - tha - n those required by the other compatibility criteria; -- it ensures that the collective conditions under which the work was - authored are attributed unless not desirable, and access to previous - versions of the work is provided when possible; -- it recognizes the CC4r as compatible (reciprocity); -- it requires that changes made to the work will be subject to the - same license or to a license which also meets these compatibility - criteria. - -5. LEGAL FRAMEWORK - -Because of the conditions mentioned under 0., this is not a Free -License. It is reluctantly formulated within the framework of both the -Belgian law and the Berne Convention for the Protection of Literary and -Artistic Works. -“We recognize that private ownership over media, ideas, and technology -is rooted in European conceptions of property and the history of -colonialism from which they formed. These systems of privatization and -monopolization, namely copyright and patent law, enforce the systems of -punishment and reward which benefit a privileged minority at the cost of -others’ creative expression, political discourse, and cultural survival. -The private and public institutions, legal frameworks, and social values -which uphold these systems are inseparable from broader forms of -oppression. Indigenous people, people of color, queer people, trans -people, and women are particularly exploited for their creative and -cultural resources while hardly receiving any of the personal gains or -legal protections for their work. We also recognize that the public -domain has jointly functioned to compliment the private, as works in the -public domain may be appropriated for use in proprietary works. -Therefore, we use copyleft not only to circumvent the monopoly granted -by copyright, but also to protect against that appropriation.” -[Decolonial Media License] - -6. YOUR RESPONSIBILITIES - -The invitation to use the work as defined by the CC4r (invitation to -copy, distribute, modify) implies to take the implications of the -appropriation of the materials into account. - -7. DURATION OF THE LICENSE - -This license takes effect as of the moment that the FUTURE AUTHOR -accepts the invitation of the CURRENT AUTHOR. The act of copying, -distributing, or modifying the work constitutes a tacit agreement. This -license will remain in effect for the duration of the copyright which is -attached to the work. If you do not respect the terms of this license, -the invitation that it confers is void. If the legal status or -legislation to which you are subject makes it impossible for you to -respect the terms of this license, you may not make use of the rights -which it confers. - -8. VARIOUS VERSIONS OF THE LICENSE - -You are invited to reformulate this license by way of new, renamed -versions. Link to license on gitlab. You can of course make -reproductions and distribute this license verbatim (without any -changes). - -9. USER GUIDE - -– How to use the CC4r? - -To apply the CC4r, you need to mention the following elements: -[Name of the legal author, title, date of the work. When applicable, -names of authors of the common work and, if possible, where to find -other versions of the work]. -Copyleft with a difference: This is a collective work, you are invited -to copy, distribute, and modify it under the terms of the CC4r [link to -license]. -Short version: Legal author=name, date of work. CC4r [link to license] - -– Why use the CC4r? - -1. To remind yourself and others that you do not own authored works; -2. To not allow copyright to hinder works to evolve, to be extended, to - be transformed; -3. To allow materials to circulate as much as they need to; -4. Because the CC4r offers a legal framework to disallow - mis-appropriation by insisting on inclusive attribution. Nobody can - take hold of the work as one’s exclusive possession. - -– When to use the CC4r? - -Any time you want to invite others to copy, distribute and transform -authored works without exclusive appropriation but with considering the -implications of (re-)use, you can use the CC4r. You can for example -apply it to collective documentation, hybrid productions, artistic -collaborations or educational projects. - -– What kinds of works can be subject to the CC4r? - -The Collective Conditions for re-use can be applied to digital as well -as physical works.You can choose to apply the CC4r for any text, -picture, sound, gesture, or whatever material as long as you have legal -author’s rights. - -– Background of this license: - -The CC4r was developed for the Constant worksession Unbound libraries -(spring 2020) and followed from discussions during and contributions to -the study day Authors of the future (Fall 2019). It is based on the Free -Art License and inspired by other licensing projects such as the -(Cooperative) Non-Violent Public License and the Decolonial Media -license. Copyleft Attitude with a difference, 6 October 2020. Read more -about CC4r in: “Collectively Setting Conditions for Re-Use” (Elodie -Mugrefya & Femke Snelting, MARCH, spring 2022) diff --git a/LISEZMOI.md b/LISEZMOI.md deleted file mode 100644 index 3f9cd57..0000000 --- a/LISEZMOI.md +++ /dev/null @@ -1,234 +0,0 @@ -LISEZMOI est peut être en retard sur README - -**Travail en cours, si vous rencontrez un soucis ennvoyez un mail à -contact@martinlemaire.fr ou ouvrez une issue ici** - -Un gestionnaire de marque-page navigable généré à partir d'une base de -donnée textuel que l'on peut utiliser en temps que page d'accueil de -navigateur - -Pour essayer avec une base de données BOOKMARKS fourni en exemple : -``` -curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS -``` -ensuite -``` -chmod +x signet.sh -./signet.sh -``` - -Le script produit le document html suivant : - -index.html -![un gestionnaire de lien navigable](https://www.martinlemaire.fr/signet.sh/demo.png) - -Un extrait de la base de donnée correspondante, composée d'entrées -séparées par des sauts de lignes avec des champs clé/valeur : - -BOOKMARKS -``` -URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont) -Name: HEX (Unifont) - Just Solve the File Format Problem -Description: -Tags: bbb, hex -Date: 1704636690 -Color: Pink - -URL: http://robhagemans.github.io/monobit/ -Name: Hoard of bitfonts -Description: A python tool to manipulate bitmap fonts and do format conversions -Tags: bitmap, fonts -Date: 1704639859 - -URL: https://en.wikipedia.org/wiki/Wish_(Unix_shell) -Name: wish (Unix shell) - Wikipedia -Description: -Tags: gui, wish, tcl -Date: 1704646543 - -URL: https://www.kreativekorp.com/ -Name: Rebecca G. Bettencourt -Description: -Tags: RGB, people,hide -Date: 1704648764 -``` -Avec cette base de données, signet colore le premier lien en rose et -cache le dernier car il contient le tag "hide" - -# Présentation -## signet.sh -Signet.sh est un script shell qui transforme une base de donnée de liens -en une page web. La conversion est faite par une commande awk au sein -d'une déclaration here-doc qui est redirigé dans une page html. - -J'ai créé ce script car je trouve le gestionnaire de marque-page de -firefox insatisfaisant, autant dans sa forme que dans le format utilisé -(sqlite). Ce script et les utilitaires autours proposent une -alternative pour archiver ses navigations internet. - -Lecture en lien : -* FR - * -* EN - * https://www.inkandswitch.com/local-first/ - -## Format de la base de donné -Seule une Url est requise, le reste des champs sont -facultatifs, on compte les champs suivants : -* URL : ... -* Name : Par défaut la balise de la page -* Description : ... -* Tags : mots-clés séparés d'une virgule -* Date : heure posix de l'ajout du lien -* Color : couleur css (nom, hex, rgb etc...) - -## structure de la page index.html générée par signet.sh -``` - - - - ⛵ → YY-MM-DD, H:M - - - - - - -
- - -
    -
  1. - -
    -
    URL
    -

    Name

    -

    Description

    -

    Tags

    -

    Date

    -
    -
    -
  2. -
-
- - -``` - -# Usage -## Ajouter un marque-page : - -Pour ajouter un lien, je séléctionne l'url de la page avec Ctrl + l, la -copie et lance add.sh avec Super + i. - -_Si quelqu'un sait récupérer l'url de la page courante du navigateur -sans avoir à la copier, ça économiserait deux étapes sur trois._ - -En résumé : Ctrl + l, Ctrl + c, Super + i - -(ou plus court : Ctrl + l + c, Super + i) - -Super + i car dans le fichier de configuration de mon gestionnaire de -fenêtre situé dans ~/.config/awesome/rc.lua j'ai les lignes suivantes : -``` -awful.key({modkey}, "i", function() -awful.util.spawn_with_shell("add.sh") end, -{description = "Enregistre le lien copié dans signet.sh"}), -``` - -# Dependance~~s~~ : -Pour ajouter un lien via l'interface proposée, on aura besoin -d'installer dmenu ~~et htmlq~~. -* dmenu https://tools.suckless.org/dmenu/ (MIT/X) -* ~~htmlq https://github.com/mgdm/htmlq (MIT)~~ remplacé par une - commande awk -## dmenu -Dmenu est un menu interactif qui permet de sélectionner et d'écrire des -valeurs dans un menu. Ces valeurs peuvent provenir d'un programme -fournit en entrée un *pipe* "|", par exemple : -``` -ls | dmenu -``` -affiche un menu déroulant avec les fichiers de mon répertoire. Dans -notre script, pour stocker le choix dans une variable, on peut faire : -``` -tags=$(echo "" | dmenu -p "Enter comma-separated tags:") -``` -## ~~htmlq~~ -Htmlq est un parseur d'html écrit en go. Peu importe quel parseur on -utilise, on dirait que chaque langage a le sien. -Il s'agit ici de fournir au programme une chaîne de caractère en entrée -et d'en filtrer des éléments html -Si en javascript pour récupérer tous les \

enfants d'une \
on -peut faire -``` -document.querySelectorAll('section h1') -``` -En shell, c'est plus compliqué, htmlq est fait pour ça : -``` -cat fichier.html | htmlq 'section h1' -``` -Et pour récurer seulement le texte -- l'équivalent en javascript de -.innerHTML : -``` -cat fichier.html | htmlq 'section h1' --text -``` -On s'en sert pour récupérer la balise titre de la page à ajouter : -``` -curl page.html | htmlq 'title' --text -``` -Patch pré-sortie : -``` -curl $url | awk -v RS='' \ - '// {gsub(/.*<title>/, ""); print}' |\ - tr -d '\n' -``` - -Pour l'instant cette étape est bloquante. Pour peu que la connection -internet coupe lors de l'ajout d'un lien, il faudra attendre la fin de -la tentative de curl pour passer au prochain champs du script :/ sorry ! - -# Structure du répertoire - -* BOOKMARKS → Une base de données de liens -* add.sh → Un script pour rajouter un lien dans la base de données - * dmenu - * ./signet.sh -* signet.sh → Le script shell qui lit BOOKMARKS et génère index.html -* style.css → La feuille de style pour styliser index.html -* index.html → C'est la page html générée. Elle est composée de : - * \<textarea> pour chercher dans les marque-pages (ctrl + f) - * \<section> de tags \<p> et leurs quantités rangés dans l'ordre décroissant - * liste ordonnée croissante \<ol> en flex column-reverse de liens <\li> - * \<a> lien (href) - * \<h1> Name - * \<h2> Description - * \<h3> Tags - * \<h4> Date - * \<h5> lien (texte) -* script.js → Un peu de javascript pour: - * rechercher dans la \<textarea> - * ajouter les couleurs de fond aux entrées qui en ont - * si le champs de description est vide, ne pas - l'afficher - * formater les dates du temps posix au format AA-MM-JJ - -/!\ Prochainement /!\ -starred.sh → Un curl des repos de l'api github -https://api.github.com/users/[user]/starred , formaté de json à une -liste html sans jq ! - -# Autres gestionnaires de marque-pages : -- nb https://xwmx.github.io/nb/ (AGPL-3.0) -- ?? - -# Crédits -* Junicode (OFL-1.1) -https://psb1558.github.io/Junicode-font/ -* dmenu (MIT/X) -https://tools.suckless.org/dmenu/ -* jquery (MIT) -https://jquery.com/ - diff --git a/README.md b/README.md deleted file mode 100644 index 42e77d6..0000000 --- a/README.md +++ /dev/null @@ -1,270 +0,0 @@ -*FR → LISEZMOI.md* - -**Work in progress, if you encounter any issues regarding -installation or understanding what this is all about, please send an -email to contact@martinlemaire.fr or open an issue here and i'll be -happy to answer** - -A browsable webpage generated from a textual database you might want to -use as a browser homepage. You can edit the database by editing the file -called BOOKMARKS or by running the provided script called -edit_bookmarks_dmenu.sh (requires dmenu). Signet.sh is the name of the -repository in reference to the name of the core script (more on the naming bellow). The script can be ran from the command line but I suggest to bind it to a keystroke combination. - -It produces the following html document : - -index.html -![a browsable bookmark manager](https://www.martinlemaire.fr/signet.sh/demo.png) -A sample of its corresponding textual database, in the form of blankline -separated records with ```Key: value``` fields : - -BOOKMARKS -``` -URL: http://fileformats.archiveteam.org/wiki/HEX_(Unifont) -Name: HEX (Unifont) - Just Solve the File Format Problem -Description: -Tags: bbb, hex -Date: 1704636690 -Color: Pink - -URL: http://robhagemans.github.io/monobit/ -Name: Hoard of bitfonts -Description: Bitmap fonts collection -Tags: bitmap, fonts -Date: 1704639859 - -URL: https://en.wikipedia.org/wiki/Wish_(Unix_shell) -Name: wish (Unix shell) - Wikipedia -Description: a Tcl interpreter extended with Tk commands for unix. -Tags: gui, wish, tcl -Date: 1704646543 - -URL: https://www.kreativekorp.com/ -Name: Rebecca G. Bettencourt -Description: -Tags: RGB, people, hide -Date: 1704648764 -``` -Given this database, signet will color the first link in pink and hide -the last one because of its "hide" tag. - -# Get started -1. First step - -Clone this repository, make signet.sh executable and run signet.sh by -specifying a file of bookmarks to process and redirect its output to an -html file. -``` -git clone https://git.vvvvvvaria.org/clemtre/signet.sh.git -cd signet.sh -chmod +x signet.sh -./signet.sh BOOKMARKS > index.html -``` -2. A sample database of bookmarks - -You can try signet.sh with this 32kb example BOOKMARKS database : -``` -curl -O https://martinlemaire.fr/signet.sh/BOOKMARKS -``` -3. Junicode typeface - -You might be in search of a condensed font in order to fit more -characters per line, if that's the case I can recommend the condensed -light version of **Junicode**, an OFL typeface drawn by Peter Baker. You -can get mirrored versions Junicode condensed light and its italic style -(1.8Mb total) from the 50Mb archive here : -``` -# from https://github.com/psb1558/Junicode-font/releases/tag/v2.206 -curl -O https://martinlemaire.fr/fonts/Junicode-CondensedLight.otf -curl -O https://martinlemaire.fr/fonts/Junicode-CondensedLightItalic.otf - -``` -4. jquery - -Signet.sh webpage requires jquery, you can curl the 72Kb slim, minified -version over : -``` -curl -O https://code.jquery.com/jquery-3.7.1.slim.min.js -``` -5. dmenu - -https://askubuntu.com/questions/828450/how-to-install-dmenu - -# Presentation -## signet.sh -Signet.sh is a shell script parsing a bookmark database to a webpage. -It uses awk inside a here-doc declaration redirected to an html file. - -I have created this script because I found the bookmarks manager from -firefox not great to use, to the point where I did not have the habit to -bookmark my browsing journeys. Firefox stores bookmarks in a sqlite -which is not human readable. Although it allows an export in json and -html, I wanted something text based and personal. - -## Bookmarks database format -Only a Url is required, the rest of the fields are optional : -* URL : the url pasted from the clipboard (exits if no url given) -* Name : grabs from the bookmarked page with curl -* Description : a description from the user -* Tags : comma separated keywords -* Date : posix time of the bookmarked link -* Color : css color (name, hex, rgb etc...) - -## index.html structure generated by signet.sh -``` -\ - - - ⛵ → YY-MM-DD, H:M - - - - - - -
- - -
    -
  1. - -
    -
    URL
    -

    Name

    -

    Description

    -

    Tags

    -

    Date

    -
    -
    -
  2. -
-
- - -``` - -# Usage -## Add a bookmark : - -To add a link, I select the URL of the page with Ctrl + l, then copy to -clipboard and run add.sh with Super + i. - -__If anyone knows how to retrieve the url of the current browser page -without having to copy it and send it to clipboard, this would save two -steps out of three.__ - -In short : Ctrl + l, Ctrl + c, Super + i - -(or shorter : Ctrl + l + c, Super + i) - -Super + i because in my window manager (awesomewm) configuration file -located in ~/.config/awesome/rc.lua, I have the following lines: -``` -awful.key({modkey}, "i", function() -awful.util.spawn_with_shell("edit_bookmarks_dmenu.sh ~/BOOKMARKS") end, -{description = "Add a bookmark to my database of bookmarks"}), -``` -## Edit a bookmark : - -Use your text editor of choice. Open the BOOKMARKS file and edit the -entry. The last entry is at the bottom. - -If you use vim, with BOOKMARKS opened you can press in normal mode m + -B and it will save a mark to the file you can then access with ' + B - -# Installation -Works on Ubuntu 20 LTS, it should work on POSIX -compliant machines, macOS, linux* or bsd*. I'm curious to know how it -goes on windows :^) - -# Dependency : - -To add a link via the proposed interface, we will need -to install dmenu ~~and htmlq~~. -* dmenu https://tools.suckless.org/dmenu/ (MIT/X) -* ~~htmlq https://github.com/mgdm/htmlq (MIT)~~ replaced by one -awk command -* xclip ? -## dmenu -Dmenu is an interactive menu that allows us to select and write -values in a menu. These values can come from a program -provided as input from a pipe "|", for example: -``` -ls | dmenu -``` -displays a drop-down menu with the files in my directory. -In our script, to store the given tags in a variable, we can do: -``` -tags=$(echo "" | dmenu -p "Enter comma-separated tags:") -``` - -## ~~htmlq~~ -Htmlq is an HTML parser written in Go. It doesn't matter which parser we -use, it seems that each language has its own. -We give to the program an html string and it filters through it using css -selectors returning the found html elements -Using javascript, retrieving all the \

children of a \
can -be done with : -``` -document.querySelectorAll('section h1') -``` -In shell, it's more complicated since we don't have document object -model we can query. Htmlq is made for that: -``` -cat fichier.html | htmlq 'section h1' -``` -And to output only the text -- the javascript equivalent of .innerHTML: -``` -cat fichier.html | htmlq 'section h1' --text -``` -We use it to retrieve the title tag of the page to add: -``` -curl page.html | htmlq 'title' --text -``` -Pre-release patch: -``` -curl $url | awk -v RS='' \ - '// {gsub(/.*<title>/, ""); print}' |\ - tr -d '\n' -``` - -For the moment this step is blocking. In case internet cuts while -bookmarking a link, you will have to wait for the end of the curl -attempt to move to the next field in the script :/ sorry! - -# Repository structure : - -* BOOKMARKS → A textual database of bookmarks -* edit_bookmarks_dmenu.sh → A script to add a link to the database using - dmenu - * Usage : ./edit_bookmarks_dmenu.sh BOOKMARKS -* signet.sh → The shell script itself - * It generates a new html page from the database of bookmarks - * Usage : ./signet.sh BOOKMARKS > index.html -* style.css → Stylesheet for index.html -* script.js → A bit of jquery for: - * search in the \<textarea> - * add background colors to entries that have them - * if the description field is empty, do not display it - * format posix time dates to YY-MM-DD format - -# Naming -The name is subject to change. -Victor suggested *signet*, it stands for the actual pieces of paper used -as bookmarks inserted between the pages of a bound object → -https://www.cnrtl.fr/definition/signet - -# Other bookmark managers: -- nb https://xwmx.github.io/nb/ (AGPL-3.0) -- ?? - -# Credits -* Junicode (OFL-1.1) -https://psb1558.github.io/Junicode-font/ -* dmenu (MIT/X) -https://tools.suckless.org/dmenu/ -* jquery (MIT) -https://jquery.com/ - diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 100c490..0000000 --- a/TODO.md +++ /dev/null @@ -1,29 +0,0 @@ -unsorted list of things that would be nice to have - -* *make a make*file in order to variabilize language in add.sh prompts - and make overall config easier -* write more structured css -* pin links - → add an optional boolean to the records implictly false if absent. - if true, the link sits on top of the pile -* search select tags for filtering - → tags inside \<nav> would be \<button>s instead of \<p>s and filter - the links accordingly -* a better way to capture url - → something that grabs current page to clipboard -* hardcode bookmark ids in awk rather than css so that ids are - persistant and don't slide if a link is removed - → add.sh id++ -* make other ways to edit and generate bookmarks if dmenu is too much of - a struggle to install. -* plug other pages / tools to it - ie : - * unicode dictionnary, css colors - * notes (report, files recently written) - * agenda ← big textual dreams about this one - * weather forecast -- in the form of a line in the bookmarks maybe ?? - * documentations, html/css properties quickref - * images, something like signet.sh but for images and their metadata. - entries from an IMAGES file database would be attached to downloaded - images, the most recent ones cascading in a line as thumbnails - somewhere alongside links... - diff --git a/dmenu_style.sh b/dmenu_style.sh new file mode 100755 index 0000000..11e6e03 --- /dev/null +++ b/dmenu_style.sh @@ -0,0 +1,6 @@ +local font='junicode-18' +local normal_bg='#000000' +local normal_fg='#FFFFFF' +local selected_bg='#AAAAAA' +local selected_fg='#000000' +echo "-fn $font -nb $normal_bg -nf $normal_fg -sb $selected_bg -sf $selected_fg" diff --git a/edit.sh b/edit.sh new file mode 100755 index 0000000..0b9555d --- /dev/null +++ b/edit.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +sanitize() { + local s="${1?need a string}" # receive input in first argument + s=$(echo $s | sed -E 's/^\s*.*:\/\///g') + s="${s//[^[:alnum:]]/-}" # replace all non-alnum characters to - + s="${s//+(-)/-}" # convert multiple - to single - + s="${s/#-}" # remove - from start + s="${s/%-}" # remove - from end + echo "${s,,}" # convert to lowercase +} + +URL=$(awk '/^URL:/ {print $2}' signet) +URL_safe=$(sanitize $URL) +echo $URL_safe +curl $URL > "sac/pages/$URL_safe" +cat <<- EOF > BOOKMARKS +$(awk '/^[0-9]+$/ { print $0 + 1; exit }' BOOKMARKS) +Name: $(awk -v RS='' '\ +// {gsub(/.*<title>/, ""); print}\ +' sac/pages/$URL_safe | tr -d '\n') +$(cat signet BOOKMARKS) +EOF + +#rm signet + + + diff --git a/edit_bookmarks_dmenu.sh b/edit_bookmarks_dmenu.sh deleted file mode 100755 index d4efa45..0000000 --- a/edit_bookmarks_dmenu.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh - -# needs a better name - -# - - - - - - - - - - - - - - - - ARGS - - - - - - - - - - - - - - - - - -show_help() { - echo "Usage:" - echo "1. Copy the desired Url to your clipboard" - echo "2. ./edit_bookmarks_dmenu.sh BOOKMARKS" - echo "Options:" - echo " --help Display this help message" - exit 1 -} -if [ "$#" -eq 0 ]; then - echo "Nothing happened, I need a file of bookmarks to edit." - show_help -fi - -while [ "$#" -gt 0 ]; do - case "$1" in - --help) - show_help - ;; - -*) - echo "Error: Unknown option: $1" >&2 - show_help - ;; - esac - shift -done -dmenu_style() { - local font='junicode-18' - local normal_bg='#000000' - local normal_fg='#FFFFFF' - local selected_bg='#AAAAAA' - local selected_fg='#000000' - echo "-fn $font -nb $normal_bg -nf $normal_fg -sb $selected_bg -sf $selected_fg" -} -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - -# TODO : process multiple files of BOOKMARKS at once -BOOKMARKS=$1 - -URL=$(xclip -o -selection clipboard) - -# The curl for Name: is a blocking process and will pause the programm -# in case internet shuts :^) - -# TODO : -# add description, tags and color in one field with symbols such as : -# § this is a description. § comma, separated, tags § color - -# If the given string ressembles to a url, continue. -# https://stackoverflow.com/questions/21115121/how-to-test-if-string-matches-a-regex-in-posix-shell-not-bash -# URL_REGEX="^(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|]" -if printf "$URL" | grep -q http; then -# TODO : incrementing id replacing <ol> list counter -#PREV_URL_COUNT=$(grep "URL: " $BOOKMARKS | wc -l) -#ID: $((PREV_URL_COUNT + 1)) -# TODO : add the bookmark in reverse, last in first first on the stack -# maybe using tac instead of cat ? -cat <<- EOF >> $BOOKMARKS - -URL: $(printf $URL) -Name: $(curl $URL | awk -v RS='' '\ -// {gsub(/.*<title>/, ""); print}\ -' | tr -d '\n') -Description: $(printf "" | dmenu -p "Enter a description: " $(dmenu_style)) -Tags: $(printf "" | dmenu -p "Enter comma separated tags: " $(dmenu_style)) -Date: $(date +%s) - -EOF - -else - printf "Text in clipboard is not a url" - exit -fi - -# what we used to need htmlq for : -# name=$(curl $url | ~/.cargo/bin/htmlq title --text | sed -r '/^\s*$/d' | sed 's/^ *//g') diff --git a/filters.htmlq b/filters.htmlq new file mode 100644 index 0000000..dddf654 --- /dev/null +++ b/filters.htmlq @@ -0,0 +1,5 @@ +https://developer.mozilla.org/ +.main + +https://fr.wikipedia.org/wiki/ +.mw-page-container diff --git a/interface_dmenu.sh b/interface_dmenu.sh new file mode 100755 index 0000000..8027c87 --- /dev/null +++ b/interface_dmenu.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# - - - - - - - - - - - - - - - - ARGS - - - - - - - - - - - - - - - - - +show_help() { + printf " +Usage: + 1. Copy the desired URL to your clipboard + 2. ./interface_dmenu.sh BOOKMARKS +Options: + --help Display this help message" + exit 1 +} +if [ "$#" -eq 0 ]; then + printf "Nothing happened, I need a file of bookmarks to edit." + show_help +fi + +while [ "$#" -gt 0 ]; do + case "$1" in + --help) + show_help + ;; + -*) + printf "Error: Unknown option: $1" >&2 + show_help + ;; + esac + shift +done + +dmenu_style() { + local font='junicode-18' + local normal_bg='#000000' + local normal_fg='#FFFFFF' + local selected_bg='#AAAAAA' + local selected_fg='#000000' + echo "-fn $font -nb $normal_bg -nf $normal_fg -sb $selected_bg -sf $selected_fg" +} +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- + +URL=$(xclip -o -selection clipboard) + +if [ "${URL#"http"}" != "$URL" ]; then + DESC=$(dmenu -p "$URL · description →" $(dmenu_style)) + TAGS=$(dmenu -p "$URL · $DESC · tags →" $(dmenu_style)) + +cat <<- EOF > signet +URL: $URL +Description: $DESC +Tags: $TAGS +Date: $(date +%g/%m/%d) + +EOF + +./edit.sh + +else + printf "Text in clipboard is not a url" + exit +fi diff --git a/sac/pages/0fnr-0fnr-neocities-org b/sac/pages/0fnr-0fnr-neocities-org new file mode 100644 index 0000000..9c6d25c --- /dev/null +++ b/sac/pages/0fnr-0fnr-neocities-org @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>The web site of 0fnr-0fnr + + + + + + + + +

Hi I'm vi*

+
vi* stands for every of my {nick}names starting with vi
+

one example could be: vi*, [press tab], victory, or vip, via‥
+ you might know me with one of the affiliates
+ trick is some call me with my first name, you still can call me with it
+ I love it too
+

    #Todo list : + - find, retrieve every .txt to upload them in a .txt directory
    + - invite to style, ask for martin cookiecss, or addon style
    + - cookie with own comments/css of the page aaron swartz dream
    + - choice of non-design design. is what motive the 2 point above
    + → I should write about it ofc. the Html is part of the design tho.
    + the infrastructure of the design, and need of well written Html,
    + agnostic and semantic html
    + - think about a td tr table to explicit metadata to my texts :
    + — Lang
    + — theme, style : fiction/nonfiction/wip/done/a_/n_/todo_
    + — date
    + → the table should be reorganisable.
    + --
+

Yes I do right

+
    at the Hospital.txt + + + diff --git a/sac/pages/alpineapp-email b/sac/pages/alpineapp-email new file mode 100644 index 0000000..8efcb12 --- /dev/null +++ b/sac/pages/alpineapp-email @@ -0,0 +1,309 @@ + + +Latest Alpine Release Home Page + + + + + + + + +
    +
    + Alpine Logo +
    + +
    +
    +

    Alpine Email Program

    +
    +
    +
    + + + +
    +

    Welcome!

    + +The purpose of this page is to distribute releases of Alpine, as well as +to provide users with documentation on Alpine. All documentation needed to +configure Alpine can be found in the binary, and this page may provide +extra documentation. In any case, you are not required, nor encouraged to +access this site to run Alpine. You can run Alpine in your computer +without the need to ever visit this site. All documentation needed to +configure Alpine can be found in the binary, and can be read by either +pressing the "?" command or by pressing "^G" in Alpine. +This site does not use cookies, runs javascript, or tracks you in any +form. + +
     
    +Privacy Policy +
     
    + +Your privacy is important to me. When you access this site a log is kept +on the pages you visited. I have access to daily logs which are normally +erased, and if I do not see them, I miss them. I must login to this site +about twice a month, and I take a look at the site logs at that time. The +logs record your IP address, the date and time when you made a request to +the server, the exact request you made, the http status code received by +your server, and the browser you used. When I read the logs, I only look +at which pages people have accessed, and make a mental note about them, +and I do not make any concerted effort to associate an IP address with a +pattern of visits. This information is just for purposes of me knowing +what pages users visited, and nothing more. I have had access to this +information since March 2020, and no information previous to that time is +available to me. + +
     
    + +I also find it amusing to read the 404 errors. It shows people looking for +newer versions of Alpine, and other plugins that do not exist. I try not +to link to missing pages, but if I do, please report it to me so that I +can fix it. + +
     
    + +While I do not do anything to link you with your visit to this site, I do +not know what my free web site provider does with this information. +Continuing that idea, I do not know what your ISP does with this data +either, and if you contact me, I do not know what my email service +provider or your email service does with that information either. However, +if you contact me, I will use that information to contact you back in case +I need to, and I will only contact you in reference to +the topic of your message. I will never ask you for passwords, or +sensitive information that is not needed to debug an issue you might have +found. I normally keep records of all messages that are sent to me and +those that I send. I sometimes need to access those records to remind me +of past issues and their solutions. If you would like me to delete records +of my conversation with you, I will do so, but you must initiate that +request. + +
     
    + +Finally, rest assured that I will never sell or share information about +your visit to this site, or the fact you contacted me, with anyone. + +
    + +
    +  + +
    + + +
    +

    Latest Release Version 2.26

    + + +
      +
    • Source Code +alpine-2.26.tar.xz +
        +
      • MD5: 0943b31c476276e924b02afbfaf98392 +
      • SHA256: c0779c2be6c47d30554854a3e14ef5e36539502b331068851329275898a9baba +
      + GPG Signature: alpine-2.26.tar.xz.sig. + +
    • + Windows Binary +
        +
      • For Windows 10 or any 64 bit version of WIndows: + alpine-2.26.zip
        +
          +
        • MD5: c9dc33c27f05770b9604ce50b220946b +
        • SHA256: d754c781f84e4034ddbc6e33188deef5b3566bdcd296945cad7ee955a070ae3b +
        +
      • For an old version of Windows, such as XP, which is 32 bit: alpine-2.26_32bits.zip
        +
          +
        • MD5: 499b144858fbba9ceaf1efb4ca6327fc +
        • SHA256: 507aa9e54d02f4b588a5889e47632c71e796eb2bbb6023915de386f9ee6d0693 +
        +
      +
    + +

    +In order to check the integrity of your download, you might need my +GPG public key. + +

    +This version is released under the Apache License Version 2.0. + +
     
    +Version 2.26 includes several new features and bug fixes. + +

    +Additions include: + +

      + +
    • Unix version of Alpine (not including OSX). Alpine is built with password + file support by default. If Alpine is built with SMIME support and the + password file does not exist, then Alpine will create it by default and + encrypt it. + +
    • In the past Alpine did not recognize images embedded + in an HTML file, so now it does and a link to open them is + given. Additionally, Alpine did not pass these images to an + external browser for display using the external command, and + now it will. + +
    • Support for code_verifier and code_challenge when generating a + refresh token and access token in Gmail and Outlook using the + S256 method and plain method. + +
    • Change the redirect_uri scheme for Gmail, as Google is deprecating the use + of oob. Changed to http://localhost. Users are supposed to enter the URL + they see in their browser in place of the code. + +
    • Some servers do not allow the Drafts folder to be removed, even when + it is empty. Alpine, however, assumes that if the folder exists, it + must contain a draft message. This joint collaboration with Thomas + Uhle modifies alpine to not to attempt to continue a draft message if + the draft folder is empty. + +
    • Contributions by Thomas Uhle: +
        +
      • Add support to the LDAP attribute "userCertificate"; +
      • Move voiceMailTelephoneNumber from the TCL side to ldap_translate; +
      • XOAUTH2 state generator changes format specifier from %x to %02x; +
      • Web Alpine will not attempt to continue a postponed message if the + postponed-msgs folder is empty. +
      + +
    • Improvements to the screen that allows a user to select the client-id when + a user attempts to login to a server and more than one client-id + is available for that server. In this case additional information is + given: The method to use (device or authorize), a user id that uses the + suggested client-id or a report that the client-id has not been used. + +
    • To protect the privacy of a user, the message-id of a message will be + generated using the domain in the From field of the message. + +
    • When saving to a folder in the unix format, Alpine parses the + destination folder to assign uids to all messages in the folder. When + the destination folder is large this could significantly slow down + alpine. Fix based on a patch submitted to the alpine-info list by + Chris Caputo. + +
    • Add the LOGOUT command to the list of commands that can be + automatically interrupted in case the connection becomes unstable + during that command and Alpine times out its connection to the server. +
    • If new mail has arrived when a user is closing a mailbox, Alpine will + also announce how many new messages have arrived. Suggested by Chime Hart. + +
    • When an invitation does not have a timezone in the date of the event, + but the date is in GMT, adjust the date to local time. +
    + +

    Bugs that have been addressed include: + +

      + +
    • Crash when invoking Alpine from the command line and an attempt to authorize + alpine to use XOAUTH2 is done. Alpine crashes because of a missing optional + parameter -xoauth2-flow and because no screen has been configured yet. Reported + by Baron Fujimoto. + +
    • Alpine crashes when it cannot retrieve the privacy policy due to + failure connecting to the external server. + +
    • Alpine might delete all passwords from the password file if the + password file is not unlocked by cancellation, or the authentication + for an XOAUTH2 server is cancelled, or the password of an account + is changed. + +
    • When the personal name of an address is encoded, and the personal name + is surrounded by quotes, these are not removed by Alpine at the time + to offer to take an address from a message to the addressbook. Reported + by David Prager Branner. + +
    • If a user configures the sendmail-path variable, and does not use a + global smtp-server, then Alpine will use the sendmail-path even when + the user configured a smtp-server for a role. Reported by Gregory + Heytings. + +
    • Crash in PC-Alpine when creating a mail collection and no username is + indicated in the server path. Reported by Sandy Schuman. + +
    • Crash in Alpine when running a filter that moves deleted messages the + INBOX in a Gmail account. Reported by Jyrki Voutilainen. +
    + + +
    +In order to compile this source code you need OpenSSL version 1.0.0c or +later. In addition, Alpine can be compiled with recent versions of LibreSSL. + +

    In order to decompress use the command + +
     
    +tar -Jxf alpine-2.26.tar.xz +

    + +

    This page Copyright 2022 © Eduardo Chappa + +

    + +
    +  + +
    + + + + + + + + + diff --git a/sac/pages/archive-org-search-query-creator-3a-22usenix-association-22 b/sac/pages/archive-org-search-query-creator-3a-22usenix-association-22 new file mode 100644 index 0000000..3c5553b --- /dev/null +++ b/sac/pages/archive-org-search-query-creator-3a-22usenix-association-22 @@ -0,0 +1,19 @@ +Internet Archive: Digital Library of Free & Borrowable Books, Movies, Music & Wayback Machine \ No newline at end of file diff --git a/sac/pages/bioanth-org-about-position-statements-aapa-statement-race-and-racism-2019 b/sac/pages/bioanth-org-about-position-statements-aapa-statement-race-and-racism-2019 new file mode 100644 index 0000000..c5f9789 --- /dev/null +++ b/sac/pages/bioanth-org-about-position-statements-aapa-statement-race-and-racism-2019 @@ -0,0 +1,163 @@ + + + + + + + + + + +AABA Statement on Race & Racism + + + + + + + + + + + + + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +


    The following AABA Statement on Race & Racism was written by the AABA subcommittee tasked with revising the previous "AAPA statement on the Biological Aspects of Race" that was published in the American Journal of Physical Anthropology, vol. 101, pp 569-570, 1996. The Committee on Diversity (COD) subcommittee was comprised of (in alpha order): Rebecca Ackermann, Sheela Athreya, Deborah Bolnick, Agustín Fuentes (chair), Tina Lasisi, Sang-Hee Lee, Shay-Akil McLean, and Robin Nelson. 

    The statement was unanimously accepted by the AABA Executive Committee at its meeting on March 27, 2019 at the 88th Annual Meeting in Cleveland, Ohio.

    This statement has been published within the pages of the AJPA, volume 169, issue 3, pages 400-402. It is freely downloadable as a PDF file here.


    Executive Summary: AABA Statement on Race and Racism

    Race does not provide an accurate representation of human biological variation. It was never accurate in the past, and it remains inaccurate when referencing contemporary human populations. Humans are not divided biologically into distinct continental types or racial genetic clusters. Instead, the Western concept of race must be understood as a classification system that emerged from, and in support of, European colonialism, oppression, and discrimination. It thus does not have its roots in biological reality, but in policies of discrimination. Because of that, over the last five centuries, race has become a social reality that structures societies and how we experience the world. In this regard, race is real, as is racism, and both have real biological consequences.

    Humans share the vast majority (99.9%) of our DNA in common. Individuals nevertheless exhibit substantial genetic and phenotypic variability. Genome/environment interactions, local and regional biological changes through time, and genetic exchange among populations have produced the biological diversity we see in humans today. Notably, variants are not distributed across our species in a manner that maps clearly onto socially-recognized racial groups. This is true even for aspects of human variation that we frequently emphasize in discussions of race, such as facial features, skin color and hair type. No group of people is, or ever has been, biologically homogeneous or “pure.” Furthermore, human populations are not — and never have been — biologically discrete, truly isolated, or fixed.

    While race does not accurately represent the patterns of human biological diversity, an abundance of scientific research demonstrates that racism, prejudice against someone because of their race and a belief in the inherent superiority and inferiority of different racial groups, affects our biology, health, and well-being. This means that race, while not a scientifically accurate biological concept, can have important biological consequences because of the effects of racism. The belief in races as a natural aspect of human biology and the institutional and structural inequities (racism) that have emerged in tandem with such beliefs in European colonial contexts are among the most damaging elements in human societies.

    AABA Statement on Race and Racism

    Introduction

    The concept of race has developed hand-in-hand with racist ideologies over the last five centuries, and biological anthropology has played an important role in the creation and perpetuation of both the race concept and racist ideologies. Racist political doctrines should not receive support from scientific endeavors, but in practice racism has been co-constructed with inaccurate depictions of human variation provided by scientists. Over our history, the AAP/BA, and many of its members, have been complicit in producing and reifying racist ideologies via the misuse, falsification, or biased production of scientific information. We acknowledge this history and stress that we should not paper over it even as we seek to end these practices and prevent the reemergence of misconceptions about race in the future.

    While science is often represented as objective, apolitical, and unbiased, many ostensibly biological concepts of race have cultural stereotypes, biases, and ethnocentric views embedded within them. We acknowledge that outdated and inaccurate ideas about race, and racism, still inform scientific research today, and are sometimes embedded in what otherwise appears to be “modern,” technologically-advanced science. We stand against such practices.

    As scientists, we strive to eliminate the influences of bias, racial profiling, and other erroneous ways of thinking about human variation from our study designs, interpretations of scientific data, and reporting of research results. This is not simply due to concerns about how non-scientists use scientific research; it is also about how scientists themselves conceive, implement, analyze, and present their research. We offer this statement as a baseline for what we know about race and racism in order to help us do better science and better convey what we know about human biological variation to broader audiences.

    What race is and what it is not

    Racial categories do not provide an accurate picture of human biological variation. Variation exists within and among populations across the planet, and groups of individuals can be differentiated by patterns of similarity and difference, but these patterns do not align with socially-defined racial groups (such as whites and blacks) or continentally-defined geographic clusters (such as Africans, Asians, and Europeans). What has been characterized as “race” does not constitute discrete biological groups or evolutionarily independent lineages. Furthermore, while physical traits like skin color and hair texture are often emphasized in racial classification, and assumptions are often made about the pattern of genetic diversity relative to continental geography, neither follows racial lines. The distribution of biological variation in our species demonstrates that our socially-recognized races are not biological categories.

    While human racial groups are not biological categories, “race” as a social reality — as a way of structuring societies and experiencing the world — is very real. The racial groups we recognize in the West have been socially, politically, and legally constructed over the last five centuries. They developed in tandem with European colonial expansion and the emergence of American and European societies with well-documented histories of being shaped and structured by racial hierarchies, power inequities, economic exploitation, dispossession, displacement, genocide, and institutional racism. These practices are rooted in assumptions of innate, natural differences between Europeans and other peoples, and systems of racial classification are intimately tied to histories of European settler colonialism, empire, and slavery. Classifying human beings into different races has never been wholly innocent, unbiased, or apolitical; racial classification has long served to justify exploitation, oppression, discrimination, and structural racism. Notably, racial categories have changed over time, reflecting the ways that societies alter their social, political and historical make-ups, access to resources, and practices of oppression.  

    Documented patterns of human biological variation and the processes shaping it

    a) Genomic variation

    Humans share the vast majority (99.9%) of our DNA. Individuals nevertheless exhibit substantial genetic and phenotypic variability, including individuals in the same community. No group of people is, or ever has been, biologically homogeneous or “pure.” Furthermore, human populations are not — and never have been — biologically discrete, isolated, or static. Socially-defined racial categories do not map precisely onto genetic patterns in our species: genetic variability within and among human groups does not follow racial lines.

    Most genetic variants vary clinally, changing gradually across geographic space regardless of racial boundaries. We also see more genetic diversity in African and African diasporic populations than in other populations, and the genetic variants found outside Africa are largely a subset of those found within it. Moreover, diversity generally decreases in populations located further from Africa. Because the human lineage first emerged on the continent of Africa, longer population histories there allowed more genetic variation to accumulate in Africa, and repeated reductions in diversity occurred outside Africa as people dispersed and new populations were founded. Diversity patterns today also reflect subsequent migrations and genetic exchange, with geographic distance, topography, and sociopolitical forces all affecting the frequency/scope of interactions and the distribution of genetic variants in both cosmopolitan and non-cosmopolitan populations around the world. Natural selection and adaptation to local environments have influenced populations as well.

    Genetic ancestry tests can identify clusters of individuals based on patterns of genetic similarity and difference, but the particular clusters we infer depend on the individuals included in the analysis. Genetic ancestry tests also tend to equate present-day peoples and contemporary patterns of genetic variation with those that existed in the past, even though they are not identical. In this regard, ancestry tests often oversimplify and misrepresent the history and pattern of human genetic variation, and do so in ways that suggest more congruence between genetic patterns and culturally-defined categories than really exists.

    b) Physical variation

    Physical, or phenotypic, variation in our species reflects interactions between an individual’s genome and their environment. Genome/environment interactions and gene flow across our species produce the plethora of phenotypes we see in humans today, including traits such as skull morphology (head form, nose form, dental traits) and aspects of body form.

    Most phenotypic variation is continuous, and therefore understood in terms of the frequencies and distributions of traits. Adaptation, population history, and neutral evolutionary forces have all shaped the frequencies and distribution of the variation we observe today and in the past. Most traits are also polygenic (influenced by multiple genes, or loci), and our understanding of the genetics underlying them is incomplete.

    Environment plays an important role in structuring human phenotypic variation. Environment, in the broadest sense, refers to everything from the uterine environment to things like diet or air quality during growth and development, and throughout the life course. As one example, environmentally-specific ultraviolet radiation levels have played an essential role in driving the evolution of variation in human skin color. Furthermore, in addition to being correlated with environmental factors and geography, human phenotypic variation can be distributed within and across groups according to sex, age and even various local-level environments such as socioeconomic class or caste. 

    Because the environment generally changes gradually as latitude/longitude changes, most phenotypic variation in humans is clinally distributed across geographic space. As a result, human phenotypes vary in frequency across a range of populations, and are not simply present or absent by population or continent. This is true even for aspects of human variation that have been seen as closely associated with race, such as facial features, skin color and hair type. For example, skin color, a trait traditionally associated with racial categories, is a product of long-term evolution involving more than 37 genetic loci, local environmental factors, migrations and gene flow among populations. As such, skin color shows a clinal distribution that cannot be separated into disparate categories. Similar phenotypes have arisen in both closely and distantly related groups adapting to similar environments, including genetic variants for light skin pigmentation which have, for example, evolved both within and outside the continent of Africa.

    Like human genetic variation, phenotypic variation in our species does not follow racial lines. Race constitutes an arbitrary and artificial division of continuous variation, and thus does not provide an accurate representation of human phenotypic variation or population similarities and differences.

    c) The influence of human evolutionary history

    Both the genomic and phenotypic variation that exists in our species reflects the fact that all humans living today belong to a single species, Homo sapiens, and share common descent. Our genus (Homo) evolved between 2.5 and 3 million years ago in Africa, and migrated around and out of Africa by ~1.8 million years ago. Early Homo consisted of a number of different forms (possibly species), some of which overlapped in time and space, but all of which were clearly human (and not ape-like), with tool cultures and adaptations for highly proficient bipedal locomotion. Evidence suggests that early species such as Homo erectus, as proficient hunter gatherers, were functionally hairless, and presumably exhibited biological variation, including skin color variation, consistent with variation seen across the circumequatorial world today. Our species, Homo sapiens, arose through a complex process of migration, interaction, and gene exchange over the last few hundred thousand years or more. Genetic and morphological evidence suggest that gene flow occurred repeatedly among diverse populations in the Late Pleistocene; many of these lineages provided elements to our genetic make-up that were crucial to our success as a diverse, adaptable species. We are all, in essence, hybrids, with humanity emerging from many tangled lineages —lineages that cannot be separated into discrete units with clear reproductive barriers. Over human evolutionary history, genetic and phenotypic variation shows gradual and continuous distributions over geography (clines), shaped by adaptations to new environments that arose as a result of migration and gene flow.

    The dilemma of race and racism

    The groupings of people that exist in our species are socially-defined, dynamic, and continually evolving — amalgamations of socially- and biologically-interacting individuals with constantly-shifting boundaries, reflecting the myriad ways that individuals, families, and other clusters of people create ties, move, trade, mate, reproduce, and shift their social identities and affiliations through time. Race does not capture these histories or the patterns of human biological variation that have emerged as a result. Nor does it provide a clear picture of genetic ancestry. It does, however, reflect the legacy of racist ideologies, as well as the sociopolitical considerations, cultural identities, and social experiences prevalent in the eras during and since the start of European settler colonialism. Race should therefore be seen as a paradigm for sorting individuals and populations into units based on historical contexts and social, cultural, and political motives.

    While “race” is not biology, racism does affect our biology, especially our health and well-being. Racism is prejudice against someone because of their race in the context of a belief in the inherent superiority and inferiority of different racial groups, which is reinforced by institutional and historical structures. Interpersonal experiences of racism and structural racism include, but are not limited to, overt oppression, physical subjugation, dispossession or displacement, decreased access to health care, economic and educational discrimination, histories of segregation, and material deprivation. A substantial body of research demonstrates the many ways that racism can affect how our bodies, immune systems, and even our cognitive processes react and develop. This means that “race,” while not a scientifically accurate biological concept, can have important biological consequences because of the effects of racism. The belief in “races” as natural aspects of human biology, and the structures of inequality (racism) that emerge from such beliefs, are among the most damaging elements in the human experience both today and in the past.

    +
    +
    +
    +

    +Copyright © 2024 American Association of Biological Anthropologists.
    Site programming and administration: Ed Hagen, Department of Anthropology, Washington State University +

    +
    + + + + + + + diff --git a/sac/pages/birdfont-org b/sac/pages/birdfont-org new file mode 100644 index 0000000..6f6e4b5 --- /dev/null +++ b/sac/pages/birdfont-org @@ -0,0 +1,1503 @@ + + + + + Birdfont – A free font editor for TTF, OTF and SVG fonts + + + + + + + + + + + + + + +
    +
    +
    +
    + + Example of editing a font in Birdfont. + + +
    + + + + + + + +
    +
    +
    + +
    +

    BIRDFONT

    + +
    + Birdfont is a free font editor which lets you create vector graphics and export TTF, OTF + and SVG fonts. The editor has good support for both monochrome and color font formats. + + + +
    +
    +
    +
    + +
    +
    +
    +
    +

    Download

    +

    Installers and source code packages are available for Windows, Linux, Mac OS X and BSD. + Download BirdFont from this site. +

    +
    +
    +
    +
    + +
    +
    +
    +

    Support

    +

    + Your support for the Birdfont project is important. Even + small sums makes a huge difference. The income from this project + is used to fix bugs and implement new features with the aim + to provide an excellent font editor for everyone. Many hours are put + in to this project every month. +

    + +
    +

    Goal for March

    +
    +
    + +
     17%
    +
    +
    + +
    +

    Make a Donation

    +
    +

    $ USD

    + +
    +
    + +
    +

    Recent Donations

    + + + + + +
    Mar 12
    10.00 USD
    Mar 12
    10.00 USD
    Mar 11
    10.00 USD
    Mar 11
    10.00 USD
    +
    + +

    + You can also signup for a subscription if you want to support the project with a small amount each month. +

    +
    +
    +
    + +
    +
    +
    +

    Contact, Bugs & Help

    + +

    +
    +
    +
    + +
    +
    + +

    Development

    +

    BirdFont is developed by Johan Mattsson. The editor is written in Vala and has around 101 000 lines of code.

    + +

    + • Authors +

    + +
    +
    + +
    +
    +
    + +
    +

    There are many ways to create fonts with Birdfont. This is an advanced example using varable glyph properties.

    +

    Instructions

    +
    +
    + +
    +
    +
    +

    Fonts

    +

    + Discover fonts made with BirdFont and submit your own work. +

    +
    +
    +
    + +
    +
    +

    Release Notes

    + + + +
    + +
    +
    6.2
    +

    + • A ruler
    +

    +
    + +
    6.1
    +

    + • Better tools for navigation.
    + • Quick Glyph Switching: Swiftly switch to a specific glyph directly from the kerning tab, making glyph editing more intuitive and faster.
    + • Word Display in Editing View: The editing view can now display the last entire word from the kerning tab.
    + • Direct Glyph Jump: Jumping to a particular glyph in the editing view is now possible without navigating through the overview tab.
    +

    +
    + +
    6.0
    +

    + • New user interface
    + • Move canvas with middle mouse button
    + • Speed optimizations
    + • Bright and dark color themes are now available in gray scale
    + • Snap to guides with point editing tools
    + • Many bug fixes
    +

    +
    + +
    5.9.3
    +

    + • Bug fixes in the SVG parser
    +

    +
    + +
    5.9
    +

    + • New tab for managing new additional guides (overshoot etc.)
    + • Give mark classes names
    + • Capture mouse up outside of the window in zoom bar
    + • Fix import of SVG fonts from glyphrstudio
    +

    +
    + +
    5.8.0
    +

    + • Mark to base positioning of custom diacritical marks in the GPOS table.
    +

    +
    + +
    5.7.1
    +

    + • Multi master export for SVG font
    +

    +
    + +
    5.6.1
    +

    + • Multi master export for OTF font (cubic bezier curves)
    + • Many small improvements for variable fonts
    +

    +
    + +
    5.5.0
    +

    + • Export multiple static fonts from one variable master font (for example many weights)
    + • Clear recent files. Menu -> Clear Recent Files
    + • Bug fixes
    +

    +
    + +
    5.4.0
    +

    + • Allow all Unicode characters in font names, not just ASCII
    + • Bug fixes
    + • Run on Mac OS 14, Sonoma
    +

    +
    + +
    5.3.0
    +

    + • Better mono space support
    + • Support for generating multiple static styles from a variable font
    +

    +
    + +
    5.3.0
    +

    + • Better variable font support
    + • SVG import fix
    +

    +
    + +
    5.2.4
    +

    + • Bugs fixed: lsb - rsb updates, SVG imports, color alternates
    +

    +
    + +
    5.2
    +

    + • Make sure fonts work better in PDF files.
    + • New autobold settings that allows the designer to keep the sidebearings.
    +

    +
    + +
    5.0
    +

    + • Variable TTF fonts.
    + • A new tool for adjusting creating extremas (put handles on axis). Select a point and press e.
    + • Fix loading of OpenType SVG files.
    + • Fix outline stroke issues.
    +

    +
    + +
    4.31
    +

    + • Parse OpenType SVG fonts (TTF and OTF).
    + • Fix gradients in OpenType SVG fonts.
    +

    +
    + +
    4.30.11
    +

    + • Bug fixed in color fonts
    +

    +
    + +
    4.30
    +

    + • Anchor points for diacritical marks
    + • Bug fixed in ligature creation
    +

    +
    + +
    4.29
    +

    + • Insert letters with diacritical marks by pressing and holding down the key you want to show diacritics for.
    + • Updated SVG parser.
    + • Support for italic angle in metadata.
    + • Add support for setting width from SVG files in folder import.
    + • Fix bugs related to kerning.
    +

    +
    + +
    4.28
    +

    + • Bug fixes, better ligature creation and other small things.
    +

    +
    + +
    4.27
    +

    + • Improvements in SVG parser and color ligature creation.
    + • Add a keybinding for toggling background image on and off (k)
    + • Many bug fixes.
    +

    +
    + +
    4.26
    +

    + • Add support for exporting an entire folder with all selected glyphs as SVG files Menu -> Import and Export -> Export all selected glyphs as SVG
    + • Many bug fixes.
    +

    +
    + +
    4.25
    +

    + • Make it possible to store background images out side of the font file, this makes loading Birdfont files much faster.
    + • Fix high resolution icons in the tab bar.
    + • Fix a bug that made fonts with background files very big.
    +

    +
    + +
    4.24
    +

    + • New grid dialog.
    + • Fix copy and paste in the overview tab.
    +

    +
    + +
    4.23
    +

    + • A better way to browse the Unicode database.
    + • Many bug fixes.
    +
    + I wrote the first line of code in Birdfont on Jan 1 2012. Birdfont turns ten today. I celebrate the day by releasing version 4.23. Many thanks to all of you that bought and used the product! +

    +
    + +
    4.22.x
    +

    + • Bug fixes for the default glyphs in the overview tab.
    +

    +
    + +
    4.22
    +

    + • Many changes to ligature creation.
    +

    +
    + +
    4.21
    +

    + • Better kerning tab
    + • Improvements to ligature generation
    + • Bug fixes
    +

    +
    + +
    4.20
    +

    + • Support for randomized glyphs (OTF tag rand)
    + • Spacing class in menu
    + • Bug fixes
    +

    +
    + +
    4.19
    +

    + • Fix SVG import (Vectornator)
    + • Support gor oldstyle figures (OTF tag onum)
    +

    +
    + +
    4.17
    +

    + • Better handling of positioning very small details.
    + • Apply grid in circle tool.
    + • Flip COLR paths.
    + • Better size and position buttons.
    + • Use the bottom of a path to position it with the "Y" button (instead of the top), zero means that the shape is on the baseline.
    +

    +
    + +
    4.16
    +

    + • Update spacing when layer visibility changes
    +

    +
    + +
    4.15
    +

    + • Speed optimizations
    + • Fix undo issues
    + • Other bug fixes
    +

    +
    + +
    4.14
    +

    + • Better SVG parser (mainly for the Github Octicons)
    + • Other bug fixes
    + • Add a menu item for updating layer names (Menu → Layers → Rename Layer)
    + • Make it possible to set zoom from text input
    +

    +
    + +
    4.13
    +

    + • Bug fixes
    +

    +
    + +
    4.12
    +

    + • Show outlines instead of filled glyphs when you create circles and rectangles.
    + • Add a setting for changing the default width for new glyphs.
    + • An important bug fix in the TTF and OTF generator.
    +

    +
    + +
    4.10
    +

    + • Bug fixes, especially useful things if you are working with Adobe Illustrator but also many other small fixes.
    +

    +
    + +
    4.9
    +

    + • Moves selected objects in larger steps (Ctrl + arrow).
    + • Better SVG parser.
    + • A setting for the number of decimals in SVG fonts.
    +

    +
    + +
    4.8
    +

    + • A new tab for folder import of SVG images (batch import).
    + • Support for rectangles with rounded corners.
    + • Bug fixes related to ligature substitution in the kerning tab.
    +

    +
    + +
    4.7.17
    +

    + • Add the option to delete all kerning pairs in a font.
    + • Important bug fixes in the SVG parser.
    +

    +
    + +
    4.7
    +

    + • Add support for renaming glyphs (in the POST table).
    + • Add support for filtering glyphs. You can keep a small subset and delete all other characters.
    + • Bug fixes.
    +

    +
    + +
    4.6
    +

    + • An additional format for single stroke CNC (engraving) fonts (same way back).
    + • Bug fixes and updates for older operating systems.
    +

    +
    + +
    4.5.1
    +

    + • Single stroke paths for CNC machines.
    + • Unicode 13
    + • Four letter vendor ID
    +

    +
    + +
    4.3.0
    +

    + • Bug fixes and speed optimizations
    +

    +
    + +
    4.1.0
    +

    + • Many improvements to the overview tab
    +

    +
    + +
    4.0.0
    +

    + • Better spacing classes. It makes to kerning and spacing of your fonts easier.
    + • Smaller file size for OTF fonts.
    + • Many improvements to the underlying engine and plenty of bugfixes in all parts of the program.
    +

    +
    + +
    3.33.3
    +

    + • Solve problems in OpenType-SVG fonts.
    +

    +
    + +
    3.33.2
    +

    + • Fix SVG folder import.
    +

    +
    + +
    3.32.0
    +

    + • Better tools for editing COLR paths.
    +

    +
    + +
    3.31.0
    +

    + • Better SVG parsing. Support for the “use” tag in the SVG parser.
    +

    +
    + +
    3.30.2
    +

    + • Speed optimizations.
    + • Bug fixes.
    +

    +
    + +
    3.30.0
    +

    + • Support for aalt, a new OTF tag for alternates. Illustrator uses this feature.
    + • Additional vertical guides.
    +

    +
    + +
    3.29.3
    +

    + • Retain view and selected glyph when switching character set in the overview tab.
    + • Compare both monochrome and color glyph in the editing view.
    + • Make it possible to import a TTF or OTF glyph even if a Unicode value can't be found for it.
    + • Menu reorganization (view menu).
    +

    +
    + +
    3.28.1
    +

    + • Automatic backups.
    + • A new tab for creating ligatures.
    +

    +
    + +
    3.27.1
    +

    + • Edit COLR glyphs in Birdfont.
    + • Generate COLR fallback from SVG and vice versa.
    +

    +
    + +
    3.26.0
    +

    + • Support for a new color font format: COLR/CPAL.
    + • Visual feedback when fonts have been exported.
    + • Set a color as the forground color in COLR glyphs (the color will be selected by the user).
    +

    +
    + +
    3.25.0
    +

    + • Better strokes, use less points. Fix bevel and round line joins.
    + • Center glyphs vertically.
    +

    +
    + +
    3.24.1
    +

    + • Add stylistic set substitution, OTF tags ss01 – ss20.
    +

    +
    + +
    3.24
    +

    + • Enable comments in SVG file names for designers that imports all files in a folder.
    +

    +
    + +
    3.22
    +

    + • Add a customized character set to the overview tab.
    + • Center glyphs.
    +

    +
    + +
    3.21
    +

    + • Import and export large character sets in OTF fonts.
    +

    +
    + +
    3.20
    +

    + • Set width for all glyphs at the same time.
    + • Add support for adjusting line gap.
    + • Cut paths (Ctrl+X or Cmd+X).
    +

    +
    + +
    3.19.0
    +

    + • Fix OTF support (compatibility with After Effects).
    + • Support for adding new Unicode points.
    + • Show ligatures in search results.
    +

    +
    + +
    3.18.0
    +

    + • Bug fixes: grid, file dialog and special search terms in the Unicode Charater Database (UCD).
    +

    +
    + +
    3.17.0
    +

    + • Fixes for SVG files made with Illustrator.
    +

    +
    + +
    3.16.0
    +

    + • Theme color fixes.
    + • Fix resize tool.
    +

    +
    + +
    3.15.0
    +

    + • Customizable preview template (HTML).
    +

    +
    + +
    3.14.4
    +

    + • Speed optimizations of spacing classes.
    + • Bug fixes in OTF files on Mac.
    +

    +
    + +
    3.14.2
    +

    + • Better conversion from SVG to font.
    +

    +
    + +
    3.14.0
    +

    + • Round, bevel or miter line joins.
    +

    +
    + +
    3.12.12
    +

    + • Fix SVG import.
    +

    +
    + +
    3.12.0 (plus)
    +

    + • OTF support, OpenType Fonts with PostScript outlines.
    +

    +
    + +
    3.11.0
    +

    + • A good number of bug fixes.
    + • New file extension: .birdfont replaces .bf. You can still open your font in + older versions of the editor if you change the extention to .bf.
    +

    +
    + +
    3.9.0
    +

    + • Adjust underline thickness and position in a font.
    + • Run faster on Windows.
    + • Export large (CJK) fonts.
    + • Fix parsing of TTF fonts.
    +

    +
    + +
    3.8.3
    +

    + • Add support for input with Cyrillic keyboards and other character sets.
    + • Fix ligature encoding.
    + • Use native file dialog on Windows 10.
    +

    +
    + +
    3.7.1
    +

    + • Make sure fonts pass validation in Font Book.
    +

    +
    + +
    3.6.6
    +

    + • Fix stroke export.
    +

    +
    + +
    3.6.2
    +

    + • Fix parsing of CSS data in SVG files
    + • Updated Unicode Character Database (ucd)
    +

    +
    + +
    3.5.0
    +

    + • Fix Illustrator import +

    +
    + +
    3.4.6 (plus)
    +

    + • Color font support for Edge +

    +
    + +
    3.4.1
    +

    + • Support for Arabic scripts +

    +
    + +
    3.2.2 (plus)
    +

    + • Color fonts +

    +
    + +
    3.1.0
    +

    + • Better SVG import +

    +
    + +
    2.19.0
    +

    + • Larger number of kerning pairs is supported in the GPOS table (LookupType 9: Extension Positioning). +

    +
    + +
    2.18.3
    +

    + • HiDPI support on Windows and bugfixes. +

    +
    + +
    2.16.9
    +

    + • Change writing direction to RTL (right to left) in kerning tab
    + • Bug fixes
    +

    +
    + +
    2.16
    +

    + • New freehand tool
    + • Rotate objects and point handles with 45 degree steps
    + • Bug fixes
    +

    +
    + +
    2.15
    +

    + • Speed opimizations
    +

    +
    + +
    2.14
    +

    + • Improved vertical metrics in TTF fonts
    + • Sandbox support on Mac OS
    + • Bug fixes
    +

    +
    + +
    2.13
    +

    + • More descriptive fields in TTF fonts (license, designer, URL etc.)
    + • Stylistic alternates (OpenType feature tag: salt)
    + • Small Caps (OpenType feature tag: scmp)
    + • Capitals to Small Caps (OpenType feature tag: c2sc)
    + • Swashes (OpenType feature tag: swsh)
    + • Parse circles, ellipses and lines in SVG files
    +

    +
    + +
    2.12
    +

    + • Support for high resolution screens
    +

    +
    + +
    2.11
    +

    + • Lock grid and guides
    + • Merge overlapping regions
    + • Bug fixes in the TTF generator
    +

    +
    + +
    2.10
    +

    + • Layers
    + • Mac specific TTF fonts (fixes fontbook problems)
    +

    +
    + +
    2.9
    +

    + • Fallback font with support for many languages
    + • Faster GUI
    +

    +
    + +
    2.8
    +

    + • Speed optimization in font export
    + • Faster search queries in the Unicode Data Base
    + • Better parsing of SVG files generated with Illustrator
    + • Dialog for importing a folder with SVG files
    +

    +
    + +
    2.7
    +

    + • Stroke
    + • Round line caps
    + • Bug fixes
    +

    +
    +
    + +
    +
    2.6
    +

    + • Bright and dark color themes
    + • A tool box for the recent files tab
    +

    +
    + +
    2.5
    +

    + • Export settings
    + • Curve orientation
    +

    +
    + +
    2.4
    +

    + • Contextual ligature substitution
    + • Kerning strings
    +

    +
    + +
    2.3
    +

    + • Customizable color themes and better icons
    + • High contrast settings for better readability
    + • Fixes for problems in TTF creation and other bugs
    +

    +
    + +
    2.2
    +

    + • Customizable guides
    + • Bug fixes and many small UI improvements
    +

    +
    + +
    2.1
    +

    + • A new spacing tab
    + • Improved Beziér editing
    + • Side bearing metrics in edit view
    + • Key bindings for zoom in and zoom out in kerning tab
    + • Bug fixes
    +

    +
    + +
    2.0
    +

    + • New UI layout
    + • New zoom tool
    + • Improved background import
    + • Customizable short cuts
    + • New tab for changing font name
    + • Better Illustrator SVG import and other bug fixes
    + • Load bf fonts faster
    +

    +
    + +
    1.9
    +

    + • Fix compatibility with Inkscape
    + • Bug fixes.
    +

    +
    + +
    1.8
    +

    + • A new Beziér drawing tool
    + • Move paths independent from handles or along handles.
    + • Bug fixes
    +

    +
    + +
    1.7
    +

    + • Fixes a critical spacing bug and bugs in the drawing canvas.
    +

    +
    + +
    1.6
    +

    + • Ligature substitution, (Open Type Feature, GSUB table)
    + • Input characters by unicode value in kerning tab
    +

    +
    + +
    1.5
    +

    + • Bug fixes
    + • A new XML parser
    +

    +
    + +
    1.4
    +

    + • Bug fixes
    + • A complete Czech translation
    +

    +
    + +
    1.3
    +

    + • A bug fix
    +

    +
    + +
    1.2
    +

    + • Bug fixes
    + • Generate fonts compatible with Microsoft Word on Mac OS
    + • Command line utility for autotracing images (birdfont-autotrace)
    +

    +
    + +
    1.1
    +

    + • Bug fixes and minor GUI improvements.
    +

    +
    + +
    1.0
    +

    + • Autotrace – convert raster images to vector fonts.
    + • Simplify paths. Deleteing points reduces the number of control points while + still keeping the same approximate path. Use Ctrl+Del to break the paths.
    + • Spacing classes that copies side bearings and kerning pairs from one glyph + to another. This feature makes it easier to create fonts with only upper + case characters as well as mono spaced fonts.
    + • Copy and paste multiple glyphs in the overview tab.
    + • Redo command
    +

    +
    + +
    0.47
    +

    + • Oblique and italic transformation
    + • Improved overview tab
    + • Compability with CS6
    +

    +
    + +
    0.46
    +

    + • Copy and paste side bearings
    + • Support for many more languages including Japanese with CMAP format 12.
    + • Tools for adjusting side bearings in the kerning tab
    + • A tool for moving objects to the baseline
    + • A spin buttons for moving objects to a specific coordinate, rotating objects and resizing paths.
    + • Bug fixes
    +

    +
    + +
    0.45
    +

    + • A bug fix for quadratic control points in TTF files.
    +

    +
    + +
    0.44
    +

    + • Better conversion from SVG to TTF
    +

    +
    + +
    0.43
    +

    + • Fixes a TTF export bug
    +

    +
    + +
    0.42
    +

    + • Parse transform directive in SVG import.
    + • A new command line utility that makes it possible to import a set of SVG files to a bf font file (birdfont-import).
    + • Crop rotaded and resized images.
    + • Better conversion from SVG files to TTF fonts.
    + • Important bug fixes.
    + • Load, save and export fonts in background threads.
    + • Faster TTF export
    + • Improved preview tab on Windows
    +

    +
    + +
    0.41
    +

    + • Retain the angle of a control point handle while adjusting the length
    + • Parse round corners and stroke endings in SVG files
    + • Fixes bugs in the SVG import code and elsewhere in order to improve
    + compability with potrace and Illustrator
    + • Delete and undo for kerning pairs
    + • Complete Ukrainian and Spanish translations
    +

    +
    + +
    0.40
    +

    + • Bug fixes
    +

    +
    + +
    0.39
    +

    + • Bug fixes in the kerning code
    +

    +
    + +
    0.38
    +

    + • Many bugs and memory leaks have been fixed in this version
    +

    +
    + +
    0.37
    +

    + • Font size settings in the kerning tab
    + • A new SVG parser
    + • Compatibility with many Microsoft Windows applications
    + • Bug fixes
    +

    +
    + +
    0.36
    +

    + • Paste letters in the kerning tab
    + • Settings for the freehand tool
    + • Bug fixes
    +

    +
    + +
    0.35
    +

    + • A new tool for drawing freehand shapes with the mouse
    + • Bug fixes related to conversion from SVG to TTF
    + • Fixes crash bug in SVG import code
    +

    +
    + +
    0.34
    +

    + • This release solves kerning issues and other problems.
    +

    +
    + +
    0.33
    +

    + • Import background images on new versions of Mac OS X and bug fixes.
    +

    +
    + +
    0.32
    +

    + • Touch screen friendly interface
    + • New tools for adding and moving control points
    + • Icons in 320 dpi
    + • French translation
    + • Bug fixes
    +

    +
    + +
    0.31
    +

    + • Bug fixes in the Linux version
    +

    +
    + +
    0.30
    +

    + • Bug fixes
    +

    +
    + +
    0.29
    +

    + • Groups of paths and control points
    + • Speed optimizations
    + • Bold and italic styles
    + • Bug fixes
    + • TTF units
    + • Paste in place and paste at cursor
    +

    +
    + +
    0.28
    +

    + • Kerning classes
    + • Copy and paste paths between windows
    +

    +
    + +
    0.27
    +

    + • Rotate paths
    + • Flip path
    + • Convert segments to lines
    + • Symmetrical control points
    + • Use glyphs as backgrounds
    +

    +
    + +
    0.26
    +

    + • Bug fixes in the Mac OS X version
    +

    +
    + +
    0.25
    +

    + • Bug fixes
    +

    +
    + +
    0.24
    +

    + • New overview tab
    + • Two control point handles for quadratic paths
    + • Better conversion from SVG to TTF
    + • Bug fixes +

    +
    + +
    0.23
    +

    + • Bugfixes +

    +
    + +
    0.22
    +

    + • Bug fixes and many changes to make BirdFont run on Mac OS X + with a native window. +

    +
    + +
    0.21
    +

    + • Bug fixes +

    +
    + +
    0.20
    +

    + • Descriptive fields in TTF fonts (version number and name)
    + • Kerning for both Chrome and Firefox
    + • Read TTF font instead of SVG font in html template
    + • Bugfixes
    + • Improved translations
    +

    +
    + +
    0.19
    +

    + • Descriptions from the Unicode Character Database
    + • A new file format is introduced (.bf replaces .ffi)
    + • Bug fixes
    + • Two quadratic points with a hidden point in between creates a quadratic path with two line handles.
    + • Quadratic points is now the default
    + • Scrollbar
    + • TTF export on Mac OS X
    + • French translation
    +

    +
    + +
    0.18
    +

    + • Bug fixes +

    +
    + +
    0.17
    +

    + • Macports validation +

    +
    + +
    0.16
    +

    + • Correct location in ID loadcommand for Macports +

    +
    + +
    0.15
    +

    + • Macports file +

    +
    + +
    0.14
    +

    + • Bug fixes
    +

    +
    + +
    0.13
    +

    + • Quadratic Bézier paths
    + • Edit SVG fonts
    + • Open OTF and TTF fonts with freetype2
    + • Open Type kerning (GPOS pair adjustment positioning subtable)
    + • Bug fixes
    + • Spanish translation
    + • Russian translation
    + • Italian translation
    + • Brasilian Portuguese translation
    +

    +
    + +
    0.12
    +

    + • Bug fixes and updated test suit
    +

    +
    + +
    0.11
    +

    + • Bug fixes
    +

    +
    + +
    0.10
    +

    + • Bug fixes
    + • Backup and crash recovery
    + • Move paths with keyboard
    + +

    +
    + +
    0.9
    +

    + • Color
    + • Adjustable control point size
    + • Select all path
    + • Resize all selected paths
    + • Import SVG files from Inkscape and Adobe Illustrator
    + • Move control points with keyboard
    + • Join paths
    + • Bugfixes
    + • German translation
    + • Chinese translation
    +
    +

    +
    + +
    0.8
    +

    + • Copy and paste paths from Inkscape
    + • Export SVG files
    + • New build system on top of Eduardo Schettinos doit
    + • Dutch translation by Sven Santegoeds
    +

    +
    + +
    0.7
    +

    + • New icons
    + • Bugfixes
    + • Menu
    + • Internationalization
    +

    +
    + +
    0.6
    +

    + • Improved TrueType outlines
    + • Resize paths
    +

    +
    + +
    0.5
    +

    + • Move multiple control points
    + • Draw path from both ends
    + • New edit commands
    + • Man pages
    +

    +
    + +
    0.4.1
    +

    + • Bug fixes
    +

    +
    + +
    0.4.0
    +

    + • Larger control points
    + • Crop background updates position of the image
    + • Undo command for background images
    + • Faster multithreaded export
    + • Juxtapose glyphs and draw every glyph in it's context
    + • New .notdef character
    + • New tab bar
    +
    +

    + +
    0.3.0
    +

    + • Embedded OpenType (EOT) support
    + • Utility for exporting fonts from the command line (birdfont-export)
    + • Rotate, scale and crop background images
    + • New key bindings
    +
    +

    + +
    0.2.0
    +

    + • TTF support
    + • Desktop file and icon
    + • Merge paths
    + • Wine support
    +
    +

    +
    + +
    0.1.1
    +

    + • Several important bug fixes +

    +
    + +
    0.1.0
    +

    + • First release +

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Contact:
    johan.mattsson.m at gmail.com

    +

    Privacy Policy: About Your Data

    +
    +
    +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/sac/pages/books-constantvzw-org-fr b/sac/pages/books-constantvzw-org-fr new file mode 100644 index 0000000..5fcd635 --- /dev/null +++ b/sac/pages/books-constantvzw-org-fr @@ -0,0 +1,367 @@ + + + + + + + + + + + Books with an attitude | Accueil + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    Des Livres avec du Tempérament sont des livres publiés par Constant, créés en utilisant des logiciels 100% Free, Libres et Open Source, et distribués sous une license libre. Voilà pourquoi ils méritent le sceau de ’Livres avec du Tempérament’.
    +Une série des textes sont aussi disponibles comme fichiers de texte sur Verlag, en vous invitant à les réutiliser pour d’autres oeuvres.

    +
    +

    Livre à la une

    +
    +
    + +
    The Techno-Galactic Guide to Software Observation
    +
    +
    +

    2018

    +

    Session de Travail

    +

    The Techno-Galactic Guide to Software Observation

    +

    De Techno-Galactische Gids voor Software Observatie verzamelt methodes die werden ontwikkeld tijdens de Techno-Galactic Software Observatory, een werksessie die plaatsvond in juni 2017. De publicatie werd collectief geredigeerd door Carlin Wing, Martino Morandi, Peggy Pierrot, Anita Burato, Michael Murtaugh, Femke Snelting, Seda Gürses en ontworpen door Christoph Haag.

    +
    +
    +
    +

    Catalogue

    +
    + + +
      +
    • + + Tous +
    • +
    • Projects
    • +
    • Session de Travail
    • +
    • Verbindingen/Jonctions
    • +
    • Projets
    • +
    • Algolit
    • +
    • Death of the authors
    • +
    +
      +
    • + +
      Reclaiming Digital Infrastructures
      +
      +

      2021

      +

      Reclaiming Digital Infrastructures

      +
      +
    • +
    • + +
      Alchorisma
      +
      +

      2021

      +

      Alchorisma

      +
      +
    • +
    • + +
      DiVersions
      +
      +

      2021

      +

      DiVersions

      +
      +
    • +
    • + +
      Reclaiming Digital Infrastructures
      +
      +

      2021

      +

      Reclaiming Digital Infrastructures

      +
      +
    • +
    • + +
      Iterations
      +
      +

      2020

      +

      Iterations

      +
      +
    • +
    • + +
      Constant_V catalogue
      +
      +

      2019

      +

      Constant_V catalogue

      +
      +
    • +
    • + +
      Data Workers
      +
      +

      2019

      +

      Data Workers

      +
      +
    • +
    • + +
      DiVersions
      +
      +

      2019

      +

      DiVersions

      +
      +
    • +
    • + +
      Networks of Ones Own #1 : Etherbox
      +
      +

      2018

      +

      Networks of Ones Own #1 : Etherbox

      +
      +
    • +
    • + +
      The Techno-Galactic Guide to Software Observation
      +
      +

      2018

      +

      The Techno-Galactic Guide to Software Observation

      +
      +
    • +
    • + +
      Xavan et Jaluka
      +
      +

      2018

      +

      Xavan et Jaluka

      +
      +
    • +
    • + +
      Cyberfeminisme / Cyberf&eacute;minisme
      +
      +

      2017

      +

      Cyberfeminisme / Cyberféminisme

      +
      +
    • +
    • + +
      Machine Research
      +
      +

      2017

      +

      Machine Research

      +
      +
    • +
    • + +
      Cqrrelations
      +
      +

      2016

      +

      Cqrrelations

      +
      +
    • +
    • + +
      Frankenstein Revisited
      +
      +

      2016

      +

      Frankenstein Revisited

      +
      +
    • +
    • + +
      Mondotheque::a radiating book
      +
      +

      2016

      +

      Mondotheque::a radiating book

      +
      +
    • +
    • + +
      Peggy: Un Objet en Commun
      +
      +

      2016

      +

      Peggy: Un Objet en Commun

      +
      +
    • +
    • + +
      Promiscuous Pipelines
      +
      +

      2016

      +

      Promiscuous Pipelines

      +
      +
    • +
    • + +
      Are You Being Served?
      +
      +

      2015

      +

      Are You Being Served?

      +
      +
    • +
    • + +
      Conversations
      +
      +

      2015

      +

      Conversations

      +
      +
    • +
    • + +
      Spreekt U Sint-Gillis? Parlez-vous Saint-Gillois?
      +
      +

      2015

      +

      Spreekt U Sint-Gillis? Parlez-vous Saint-Gillois?

      +
      +
    • +
    • + +
      The Death of the Authors, 1941
      +
      +

      2013

      +

      The Death of the Authors, 1941

      +
      +
    • +
    • + +
      Woorden uit de Berenkuil / Mots de la Cage aux Ours
      +
      +

      2012

      +

      Woorden uit de Berenkuil / Mots de la Cage aux Ours

      +
      +
    • +
    • + +
      By Data We Mean
      +
      +

      2011

      +

      By Data We Mean

      +
      +
    • +
    • + +
      CIAO/Tot Later
      +
      +

      2011

      +

      CIAO/Tot Later

      +
      +
    • +
    • + +
      Openbaar Schrijver
      +
      +

      2011

      +

      Openbaar Schrijver

      +
      +
    • +
    • + +
      Puerto Livre de Cuisine
      +
      +

      2011

      +

      Puerto Livre de Cuisine

      +
      +
    • +
    • + +
      Tracks in electr(on)ic fields &middot; Empreintes dans les champs &eacute;lectr(on)iques &middot; Sporen in het elektr(on)ische veld
      +
      +

      2009

      +

      Tracks in electr(on)ic fields · Empreintes dans les champs électr(on)iques · Sporen in het elektr(on)ische veld

      +
      +
    • +
    +
    + + + +
    + +

    Website: Sarah Garcin

    + +
    + + + + + + + diff --git a/sac/pages/code-gouv-fr-sill-list b/sac/pages/code-gouv-fr-sill-list new file mode 100644 index 0000000..d0f99ca --- /dev/null +++ b/sac/pages/code-gouv-fr-sill-list @@ -0,0 +1 @@ +Le socle interministériel de logiciels libres est un ensemble de logiciels libres préconisés par l'État français depuis 2013.Socle Interministériel des Logiciels Libres
    \ No newline at end of file diff --git a/sac/pages/code-larlet-fr-javascript b/sac/pages/code-larlet-fr-javascript new file mode 100644 index 0000000..44c528e --- /dev/null +++ b/sac/pages/code-larlet-fr-javascript @@ -0,0 +1,1797 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Généralités - Code.larlet.fr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +
    + +
    + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + +

    JavaScript⚓︎

    +

    Raccourci pour sélectionner une liste de nœuds⚓︎

    +

    🐣 2022-08

    +

    La méthode standard qui consiste à utiliser querySelectorAll() +est relativement verbeuse et ne permet pas de faire facilement un +forEach() dessus. Cette version simplifiée est un raccourci utile +lorsqu’on doit le faire souvent :

    +
    qsa.js
    1
    +2
    +3
    function qsa(selector, root = document) {
    +  return Array.from(root.querySelectorAll(selector)) // (1)!
    +}
    +
    +
      +
    1. On en profite pour retourner un Array !
    2. +
    +

    Récupérer la chaîne de l’ancre d’une URL⚓︎

    +

    🐣 2022-08

    +

    Je passe toujours trop de temps à retrouver comment faire.

    +
    anchor.js
    1
    +2
    +3
    function currentAnchor() {
    +  return document.location.hash ? document.location.hash.slice(1) : ''
    +}
    +
    +

    Prendre en compte les préférences utilisateur·ice pour lancer une animation⚓︎

    +

    🐣 2022-08

    +

    Très important car des personnes sont mal à l’aise avec certaines +animations (j’en fait partie, parfois).

    +
    motion.js
    1
    +2
    +3
    +4
    +5
    +6
    +7
    const prefersReducedMotion = window.matchMedia(
    +  '(prefers-reduced-motion: reduce)'
    +).matches
    +
    +if (prefersReducedMotion !== true) {
    +  // do animation
    +}
    +
    +

    Voir aussi ce qu’il est possible de faire en HTML et en CSS.

    +

    Raccourci pour créer/attacher un évènement⚓︎

    +

    🐣 2022-08

    +

    Un bout de code qui vient de Chris Ferdinandi +(voir 1, 2 et 3) :

    +
    emit.js
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    function emit(type, detail, elem = document) {
    +  let event = new CustomEvent(type, {
    +    bubbles: true,
    +    cancelable: true,
    +    detail: detail,
    +  })
    +  return elem.dispatchEvent(event)
    +}
    +
    +

    Il peut s’utiliser ainsi +emit('calculator:add', {total: 20}, calendarElement) +et s’écouter de manière classique.

    +

    Polyfills à la demande⚓︎

    +

    🐣 2022-08

    +

    Il est possible d’importer des polyfills externes directement +depuis une balise <script>, par exemple pour +Promise ou fetch :

    +
    polyfills.html
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    <script>
    +  window.Promise ||
    +    document.write(
    +      '<script src="https://unpkg.com/es6-promise@4.2.8/dist/es6-promise.auto.min.js"><\/script>'
    +    )
    +  window.fetch ||
    +    document.write(
    +      '<script src="https://unpkg.com/whatwg-fetch@3.6.2/dist/fetch.umd.js"><\/script>'
    +    )
    +</script>
    +
    +

    En pratique, c’est quand même mieux de ne pas faire des requêtes +externes et d’avoir les fichiers en local.

    +

    Copier dans le presse-papier⚓︎

    +

    🐣 2022-08

    +

    Lorsqu’il y a un champ avec un code ou une URL à copier-coller, ça peut +être intéressant de proposer à l’utilisateur·ice de cliquer pour mettre +l’information dans son presse-papier et le coller ailleurs.

    +
    copy-clipboard.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    function copyToClipboard(codeElement, alert) {
    +  try {
    +    navigator.clipboard.writeText(codeElement.innerText)
    +    alert.innerHTML = `<div class="custom-class">Code copied!</div>`
    +    setTimeout(() => {
    +      alert.innerHTML = ''
    +    }, 3000) // (1)
    +  } catch (ex) {
    +    alert.innerHTML = ''
    +  }
    +}
    +
    +
      +
    1. Vous pouvez adapter cette valeur qui correspond au temps d’affichage + de l’information (en millisecondes).
    2. +
    +

    Confirmation de suppression⚓︎

    +

    🐣 2022-08

    +

    La façon la plus simple d’ouvrir une popup de confirmation.

    +
    delete-confirmation.js
    1
    +2
    +3
    +4
    +5
    +6
    +7
    function deleteConfirmation(event) {
    +  if (window.confirm('Are you sure you want to delete this?')) {
    +    return
    +  } else {
    +    event.preventDefault()
    +  }
    +}
    +
    +
    +

    Fermeture automatique

    +

    Notez qu’à force de recevoir des notifications, les utilisateur·ices +sont promptes à fermer une fenêtre, aussi rouge soit-elle. +Il peut-être pertinent de demander une confirmation qui demande de +saisir quelque chose comme le fait Github lorsqu’on supprime un +dépôt (il faut taper le nom complet du dépôt concerné).

    +
    +

    Générer un slug⚓︎

    +

    🐣 2022-08

    +

    Pour transformer un titre en français en une portion d’URL par exemple. +Adapté depuis cet article.

    +
    slugify.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    function slugify(str) {
    +  const a =
    +    'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
    +  const b =
    +    'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
    +  const p = new RegExp(a.split('').join('|'), 'g')
    +
    +  return str
    +    .toString()
    +    .toLowerCase()
    +    .replace(/\s+/g, '-') // Replace spaces with -
    +    .replace(p, (c) => b.charAt(a.indexOf(c))) // Replace special characters
    +    .replace(/’/g, "'") // Turn apostrophes to single quotes
    +    .replace(/[^a-zA-Z0-9-']+/g, '') // Remove all non-word characters except single quotes
    +    .replace(/--+/g, '-') // Replace multiple - with single -
    +    .replace(/^-+/, '') // Trim - from start of text
    +    .replace(/-+$/, '') // Trim - from end of text
    +}
    +
    +

    Un système de plugins⚓︎

    +

    🐣 2022-08

    +

    Ce fragment est issu de ce qu’à fait Simon Willison +pour Datasette, aidé par Matthew Somerville.

    +
    plugins.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    var datasette = datasette || {}
    +datasette.plugins = (() => {
    +  var registry = {}
    +  return {
    +    register: (hook, fn) => {
    +      registry[hook] = registry[hook] || []
    +      registry[hook].push(fn)
    +    },
    +    call: (hook, args) => {
    +      var results = (registry[hook] || []).map((fn) => fn(args || {}))
    +      return results
    +    },
    +  }
    +})()
    +
    +

    Il s’utilise ensuite ainsi :

    +
    1
    +2
    +3
    datasette.plugins.register('numbers', ({a, b}) => a + b)
    +datasette.plugins.register('numbers', o => o.a * o.b)
    +datasette.plugins.call('numbers', {a: 4, b: 6})
    +
    +

    Paramètres par défaut⚓︎

    +

    🐣 2022-08

    +

    Il est possible de définir des paramètres par défaut en utilisant la syntaxe suivante :

    +
    parameters.js
    1
    +2
    +3
    function checkName({ name = 'Castor' } = {}) {
    +  console.log({ name })
    +}
    +
    +

    Il est aussi possible d’avoir un comportement similaires aux **kwargs en Python grâce au rest parameter :

    +
    parameters-kwargs.js
    1
    +2
    +3
    function checkNameWithKwargs({ name = 'Pollux', ...kwargs } = {}) {
    +  console.log({ name, ...kwargs })
    +}
    +
    +

    Cela nécessite d’appeler la fonction avec un objet (ce qui pourrait être une bonne pratique ?).

    +
    checkNameWithKwargs({name: 'Télaïre', tessiture:'soprano'})
    +
    +

    Télécharger un fichier dynamiquement⚓︎

    +

    🐣 2022-09

    +

    Parfois, on veut pouvoir télécharger un fichier généré dynamiquement en JavaScript, par exemple ici pour transformer un tableau en un export CSV (la récupération des données n’est pas montrée).

    +
    download-file.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    function downloadAsCSV(event) {
    +  event.preventDefault()
    +  const content = 'foo;bar' // (1)!
    +  const name = 'baz_quux'
    +  const filename = `export_${new Date().toLocaleDateString()}_${name}.csv` // (2)!
    +  const csvFile = new Blob([content], { type: 'text/csv' }) // (3)!
    +  const fakeDownloadLink = document.createElement('a') // (4)!
    +  fakeDownloadLink.download = filename // (5)
    +  fakeDownloadLink.href = window.URL.createObjectURL(csvFile) // (6)!
    +  fakeDownloadLink.style.display = 'none'
    +  document.body.appendChild(fakeDownloadLink)
    +  fakeDownloadLink.click() // (7)!
    +  fakeDownloadLink.remove()
    +}
    +
    +
      +
    1. Le contenu souhaité du fichier à aller récupérer par ailleurs
    2. +
    3. C’est toujours intéressant d’avoir la date dans des fichiers d’export
    4. +
    5. Création d’un Blob simulant le fichier
    6. +
    7. Création du faux lien qui va nous servir à simuler le téléchargement
    8. +
    9. Utilisation de l’attribut download qui permet de donner un nom au fichier téléchargé
    10. +
    11. Création d’une URL contenant le contenu du fichier
    12. +
    13. Simulation du clic avant la suppression de l’élément pour lancer le téléchargement
    14. +
    +

    Enlever des espaces⚓︎

    +

    🐣 2022-09

    +

    Il est très courant de vouloir enlever des espaces et sauts de lignes (depuis un element.textContent par exemple).

    +
    strip-extra-spaces.js
    const stripExtraSpaces = (str) => str.replace(/\r?\n|\r|\s\s+/g, '')
    +
    +

    Avoir une méthode range()⚓︎

    +

    🐣 2022-11

    +

    Un moyen d’avoir une méthode range() qui ait le même comportement qu’en Python, décrite en détail par Kieran Barker et adaptée par Chris Ferdinandi.

    +
    range.js
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    function range(stop, start = 1, step = 1) {
    +  return Array.from(
    +    { length: (stop - start) / step + 1 },
    +    (_, i) => start + i * step
    +  )
    +}
    +// range(5) => [ 1, 2, 3, 4, 5 ]
    +// range(10, 8) => [ 8, 9, 10 ]
    +// range(10, 1, 3) => [ 1, 4, 7, 10 ]
    +
    +

    Avoir une méthode zip()⚓︎

    +

    🐣 2022-11

    +

    Un vieux truc que j’avais récupéré sur StackOverflow qui est quasiment un équivalent de la méthode zip() en Python.

    +
    zip.js
    1
    +2
    +3
    +4
    function zip(rows) {
    +  return rows[0].map((_, index) => rows.map((row) => row[index]))
    +}
    +// zip([['foo', 'bar'], [1, 2]]) => [['foo', 1], ['bar', 2]]
    +
    +

    Utiliser des loggers personnalisés⚓︎

    +

    🐣 2022-11

    +

    Il est possible de définir ses propres loggers pour s’y retrouver plus facilement dans la console. +C’est notamment utile si vous faites une lib ou un module réutilisable.

    +
    logger.js
    1
    +2
    +3
    +4
    +5
    function logger(scope, level = 'log', color = 'green') {
    +  return (...args) => {
    +    console[level]('%c%s', `color:${color}`, scope, ...args)
    +  }
    +}
    +
    +

    Cela peut s’utiliser ensuite ainsi (très adaptable en fonction de votre sensibilité) :

    +
    1
    +2
    +3
    const log = logger('myapp')
    +const logerr = logger('myapp', 'error', 'red')
    +const logdev = logger('myapp', 'debug', 'blue')
    +
    +

    Et puis dans votre code enfin :

    +
    1
    +2
    +3
    log('page initialized')
    +logerr('oops')
    +logdev('wtf')
    +
    +

    Je vous laisse vous amuser dans la console :).

    +

    🐫 Du camel au kebab⚓︎

    +

    🐣 2022-11

    +

    Toute petite fonction mais bien pratique pour convertir des noms de variables en data-attributes par exemple !

    +
    camel-to-kebab.js
    1
    +2
    +3
    function camelToKebab(s) {
    +  return s.replace(/[A-Z]/g, (s) => '-' + s.toLowerCase())
    +}
    +
    +

    Raccourcis pour les attributs⚓︎

    +

    🐣 2022-11

    +

    Et là vous allez comprendre pourquoi la précédente fonction était utile.

    +
    attributes.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    function attr(el, name, value = undefined) {
    +  const curValue = el.getAttribute(name)
    +  if (typeof name === 'object') {
    +    for (const at in name) {
    +      el.setAttribute(camelToKebab(at), name[at]) // (1)!
    +    }
    +    return null
    +  } else if (value === undefined) return el.getAttribute(name)
    +  else if (value === null) return el.removeAttribute(name), curValue
    +  else return el.setAttribute(name, value), value
    +}
    +
    +
      +
    1. Nécessite la fonction camelToKebab() définie juste au-dessus.
    2. +
    +

    Cela s’utilise ainsi :

    +
    1
    +2
    +3
    +4
    +5
    attr(el, 'foo') // récupère l’attribut `foo` de `el`
    +attr(el, 'bar', 'baz') // l’attribut `bar` passe à `baz`
    +attr(el, 'quux', null) // retrait de l’attribut `quux`
    +attr(el, [ dataFoo: 'valueBar', dataBaz: 'valueQuux' ])
    +// set l’attribut `data-foo` à `valueBar` et `data-baz` à `valueQuux`
    +
    +

    Chargement lorsque le DOM est prêt⚓︎

    +

    🐣 2022-11

    +

    Il y pas mal de façon de le faire mais ça revient un peu toujours au même. +J’aime bien que ce soit explicite et que ça prenne soin de retirer l’écouteur de l’évènement à la fin.

    +
    dom-ready.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    function onload() {
    +  // An example of what you might want to do:
    +  var root = document.documentElement
    +  root.classList.remove('no-js')
    +
    +  // Do something!
    +
    +  // Clean up
    +  document.removeEventListener('DOMContentLoaded', onload)
    +}
    +
    +if (document.readyState != 'loading') {
    +  onload()
    +} else {
    +  document.addEventListener('DOMContentLoaded', onload)
    +}
    +
    +

    Stocker des informations dans l’URL⚓︎

    +

    🐣 2023-01

    +

    Une façon de stocker des données ou un état dans un hash d’URL partagée par Scott Antipa.

    +
    store-in-url.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    const stateString = JSON.stringify(appState) // appState is a json object
    +const compressed = compress(stateString)
    +const encoded = Base64.encode(compressed)
    +// Push that `encoded` string to the url
    +// ... Later, on page load or on undo/redo we read the url and
    +// do the following
    +const decoded = Base64.decode(encoded) // same encoded as above, but read from url
    +const uncompressed = uncompress(decoded)
    +const newState = JSON.parse(uncompressed)
    +// Now load your application with the newState
    +
    +

    Il faut par contre une bibliothèque de dé·compression en complément, comme pako (la partie compress/uncompress).

    +

    Générer des chemins relatifs pour des fichiers statiques de modules⚓︎

    +

    🐣 2023-01

    +

    Découvert via Going Buildless de Modern Web.

    +
    modules-relative-paths.js
    1
    +2
    +3
    +4
    const imgSrc = new URL('./asset.webp', import.meta.url)
    +const image = document.createElement('img')
    +image.src = imgSrc.href
    +document.body.appendChild(image)
    +
    +

    L’utilisation de la valeur un peu magique de import.meta.url va permettre de générer une URL relative au fichier JS concerné, ce qui permet de garder les fichiers statiques proches du code. +Intéressant pour une approche composants/modulaire.

    +

    🧷 Échapper le contenu de variables au rendu⚓︎

    +

    🐣 2023-01

    +

    Découvert en analysant le code d’un plugin datasette.

    +
    autoescape.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    function htmlEscape(html) {
    +  return html
    +    .replace(/&/g, '&amp;')
    +    .replace(/>/g, '&gt;')
    +    .replace(/</g, '&lt;')
    +    .replace(/"/g, '&quot;')
    +    .replace(/'/g, '&#039;')
    +}
    +
    +class Safe extends String {}
    +
    +function safe(s) {
    +  if (!(s instanceof Safe)) {
    +    return new Safe(s)
    +  } else {
    +    return s
    +  }
    +}
    +
    +const autoescape = (fragments, ...inserts) =>
    +  safe(
    +    fragments
    +      .map((fragment, i) => {
    +        let insert = inserts[i] || ''
    +        if (!(insert instanceof Safe)) {
    +          insert = htmlEscape(insert.toString())
    +        }
    +        return fragment + insert
    +      })
    +      .join('')
    +  )
    +
    +

    Ça s’utilise ensuite ainsi (en imaginant que meh ait été saisi par l’utilisateur·ice) :

    +
    1
    +2
    +3
    const meh = "<script>"
    +autoescape`foo ${meh} bar`
    +// => String { "foo &lt;script&gt; bar" }
    +
    +

    Retirer les tags HTML d’une chaîne⚓︎

    +

    🐣 2023-11

    +

    Récupéré depuis cet article (ce site contient beaucoup d’astuces du genre !).

    +
    striptags-template.js
    1
    +2
    +3
    +4
    +5
    function stripTags(html) {
    +  const template = document.createElement('template')
    +  template.innerHTML = html
    +  return template.content.textContent || ''
    +}
    +
    +

    On crée un élément template (vs. div), ce qui évite d’exécuter les potentiels scripts inconvenants qui pourraient se trouver dans le HTML transmis. Simple et efficace.

    +

    La version consistant à utiliser DOMParser est intéressante aussi :

    +
    striptags-domparser.js
    1
    +2
    +3
    +4
    function stripTags(html) {
    +  const doc = new DOMParser().parseFromString(html, 'text/html')
    +  return doc.body.textContent || ''
    +}
    +
    +

    Pré-remplir un formulaire avec les paramètres de l’URL⚓︎

    +

    🐣 2023-04

    +

    Il est souvent pratique de pouvoir faire un lien vers un formulaire en ayant pré-remplis certains champs /mon-form/?author=Bob&accept=1.

    +

    La solution suivante pré-suppose que chaque input ait un attribut name.

    +
    prefill-form.js
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    for (const [key, value] of new URL(window.location.href).searchParams) {
    +  const elements = document.getElementsByName(key)
    +  for (const element of elements) {
    +    if (['checkbox', 'radio'].includes(element.type)) {
    +      if (element.value == value) {
    +        element.checked = true
    +      }
    +    } else if (element.multiple) {
    +      for (const option of element.options) {
    +        if (option.value == value) {
    +          option.selected = true
    +        }
    +      }
    +    } else {
    +      element.value = value
    +    }
    +  }
    +}
    +
    +

    Rechercher des mots dans un texte⚓︎

    +

    🐣 2023-10

    +

    Un travail que l’on avait commencé ensemble avec Anthony pour mon blog et que j’ai adapté et réutilisé récemment.

    +
    search-text.html
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    <script id="search-stop-words" type="application/json">
    +  ["stop", "words"]  // https://github.com/stopwords-iso/stopwords-fr
    +</script>
    +
    +<script>
    +  const stopWords = JSON.parse(
    +    document.getElementById('search-stop-words').textContent  // (1)
    +  )
    +
    +  function matchSearch(needle, stack) {
    +    // Create a regex for each word from the needle
    +    const regMap = needle
    +      .toLowerCase()
    +      .split(' ')
    +      .filter((word) => word.length && !stopWords.includes(word))
    +      // See https://stackoverflow.com/a/37511463
    +      .map((word) => word.normalize("NFD").replace(/[\u0300-\u036f]/g, ""))
    +      .map((word) => new RegExp(word, 'i'))
    +    let matches = false
    +    for (let reg of regMap) {
    +      matches = stack.match(reg)
    +    }
    +    return matches
    +  }
    +</script>
    +
    +
      +
    1. Je documente aussi la logique de mettre les stop words dans le HTML en JSON + puis de les parser pour les récupérer car c’est la manière la plus performante de faire.
    2. +
    +

    Voir aussi cette entrée Python et les suivantes pour avoir la logique côté serveur.

    +

    Pour aller plus loin/différemment⚓︎

    + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sac/pages/docs-archive-freebsd-org-44doc-usd-19-memacros-paper-pdf b/sac/pages/docs-archive-freebsd-org-44doc-usd-19-memacros-paper-pdf new file mode 100644 index 0000000..75f9ecf Binary files /dev/null and b/sac/pages/docs-archive-freebsd-org-44doc-usd-19-memacros-paper-pdf differ diff --git a/sac/pages/docs-archive-freebsd-org-44doc-usd-20-meref-paper-pdf b/sac/pages/docs-archive-freebsd-org-44doc-usd-20-meref-paper-pdf new file mode 100644 index 0000000..eed2577 Binary files /dev/null and b/sac/pages/docs-archive-freebsd-org-44doc-usd-20-meref-paper-pdf differ diff --git a/sac/pages/dotshare-it-category-mpd-ncmpcpp b/sac/pages/dotshare-it-category-mpd-ncmpcpp new file mode 100644 index 0000000..67747f9 --- /dev/null +++ b/sac/pages/dotshare-it-category-mpd-ncmpcpp @@ -0,0 +1,975 @@ + + + + + + + + + + + + + + + + + + + + + + + DotShare.it + + + + + + +
    +
    +

    + guest@dotshare [~/groups/mpd/ncmpcpp] $ ls +

    +
    +
    + +
    +
    + +
    + +
    + + + + +
    +
    +

    Moar dots!

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TitleUserDatecomments 
    ncmpcpp configurationsharpicxMay 02, 2023  + + scrot + +
    Prismatic-Nighth4d35x9May 18, 2020  + + scrot + +
    j0e74's ncmpcppj0e74Jan 05, 2019  + + scrot + +
    ncmpcpp with albumartfikriomar16Aug 28, 20173 + + scrot + +
    perfect blue ncmpcppbearz42Jul 30, 2017  + + scrot + +
    nothin' specialspjuliusJul 08, 20171 + + scrot + +
    cleanUIzxaryJun 14, 2017  + + scrot + +
    i dunnofikriomar16Jun 14, 2017  + + scrot + +
    justsimplefikriomar16May 28, 2017  + + scrot + +
    Sleepless_NightszxaryMay 03, 2017  + + scrot + +
    sobervirus69Mar 14, 2017  + + scrot + +
    Reddish dark themePascal3366Feb 13, 2017  + + scrot + +
    A Little bit of molokaidassdoubleJan 13, 2017  + + scrot + +
    beware the friendly strangerlukebonhamOct 02, 2016  + + scrot + +
    676339784 config fileCorentinAug 07, 2016  + + scrot + +
    gema solarizedgemaApr 29, 2016  + + scrot + +
    warm-winterdestaatJan 04, 2016  + + scrot + +
    Galm-BlueunMurtalOct 20, 20152 + + scrot + +
    ncmpcpp dark cherrybamburuncingOct 17, 20152 + + scrot + +
    .ncmpcppkalterfiveAug 27, 20151 + + scrot + +
    sanctuaryhokagemaduraApr 24, 20152 + + scrot + +
    DotdotkazehayaApr 04, 2015  + + scrot + +
    poorSevenChordFeb 23, 20151 + + scrot + +
    Solarizedjuan2000Sep 27, 20141 + + scrot + +
    greenishcausesSep 27, 2014  + + scrot + +
    Green MonsterDotDevSep 23, 2014  + + scrot + +
    simple (ncmpcpp-0.6)deferSep 09, 2014  + + scrot + +
    IWAFU's ncmpcpp configIWAFUAug 12, 2014  + + scrot + +
    Nice ncmpcppbitardJul 30, 2014  + + scrot + +
    Vibrant coloursm83Jul 29, 2014  + + scrot + +
    Quarter V2obliviousgmnMar 01, 2014  + + scrot + +
    my configs, plus a script i use for album artwailordFeb 21, 2014  + + scrot + +
    Black and whitehalNov 29, 20131 + + scrot + +
    R/W/B ncmpcppStylinGreymonNov 21, 2013  + + scrot + +
    I can't believe it's not butter!GraawrOct 26, 2013  + + scrot + +
    ncmpcpp confighlvnAug 29, 2013  + + scrot + +
    Funky colorsStylinGreymonJul 29, 2013  + + scrot + +
    hal's ncmpcpp confighalJul 18, 2013  + + scrot + +
    ncmpcpp 0.5RoboSloNEJun 30, 2013  + + scrot + +
    Classy TouchGraawrJun 25, 2013  + + scrot + +
    Simple themeBeastieJun 10, 20131 + + scrot + +
    chinkoShinryuuMar 09, 20133 + + scrot + +
    ncmpcpp 2JulianNov 26, 20122 + + scrot + +
    Vicncmpc++VicophineOct 09, 2012  + + scrot + +
    DMGShinryuuSep 12, 2012  + + scrot + +
    DarkmixtrAug 27, 2012  + + scrot + +
    circlesfeyAug 09, 2012  + + scrot + +
    fni ncmpcpp1feyJul 01, 2012  + + scrot + +
    cheerwhiterockJun 15, 2012  + + scrot + +
    vulturescdkMay 28, 2012  + + scrot + +
    + +
    +
    + + +
    + + + + 1 + + + + + + + 2 + + + + +
    + + +
    + + +
    + + + + + \ No newline at end of file diff --git a/sac/pages/en-wikipedia-org-wiki-category-romanization-of-arabic b/sac/pages/en-wikipedia-org-wiki-category-romanization-of-arabic new file mode 100644 index 0000000..ae4d0c5 --- /dev/null +++ b/sac/pages/en-wikipedia-org-wiki-category-romanization-of-arabic @@ -0,0 +1,545 @@ + + + + +Category:Romanization of Arabic - Wikipedia + + + + + + + + + + + + + + + + + + + + + + + + + + +Jump to content +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Category:Romanization of Arabic

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + +
    + +
    From Wikipedia, the free encyclopedia
    +
    +
    + + +
    +

    This categories lists the various romanization systems used in any language that either: +

    +
    • is usually written in the Arabic script (including the Arabic language itself),
    • +
    • or was usually written in that script, before the conversion of its orthography to the Latin script (for which the romanization became a transliteration standard for reading historical texts that were written in that language and in the Arabic script) or to another script.
    + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + \ No newline at end of file diff --git a/sac/pages/en-wikipedia-org-wiki-romanization-of-arabic b/sac/pages/en-wikipedia-org-wiki-romanization-of-arabic new file mode 100644 index 0000000..0fbb831 --- /dev/null +++ b/sac/pages/en-wikipedia-org-wiki-romanization-of-arabic @@ -0,0 +1,2034 @@ + + + + +Romanization of Arabic - Wikipedia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jump to content +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Romanization of Arabic

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    From Wikipedia, the free encyclopedia
    +
    +
    + + +
    +

    +

    +
    Google Ngrams chart showing the changing English romanization of the Arabic short vowels (ـَ, ـِ and ـُ) between the 19th and 20th centuries, using مُسْلِم (Muslim) and مُحَمَّد (Muhammad) as examples.
    + + +

    The romanization of Arabic is the systematic rendering of written and spoken Arabic in the Latin script. Romanized Arabic is used for various purposes, among them transcription of names and titles, cataloging Arabic language works, language education when used instead of or alongside the Arabic script, and representation of the language in scientific publications by linguists. These formal systems, which often make use of diacritics and non-standard Latin characters and are used in academic settings or for the benefit of non-speakers, contrast with informal means of written communication used by speakers such as the Latin-based Arabic chat alphabet. +

    Different systems and strategies have been developed to address the inherent problems of rendering various Arabic varieties in the Latin script. Examples of such problems are the symbols for Arabic phonemes that do not exist in English or other European languages; the means of representing the Arabic definite article, which is always spelled the same way in written Arabic but has numerous pronunciations in the spoken language depending on context; and the representation of short vowels (usually i u or e o, accounting for variations such as Muslim/Moslem or Mohammed/Muhammad/Mohamed). +

    + +

    Method[edit]

    +

    Romanization is often termed "transliteration", but this is not technically correct.[1] Transliteration is the direct representation of foreign letters using Latin symbols, while most systems for romanizing Arabic are actually transcription systems, which represent the sound of the language, since short vowels and geminate consonants, for example, do not usually appear in Arabic writing. As an example, the above rendering munāẓaratu l-ḥurūfi l-ʻarabīyah of the Arabic: مناظرة الحروف العربية is a transcription, indicating the pronunciation; an example transliteration would be mnaẓrḧ alḥrwf alʻrbyḧ. +

    +

    Romanization standards and systems[edit]

    +

    Principal standards and systems are: +

    +

    Early Romanization[edit]

    +
    The Christian doctrine in Arabic and Castilian language (1566) by Pérez de Ayala uses an innovative system for transcribing Valencian Arabic that has been called "the first Western system of Arabic scientific transcription" by Federico Corriente.[2]
    +

    Early Romanization of the Arabic language was standardized in the various bilingual Arabic-European dictionaries of the 17–19th centuries: +

    + +

    Mixed digraphic and diacritical[edit]

    + +
    • BGN/PCGN romanization (1956).[4]
    • +
    • UNGEGN (1972). United Nations Group of Experts on Geographical Names, or "Variant A of the Amended Beirut System". Adopted from BGN/PCGN.[5][6] +
      • IGN System 1973 or "Variant B of the Amended Beirut System", that conforms to the French orthography and is preferred to the Variant A in French-speaking countries as in Maghreb and Lebanon.[5][7]
      • +
      • ADEGN romanization (2007) is different from UNGEGN in two ways: (1) ظ is d͟h instead of z̧; (2) the cedilla is replaced by a sub-macron (_) in all the characters with the cedilla.[5]
    • +
    • ALA-LC (first published 1991), from the American Library Association and the Library of Congress.[8] This romanization is close to the romanization of the Deutsche Morgenländische Gesellschaft and Hans Wehr, which is used internationally in scientific publications by Arabists. +
      • IJMES, used by International Journal of Middle East Studies, very similar to ALA-LC.[9]
      • +
      • EI, Encyclopaedia of Islam (1st ed., 1913–1938; 2nd ed., 1960–2005).[10]
    +

    Fully diacritical[edit]

    + +

    ASCII-based[edit]

    + +

    Comparison table[edit]

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Letter +Unicode +Name +IPA +BGN/
    PCGN
    +
    UNGEGN +ALA-LC +EI +Wehr 1 +EALL +BS +DIN +ISO +ArabTeX +Arabizi 2[18][19][20] +
    ء3 +0621 +hamzah +ʔ +ʼ 4 +ʾ +ʼ 4 +ʾ +ʼ 4 +ʾ +ˈˌ +' +2 +
    ا +0627 +alif + +ā +ʾ +A +a/e/é +
    ب +0628 +ʼ +b +b +
    ت +062A +ʼ +t +t +
    ث +062B +thāʼ +θ +th (t͟h)5 +ṯ +_t +s/th/t +
    ج12 +062C +jīm +d͡ʒ~ɡ~ʒ +j +dj (d͟j)5 +j 6 +ǧ +^g +j/g/dj +
    ح +062D +ḥāʼ +ħ + 7 +ḥ +.h +7/h +
    خ +062E +khāʼ +x +kh (k͟h)5 + 6 +x +ẖ +ḫ +ẖ +_h +kh/7'/5 +
    د +062F +dāl +d +d +
    ذ +0630 +dhāl +ð +dh (d͟h)5 +ḏ +_d +z/dh/th/d +
    ر +0631 +ʼ +r +r +
    ز +0632 +zayn/zāy +z +z +
    س +0633 +sīn +s +s +
    ش +0634 +shīn +ʃ +sh (s͟h)5 +š +^s +sh/ch/$ +
    ص +0635 +ṣād + +ş 7 +ṣ +.s +s/9 +
    ض +0636 +ḍād + + 7 +ḍ +.d +d/9'/D +
    ط +0637 +ṭāʼ + +ţ 7 +ṭ +.t +t/6/T +
    ظ +0638 +ẓāʼ +ðˤ~ + 7 +ẓ +ḏ̣/ẓ11 +ẓ +.z +z/dh/6'/th +
    ع +0639 +ʻayn +ʕ +ʻ 4 +ʿ +ʽ 4 +ʿ +` +3 +
    غ +063A +ghayn +ɣ +gh (g͟h)5 + 6 +ġ +ḡ +ġ +.g +gh/3'/8 +
    ف8 +0641 +ʼ +f +f +
    ق8 +0642 +qāf +q +q +2/g/q/8/9 +
    ك +0643 +kāf +k +k +
    ل +0644 +lām +l +l +
    م +0645 +mīm +m +m +
    ن +0646 +nūn +n +n +
    ه +0647 +ʼ +h +h +
    و +0648 +wāw +w, +w; ū +w; U +w/ou/oo/u/o +
    ي9 +064A +ʼ +j, +y; ī +y; I +y/i/ee/ei/ai +
    آ +0622 +alif maddah +ʔaː +ā, ʼā +ʾā +ʾâ +'A +2a/aa +
    ة +0629 +ʼ marbūṭah +h, t +h; t +—; t +h; t +ẗ +T +a/e(h); et/at +
    ال +06270644 +alif lām +(var.) +al- 10 +ʾal +al- +el/al +
    ى9 +0649 +alif maqṣūrah + +á +ā +ỳ +_A +a +
    Vocalization +
    ـَ +064E +fatḥah +a +a +a/e/é +
    ـِ +0650 +kasrah +i +i +i/e/é +
    ـُ13 +064F +ḍammah +u +u +ou/o/u +
    ـَا +064E0627 +fatḥah alif + +ā +aʼ +A/aa +a +
    ـِي +0650064A +kasrah yāʼ + +ī +iy +I/iy +i/ee +
    ـُو13 +064F0648 +ḍammah wāw + +ū +uw +U/uw +ou/oo/u +
    ـَي +064E064A +fatḥah yāʼ +aj +ay +ay/ai/ey/ei +
    ـَو +064E0648 +fatḥah wāw +aw +aw +aw/aou +
    ـً14 +064B +fatḥatān +an +an +an +á +aN +an +
    ـٍ14 +064D +kasratān +in +in +in +í +iN +in/en +
    ـٌ14 +064C +ḍammatān +un +un +un +ú +uN +oun/on/oon/un +
    +
    • ^1 Hans Wehr transliteration does not capitalize the first letter at the beginning of sentences nor in proper names.
    • +
    • ^2 The chat table is only a demonstration and is based on the spoken varieties which vary considerably from Literary Arabic on which the IPA table and the rest of the transliterations are based.
    • +
    • ^3 Review hamzah for its various forms.
    • +
    • ^4 Neither standard defines which code point to use for hamzah and ʻayn. Appropriate Unicode points would be modifier letter apostropheʼ⟩ and modifier letter turned commaʻ⟩ (for the UNGEGN and BGN/PCGN) or modifier letter reversed commaʽ⟩ (for the Wehr and Survey of Egypt System (SES)), all of which Unicode defines as letters. Often right and left single quotation marks⟩, ⟨⟩ are used instead, but Unicode defines those as punctuation marks, and they can cause compatibility issues. The glottal stop (hamzah) in these romanizations is not written word-initially.
    • +
    • ^5 In Encyclopaedia of Islam digraphs are underlined, that is t͟h, d͟j, k͟h, d͟h, s͟h, g͟h. In BGN/PCGN on the contrary the sequences ـتـهـ, ـكـهـ, ـدهـ, ـسهـ may be romanized with middle dot as t·h, k·h, d·h, s·h respectively.
    • +
    • ^6 In the original German edition of his dictionary (1952) Wehr used ǧ, ḫ, ġ for j, ḵ, ḡ respectively (that is all the letters used are equal to DMG/DIN 31635). The variant presented in the table is from the English translation of the dictionary (1961).
    • +
    • ^7 BGN/PCGN allows use of underdots instead of cedilla.
    • +
    • ^8 Fāʼ and qāf are traditionally written in Northwestern Africa as ڢ and ڧـ ـڧـ ـٯ, respectively, while the latter's dot is only added initially or medially.
    • +
    • ^9 In Egypt, Sudan, and sometimes in other regions, the standard form for final-yāʼ is only ى (without dots) in handwriting and print, for both final /-iː/ and final /-aː/. ى for the latter pronunciation, is called ألف لينة alif layyinah [ˈʔælef læjˈjenæ], 'flexible alif'.
    • +
    • ^10 The sun and moon letters and hamzat waṣl pronunciation rules apply, although it is acceptable to ignore them. The UN system and ALA-LC prefer lowercase a and hyphens: al-Baṣrah, ar-Riyāḍ; BGN/PCGN prefers uppercase A and no hyphens: Al Baṣrah, Ar Riyāḍ.[5]
    • +
    • ^11 The EALL suggests ẓ "in proper names" (volume 4, page 517).
    • +
    • ^12 BGN/PCGN, UNGEGN, ALA-LC, and DIN 31635 use a normal ⟨g⟩ for ج when romanizing Egyptian names or toponyms that are expectedly pronounced with /ɡ/.
    • +
    • ^13 BGN/PCGN, UNGEGN, ALA-LC, and DIN 31635 use the French-based ⟨ou⟩ for /u(:)/ in Francophone Arabic speaking countries in names and toponyms.
    • +
    • ^14 Nunation is ignored in all romanizations in names and toponyms.
    +

    Romanization issues[edit]

    +

    Any romanization system has to make a number of decisions which are dependent on its intended field of application. +

    +

    Vowels[edit]

    +

    One basic problem is that written Arabic is normally unvocalized; i.e., many of the vowels are not written out, and must be supplied by a reader familiar with the language. Hence unvocalized Arabic writing does not give a reader unfamiliar with the language sufficient information for accurate pronunciation. As a result, a pure transliteration, e.g., rendering قطر as qṭr, is meaningless to an untrained reader. For this reason, transcriptions are generally used that add vowels, e.g. qaṭar. However, unvocalized systems match exactly to written Arabic, unlike vocalized systems such as Arabic chat, which some claim detracts from one's ability to spell.[21] +

    +

    Transliteration vs. transcription[edit]

    +

    Most uses of romanization call for transcription rather than transliteration: Instead of transliterating each written letter, they try to reproduce the sound of the words according to the orthography rules of the target language: Qaṭar. This applies equally to scientific and popular applications. A pure transliteration would need to omit vowels (e.g. qṭr), making the result difficult to interpret except for a subset of trained readers fluent in Arabic. Even if vowels are added, a transliteration system would still need to distinguish between multiple ways of spelling the same sound in the Arabic script, e.g. alif ا vs. alif maqṣūrah ى for the sound /aː/ ā, and the six different ways (ء إ أ آ ؤ ئ) of writing the glottal stop (hamza, usually transcribed ʼ ). This sort of detail is needlessly confusing, except in a very few situations (e.g., typesetting text in the Arabic script). +

    Most issues related to the romanization of Arabic are about transliterating vs. transcribing; others, about what should be romanized: +

    +
    • Some transliterations ignore assimilation of the definite article al- before the "sun letters", and may be easily misread by non-Arabic speakers. For instance, "the light" النور an-nūr would be more literally transliterated along the lines of alnūr. In the transcription an-nūr, a hyphen is added and the unpronounced /l/ removed for the convenience of the uninformed non-Arabic speaker, who would otherwise pronounce an /l/, perhaps not understanding that /n/ in nūr is geminated. Alternatively, if the shaddah is not transliterated (since it is strictly not a letter), a strictly literal transliteration would be alnūr, which presents similar problems for the uninformed non-Arabic speaker.
    • +
    • A transliteration should render the "closed tāʼ" (tāʼ marbūṭah, ة) faithfully. Many transcriptions render the sound /a/ as a or ah and t when it denotes /at/. +
    • +
    • "Restricted alif" (alif maqṣūrah, ى) should be transliterated with an acute accent, á, differentiating it from regular alif ا, but it is transcribed in many schemes like alif, ā, because it stands for /aː/.
    • +
    • Nunation: what is true elsewhere is also true for nunation: transliteration renders what is seen, transcription what is heard, when in the Arabic script, it is written with diacritics, not by letters, or omitted.
    +

    A transcription may reflect the language as spoken, typically rendering names, for example, by the people of Baghdad (Baghdad Arabic), or the official standard (Literary Arabic) as spoken by a preacher in the mosque or a TV newsreader. A transcription is free to add phonological (such as vowels) or morphological (such as word boundaries) information. Transcriptions will also vary depending on the writing conventions of the target language; compare English Omar Khayyam with German Omar Chajjam, both for عمر خيام /ʕumar xajjaːm/, [ˈʕomɑr xæjˈjæːm] (unvocalized ʿmr ḫyām, vocalized ʻUmar Khayyām). +

    A transliteration is ideally fully reversible: a machine should be able to transliterate it back into Arabic. A transliteration can be considered as flawed for any one of the following reasons: +

    +
    • A "loose" transliteration is ambiguous, rendering several Arabic phonemes with an identical transliteration, or such that digraphs for a single phoneme (such as dh gh kh sh th rather than ḏ ġ ḫ š ṯ) may be confused with two adjacent consonants—but this problem is resolved in the ALA-LC romanization system, where the prime symbol ʹ is used to separate two consonants when they do not form a digraph;[22] for example: أَكْرَمَتْها akramatʹhā ('she honored her'), in which the t and h are two distinct consonantal sounds.
    • +
    • Symbols representing phonemes may be considered too similar (e.g., ʻ and ' or ʿ and ʾ for ع ʻayn and hamzah);
    • +
    • ASCII transliterations using capital letters to disambiguate phonemes are easy to type, but may be considered unaesthetic.
    +

    A fully accurate transcription may not be necessary for native Arabic speakers, as they would be able to pronounce names and sentences correctly anyway, but it can be very useful for those not fully familiar with spoken Arabic and who are familiar with the Roman alphabet. An accurate transliteration serves as a valuable stepping stone for learning, pronouncing correctly, and distinguishing phonemes. It is a useful tool for anyone who is familiar with the sounds of Arabic but not fully conversant in the language. +

    One criticism is that a fully accurate system would require special learning that most do not have to actually pronounce names correctly, and that with a lack of a universal romanization system they will not be pronounced correctly by non-native speakers anyway. The precision will be lost if special characters are not replicated and if a reader is not familiar with Arabic pronunciation. +

    +

    Examples[edit]

    +

    Examples in Literary Arabic: +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Arabic +أمجد كان له قصرإلى المملكة المغربية +
    Arabic with diacritics
    (normally omitted) +
    أَمْجَدُ كَانَ لَهُ قَصْرإِلَى الْمَمْلَكَةِ الْمَغْرِبِيَّة +
    IPA +[/ʔamdʒadu kaːna lahuː qasˤr/][/ʔila‿l.mamlakati‿l.maɣribij.jah/] +
    ALA-LC +Amjad kāna lahu qaṣrIlá al-mamlakah al-Maghribīyah +
    Hans Wehr +amjad kāna lahū qaṣrilā l-mamlaka al-maḡribīya +
    DIN 31635 +ʾAmǧad kāna lahu qaṣrʾIlā l-mamlakah al-Maġribiyyah +
    UNGEGN +Amjad kāna lahu qaşrIlá al-mamlakah al-maghribiyyah +
    ISO 233 +ʾˈamǧad kāna lahu qaṣrʾˈilaỳ ʾˈalmamlakaẗ ʾˈalmaġribiȳaẗ +
    ArabTeX +am^gad kAna lahu qa.sril_A almamlakaT alma.gribiyyaT +
    English +Amjad had a palaceTo the Moroccan Kingdom +
    +

    Arabic alphabet and nationalism[edit]

    +

    There have been many instances of national movements to convert Arabic script into Latin script or to romanize the language. +

    +

    Lebanon[edit]

    +
    LEBNAAN in proposed Said Akl alphabet (issue #686)
    +

    A Beirut newspaper, La Syrie, pushed for the change from Arabic script to Latin script in 1922. The major head of this movement was Louis Massignon, a French Orientalist, who brought his concern before the Arabic Language Academy in Damascus in 1928. Massignon's attempt at romanization failed as the Academy and the population viewed the proposal as an attempt from the Western world to take over their country. Sa'id Afghani, a member of the Academy, asserted that the movement to romanize the script was a Zionist plan to dominate Lebanon.[23][24] +

    +

    Egypt[edit]

    +

    After the period of colonialism in Egypt, Egyptians were looking for a way to reclaim and reemphasize Egyptian culture. As a result, some Egyptians pushed for an Egyptianization of the Arabic language in which the formal Arabic and the colloquial Arabic would be combined into one language and the Latin alphabet would be used.[23][24] There was also the idea of finding a way to use hieroglyphics instead of the Latin alphabet.[23][24] A scholar, Salama Musa, agreed with the idea of applying a Latin alphabet to Egyptian Arabic, as he believed that would allow Egypt to have a closer relationship with the West. He also believed that Latin script was key to the success of Egypt as it would allow for more advances in science and technology. This change in script, he believed, would solve the problems inherent with Arabic, such as a lack of written vowels and difficulties writing foreign words.[23][24][25] Ahmad Lutfi As Sayid and Muhammad Azmi, two Egyptian intellectuals, agreed with Musa and supported the push for romanization.[23][24] The idea that romanization was necessary for modernization and growth in Egypt continued with Abd Al Aziz Fahmi in 1944. He was the chairman for the Writing and Grammar Committee for the Arabic Language Academy of Cairo.[23][24] He believed and desired to implement romanization in a way that allowed words and spellings to remain somewhat familiar to the Egyptian people. However, this effort failed as the Egyptian people felt a strong cultural tie to the Arabic alphabet, particularly the older generation.[23][24] +

    +

    See also[edit]

    + +

    References[edit]

    +
    +
      +
    1. ^ Adegoke, Kazeem Adekunle; Abdulraheem, Bashir (7 June 2017). "Re-Thinking Romanization of Arabic-Islamic Script". TARBIYA: Journal of Education in Muslim Society. 4 (1): 22–31. doi:10.15408/tjems.v4i1.5549. ISSN 2442-9848. +
    2. +
    3. ^ «La lengua de la gente común y no los priores de la gramática arábiga».La Doctrina christiana en lengua arábiga y castellana (1566) de Martín Pérez de Ayala, Teresa Soto González, University of Salamanca (in Spanish) +
    4. +
    5. ^ a b c d e f Edward Lipiński, 2012, Arabic Linguistics: A Historiographic Overview, pages 32–33 +
    6. +
    7. ^ "Romanization system for Arabic. BGN/PCGN 1956 System" (PDF). +
    8. +
    9. ^ a b c d "Arabic" (PDF). UNGEGN. +
    10. +
    11. ^ Technical reference manual for the standardization of geographical names (PDF). UNGEGN. 2007. p. 12 [22]. +
    12. +
    13. ^ "Systèmes français de romanisation" (PDF). UNGEGN. 2009. +
    14. +
    15. ^ "Arabic romanization table" (PDF). The Library of Congress. +
    16. +
    17. ^ "IJMES Translation & Transliteration Guide". International Journal of Middle East Studies. +
    18. +
    19. ^ "Encyclopaedia of Islam Romanization vs ALA Romanization for Arabic". University of Washington Libraries. +
    20. +
    21. ^ Brockelmann, Carl; Ronkel, Philippus Samuel van (1935). Die Transliteration der arabischen Schrift... (PDF). Leipzig.{{cite book}}: CS1 maint: location missing publisher (link) +
    22. +
    23. ^ a b Reichmuth, Philipp (2009). "Transcription". In Versteegh, Kees (ed.). Encyclopedia of Arabic Language and Linguistics. Vol. 4. Brill. pp. 515–20. +
    24. +
    25. ^ Millar, M. Angélica; Salgado, Rosa; Zedán, Marcela (2005). Gramatica de la lengua arabe para hispanohablantes. Santiago de Chile: Editorial Universitaria. pp. 53–54. ISBN 978-956-11-1799-0. +
    26. +
    27. ^ "Standards, Training, Testing, Assessment and Certification". BSI Group. Archived from the original on 7 October 2008. Retrieved 18 May 2014. +
    28. +
    29. ^ ArabTex User Manual Section 4.1 : ASCII Transliteration Encoding. +
    30. +
    31. ^ "Buckwalter Arabic Transliteration". QAMUS LLC. +
    32. +
    33. ^ "Arabic Morphological Analyzer/The Buckwalter Transliteration". Xerox. Retrieved 30 April 2017. +
    34. +
    35. ^ Sullivan, Natalie (July 2017). Writing Arabizi: Orthographic Variation in Romanized Lebanese Arabic on Twitter (Plan II Honors Thesis). doi:10.15781/T2W951823. hdl:2152/72420. +
    36. +
    37. ^ Bjørnsson, Jan Arild (November 2010). "Egyptian Romanized Arabic: A Study of Selected Features from Communication Among Egyptian Youth on Facebook" (PDF). University of Oslo. Retrieved 31 March 2019. +
    38. +
    39. ^ Abu Elhija, Dua'a (3 July 2014). "A new writing system? Developing orthographies for writing Arabic dialects in electronic media". Writing Systems Research. 6 (2): 190–214. doi:10.1080/17586801.2013.868334. ISSN 1758-6801. S2CID 219568845. +
    40. +
    41. ^ "Arabizi sparks concern among educators". GulfNews.com. 9 May 2013. Retrieved 18 May 2014. +
    42. +
    43. ^ "Arabic" (PDF). ALA-LC Romanization Tables. Library of Congress. p. 9. Retrieved 14 June 2013. 21. The prime (ʹ) is used: (a) To separate two letters representing two distinct consonantal sounds, when the combination might otherwise be read as a digraph. +
    44. +
    45. ^ a b c d e f g Shrivtiel, Shraybom (1998). The Question of Romanisation of the Script and The Emergence of Nationalism in the Middle East. Mediterranean Language Review. pp. 179–196. +
    46. +
    47. ^ a b c d e f g History of Arabic Writing +
    48. +
    49. ^ Shrivtiel, p. 188 +
    50. +
    +

    External links[edit]

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/en-wikipedia-org-wiki-standard-arabic-technical-transliteration-system b/sac/pages/en-wikipedia-org-wiki-standard-arabic-technical-transliteration-system new file mode 100644 index 0000000..ed199c0 --- /dev/null +++ b/sac/pages/en-wikipedia-org-wiki-standard-arabic-technical-transliteration-system @@ -0,0 +1,838 @@ + + + + +Standard Arabic Technical Transliteration System - Wikipedia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jump to content +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Standard Arabic Technical Transliteration System

    + +
    + + +
    + + + +
    +
    +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    From Wikipedia, the free encyclopedia
    +
    +
    + + +
    + +

    The Standard Arabic Technical Transliteration System, commonly referred to by its acronym SATTS, is a system for writing and transmitting Arabic language text using the one-for-one substitution of ASCII-range characters for the letters of the Arabic alphabet. Unlike more common systems for transliterating Arabic, SATTS does not provide the reader with any more phonetic information than standard Arabic orthography does; that is, it provides the bare Arabic alphabetic spelling with no notation of short vowels, doubled consonants, etc. In other words, it is intended as a transliteration tool for Arabic linguists, and is of limited use to those who do not know Arabic. +

    SATTS, a legacy of Morse and teleprinter systems (see "Background," below), has historically been employed by military and communications elements of Western countries for handling Arabic text without the need for native fonts or special software. Although its use has decreased in recent years with the demise of Morse code and the obsolescence of the teleprinter, and with the increased availability of native-font software, it is still used for the quick and handy platform-independent recording and transmission of Arabic terms and text. +

    + +

    Format[edit]

    +

    SATTS employs all the Latin alphabetic letters except P, plus four punctuation marks, for a total of 29 symbols (all the letters of the Arabic alphabet, plus the glottal-stop symbol hamzah). +

    +

    Table of SATTS equivalents[edit]

    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ا'alifA +
    بbā'B +
    تtā'T +
    ثthā'C +
    جjīmJ +
    حħā'H +
    خkhā'O +
    دdālD +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ذdhālZ +
    رrā'R +
    زzayn; +
    سsīnS +
    شshīn: +
    صṣādX +
    ضḍādV +
    طţā'U +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ظÐā'Y +
    ع`ayn" +
    غγaynG +
    فfā'F +
    قqāfQ +
    كkāfK +
    لlāmL +
    مmīmM +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    نnūnN +
    هhā'? +
    ةtā' marbūţah? +
    وwāwW +
    ؤwāw with hamzahWE +
    ي or ىyā'I +
    ئhamzahIE +
    hamzahE +
    +
    +
    +

    In some words, lām 'alif was sent as a single character •—••••— or LA as a single character. The symbol for the glottal stop hamzah (ء) is written following its seat, if it has one. It is omitted when it occurs with an initial 'alif. +RIEIS رئيس MAEDB? مأدبة +MSWEWL مسؤول BDE بدء +AHMD أحمد ASLAM إسلام +

    +

    Sample text[edit]

    + + + + + + + +
    Native orthographySATTS transliteration +
    جامعة الدول العربية هي منظمة تضم دولا في الشرق الأوسط وأفريقياJAM"? ALDWL AL"RBI? ?I MNYM? TVM DWLA FI AL:RQ ALAWSU WAFRIQIA +
    +

    The chief deficiencies of SATTS are that it does not distinguish between hā' (ه) and tā' marbūţah (ة), or between final yā' (ي) and 'alif maksūrah (ى), and it cannot depict an 'alif maddah ( آ ). SATTS also cannot distinguish between a final seated hamza and a final independent hamza, if the word ends in "AE", "IE", or "WE". +

    +

    Background[edit]

    +

    The Latin alphabetic letter employed for each Arabic letter in the SATTS system is its Morse-code equivalent. For example, Morse code for the Arabic letter ţā' (ط) is • • — (dit-dit-dah). That same Morse code sequence represents the letter U in the Latin alphabet. Hence the SATTS equivalent for ţā' is U. +

    In the Morse-code era, when Arabic language Morse signals were copied down by non-Arab code clerks, the text came out in SATTS. Text in SATTS was also automatically produced when teleprinters reproduced Arabic text, if the technician had failed to replace the printer's Latin-character pallet with an Arabic-character one. +

    +

    External links[edit]

    + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/en-wikipedia-org-wiki-year-2038-problem b/sac/pages/en-wikipedia-org-wiki-year-2038-problem new file mode 100644 index 0000000..352b751 --- /dev/null +++ b/sac/pages/en-wikipedia-org-wiki-year-2038-problem @@ -0,0 +1,1095 @@ + + + + +Year 2038 problem - Wikipedia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jump to content +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Year 2038 problem

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    From Wikipedia, the free encyclopedia
    +
    +
    + + +
    + +
    An animated visual of the bug in action. The overflow error will occur at 03:14:08 UTC on 19 January 2038.
    +

    The year 2038 problem (also known as Y2038,[1] Y2K38, Y2K38 superbug or the Epochalypse[2][3]) is a time computing problem that leaves some computer systems unable to represent times after 03:14:07 UTC on 19 January 2038. +

    The problem exists in systems which measure Unix time – the number of seconds elapsed since the Unix epoch (00:00:00 UTC on 1 January 1970) – and store it in a signed 32-bit integer. The data type is only capable of representing integers between −(231) and 231 − 1, meaning the latest time that can be properly encoded is 231 − 1 seconds after epoch (03:14:07 UTC on 19 January 2038). Attempting to increment to the following second (03:14:08) will cause the integer to overflow, setting its value to −(231) which systems will interpret as 231 seconds before epoch (20:45:52 UTC on 13 December 1901). The problem is similar in nature to the year 2000 problem. Analogous storage constraints for unsigned 32-bit integers will be reached in 2106. +

    Computer systems that use time for critical computations may encounter fatal errors if the year 2038 problem is not addressed. Some applications that use future dates have already encountered the bug. The most vulnerable systems are those which are infrequently or never updated, such as legacy and embedded systems. To address the problem, many modern systems have been upgraded to measure Unix time with signed 64-bit integers instead, which will take 292 billion years to overflow—approximately 21 times the estimated age of the universe. +

    + +

    Cause[edit]

    +

    Many computer systems measure time and date as Unix time, an international standard for digital timekeeping. Unix time is defined as the number of seconds elapsed since 00:00:00 UTC on 1 January 1970 (an arbitrarily chosen time based on the creation of the first Unix system), which has been dubbed the Unix epoch.[4] +

    Unix time has historically been encoded as a signed 32-bit integer, a data type composed of 32 binary digits (bits) which represent an integer value, with 'signed' meaning that the number can represent both positive and negative numbers, as well as zero; and is usually stored in two's complement format.[a] Thus, a signed 32-bit integer can only represent integer values from −(231) to 231 − 1 inclusive. Consequently, if a signed 32-bit integer is used to store Unix time, the latest time that can be stored is 231 − 1 (2,147,483,647) seconds after epoch, which is 03:14:07 on Tuesday, 19 January 2038.[5] Systems that attempt to increment this value by one more second to 231 seconds after epoch (03:14:08) will suffer integer overflow, inadvertently flipping the sign bit to indicate a negative number. This changes the integer value to −(231), or 231 seconds before epoch rather than after, which systems will interpret as 20:45:52 on Friday, 13 December 1901. From here, systems will continue to count up, toward zero, and then up through the positive integers again. As many computer systems use time computations to run critical functions, the bug may introduce fatal errors. +

    +

    Vulnerable systems[edit]

    +

    Any system using data structures with 32-bit time representations has an inherent risk to fail. A full list of these data structures is virtually impossible to derive, but there are well-known data structures that have the Unix time problem: +

    +
    • File systems that use 32 bits to represent times in inodes
    • +
    • Binary file formats with 32-bit time fields
    • +
    • Databases with 32-bit time fields
    • +
    • Database query languages (such as SQL) that have UNIX_TIMESTAMP()-like commands
    +

    Embedded systems[edit]

    +

    Embedded systems that use dates for either computation or diagnostic logging are most likely to be affected by the Y2038 problem.[1] Despite the modern 18–24 month generational update in computer systems technology, embedded systems are designed to last the lifetime of the machine in which they are a component. It is conceivable that some of these systems may still be in use in 2038. It may be impractical or, in some cases, impossible to upgrade the software running these systems, ultimately requiring replacement if the 32-bit limitations are to be corrected. +

    Many transportation systems from flight to automobiles use embedded systems extensively. In automotive systems, this may include anti-lock braking system (ABS), electronic stability control (ESC/ESP), traction control (TCS) and automatic four-wheel drive; aircraft may use inertial guidance systems and GPS receivers.[b] Another major use of embedded systems is in communications devices, including cell phones and Internet-enabled appliances (e.g. routers, wireless access points, IP cameras) which rely on storing an accurate time and date and are increasingly based on Unix-like operating systems. For example, the Y2038 problem makes some devices running 32-bit Android crash and not restart when the time is changed to that date.[6] +

    However, this does not imply that all embedded systems will suffer from the Y2038 problem, since many such systems do not require access to dates. For those that do, those systems which only track the difference between times/dates and not absolute times/dates will, by the nature of the calculation, not experience a major problem. This is the case for automotive diagnostics based on legislated standards such as CARB (California Air Resources Board).[7] +

    +

    Early problems[edit]

    +

    In May 2006, reports surfaced of an early manifestation of the Y2038 problem in the AOLserver software. The software was designed with a kludge to handle a database request that should "never" time out. Rather than specifically handling this special case, the initial design simply specified an arbitrary time-out date in the future. The default configuration for the server specified that the request should time out after one billion seconds. One billion seconds (just over 31 years, 251 days, 1 hour, 46 minutes and 40 seconds) after 01:27:28 UTC on 13 May 2006 is beyond the 2038 cutoff date. Thus, after this time, the time-out calculation overflowed and returned a date that was actually in the past, causing the software to crash. When the problem was discovered, AOLServer operators had to edit the configuration file and set the time-out to a lower value.[8][9] +

    +

    Solutions [edit]

    +

    There is no universal solution for the Year 2038 problem. For example, in the C language, any change to the definition of the time_t data type would result in code-compatibility problems in any application in which date and time representations are dependent on the nature of the signed 32-bit time_t integer. For example, changing time_t to an unsigned 32-bit integer, which would extend the range to 2106 (specifically, 06:28:15 UTC on Sunday, 7 February 2106), would adversely affect programs that store, retrieve, or manipulate dates prior to 1970, as such dates are represented by negative numbers. Increasing the size of the time_t type to 64 bits in an existing system would cause incompatible changes to the layout of structures and the binary interface of functions. +

    Most operating systems designed to run on 64-bit hardware already use signed 64-bit time_t integers. Using a signed 64-bit value introduces a new wraparound date that is over twenty times greater than the estimated age of the universe: approximately 292 billion years from now.[10] The ability to make computations on dates is limited by the fact that tm_year uses a signed 32-bit integer value starting at 1900 for the year. This limits the year to a maximum of 2,147,485,547 (2,147,483,647 + 1900).[11] +

    Alternative proposals have been made (some of which are already in use), such as storing either milliseconds or microseconds since an epoch (typically either 1 January 1970 or 1 January 2000) in a signed 64-bit integer, providing a minimum range of 300,000 years at microsecond resolution.[12][13] In particular, Java's use of 64-bit long integers everywhere to represent time as "milliseconds since 1 January 1970" will work correctly for the next 292 million years. Other proposals for new time representations provide different precisions, ranges, and sizes (almost always wider than 32 bits), as well as solving other related problems, such as the handling of leap seconds. In particular, TAI64[14] is an implementation of the International Atomic Time (TAI) standard, the current international real-time standard for defining a second and frame of reference. +

    +

    Implemented solutions[edit]

    +
    • Starting with Ruby version 1.9.2 (released on 18 August 2010), the bug with year 2038 is fixed,[15] by storing time in a signed 64-bit integer on systems with 32-bit time_t.[16]
    • +
    • Starting with NetBSD version 6.0 (released in October 2012), the NetBSD operating system uses a 64-bit time_t for both 32-bit and 64-bit architectures. Applications that were compiled for an older NetBSD release with 32-bit time_t are supported via a binary compatibility layer, but such older applications will still suffer from the Y2038 problem.[17]
    • +
    • OpenBSD since version 5.5, released in May 2014, also uses a 64-bit time_t for both 32-bit and 64-bit architectures. In contrast to NetBSD, there is no binary compatibility layer. Therefore, applications expecting a 32-bit time_t and applications using anything different from time_t to store time values may break.[18]
    • +
    • Linux originally used a 64-bit time_t for 64-bit architectures only; the pure 32-bit ABI was not changed due to backward compatibility.[19] Starting with version 5.6 of 2020, 64-bit time_t is supported on 32-bit architectures, too. This was done primarily for the sake of embedded Linux systems.[20]
    • +
    • FreeBSD uses 64-bit time_t for all 32-bit and 64-bit architectures except 32-bit i386, which uses signed 32-bit time_t instead.[21]
    • +
    • The x32 ABI for Linux (which defines an environment for programs with 32-bit addresses but running the processor in 64-bit mode) uses a 64-bit time_t. Since it was a new environment, there was no need for special compatibility precautions.[19]
    • +
    • Network File System version 4 has defined its time fields as struct nfstime4 {int64_t seconds; uint32_t nseconds;} since December 2000.[22] Values greater than zero for the seconds field denote dates after the 0-hour, January 1, 1970. Values less than zero for the seconds field denote dates before the 0-hour, January 1, 1970. In both cases, the nseconds (nanoseconds) field is to be added to the seconds field for the final time representation.
    • +
    • The ext4 filesystem, when used with inode sizes larger than 128 bytes, has an extra 32-bit field per timestamp, of which 30 bits are used for the nanoseconds part of the timestamp, and the other 2 bits are used to extend the timestamp range to the year 2446.[23]
    • +
    • The XFS filesystem, starting with Linux 5.10, has an optional "big timestamps" feature which extends the timestamp range to the year 2486.[24]
    • +
    • While the native APIs of OpenVMS can support timestamps up to 31 July 31086,[25] the C runtime library (CRTL) uses 32-bit integers for time_t.[26] As part of Y2K compliance work that was carried out in 1998, the CRTL was modified to use unsigned 32-bit integers to represent time; extending the range of time_t up to 7 February 2106.[27]
    • +
    • As of MySQL 8.0.28, the functions FROM_UNIXTIME(), UNIX_TIMESTAMP(), and CONVERT_TZ() handle 64-bit values on platforms that support them. This includes 64-bit versions of Linux, MacOS, and Windows.[28] In relational database versions prior to August 2021, built-in functions like UNIX_TIMESTAMP() will return 0 after 03:14:07 UTC on 19 January 2038.[29]
    +

    See also[edit]

    + +

    Notes[edit]

    +
    +
      +
    1. ^ Unless otherwise specified, all the numbers provided in this article have been derived using two's complement for signed integer arithmetic. +
    2. +
    3. ^ GPS suffers its own time counter overflow problem known as GPS Week Number Rollover. +
    4. +
    +

    References[edit]

    +
    +
      +
    1. ^ a b "Is the Year 2038 problem the new Y2K bug?". The Guardian. 17 December 2014. Retrieved 11 October 2018. +
    2. +
    3. ^ Bergmann, Arnd (6 February 2020). "The end of an Era". Linaro. +
    4. +
    5. ^ Wagenseil, Paul (28 July 2017). "Digital 'Epochalypse' Could Bring World to Grinding Halt". Tom's Guide. +
    6. +
    7. ^ "Epoch Time". unixtutoria. Retrieved 13 April 2023. +
    8. +
    9. ^ Diomidis Spinellis (2006). Code quality: the open source perspective. Effective software development series in Safari Books Online (illustrated ed.). Adobe Press. p. 49. ISBN 978-0-321-16607-4. +
    10. +
    11. ^ "ZTE Blade running Android 2.2 has 2038 problems". Retrieved 20 November 2018. +
    12. +
    13. ^ "ARB Test Methods / Procedures". ARB.ca.gov. California Air Resources Board. Archived from the original on 18 November 2016. Retrieved 12 September 2013. +
    14. +
    15. ^ "The Future Lies Ahead". 28 June 2006. Retrieved 19 November 2006. +
    16. +
    17. ^ Weird "memory leak" problem in AOLserver 3.4.2/3.x 12 May 2006 +
    18. +
    19. ^ "When does the 64-bit Unix time_t really end?". Retrieved 24 September 2022. +
    20. +
    21. ^ Felts, Bob (17 April 2010). "The End of Time". Stablecross.com. Retrieved 19 March 2012. +
    22. +
    23. ^ "Unununium Time". Archived from the original on 8 April 2006. Retrieved 19 November 2006. +
    24. +
    25. ^ Sun Microsystems. "Java API documentation for System.currentTimeMillis()". Retrieved 29 September 2017. +
    26. +
    27. ^ "TAI64". +
    28. +
    29. ^ "Ruby 1.9.2 is released". 18 August 2010. Retrieved 1 April 2022. +
    30. +
    31. ^ "time.c: use 64bit arithmetic even on platforms with 32bit VALUE". GitHub. +
    32. +
    33. ^ "Announcing NetBSD 6.0". 17 October 2012. Retrieved 18 January 2016. +
    34. +
    35. ^ "OpenBSD 5.5 released (May 1, 2014)". 1 May 2014. Retrieved 18 January 2016. +
    36. +
    37. ^ a b Jonathan Corbet (14 August 2013). "Pondering 2038". LWN.net. Archived from the original on 4 March 2016. Retrieved 9 March 2016. +
    38. +
    39. ^ "LKML: Arnd Bergmann: [GIT PULL] y2038: core, driver and file system changes". lkml.org. Retrieved 30 January 2020. +
    40. +
    41. ^ "arch". www.freebsd.org. +
    42. +
    43. ^ Haynes, Thomas; Noveck, David, eds. (March 2015). "Structured Data Types". Network File System (NFS) Version 4 Protocol. sec. 2.2. doi:10.17487/RFC7530. RFC 7530. +
    44. +
    45. ^ "ext4 Data Structures and Algorithms". Retrieved 13 September 2022. +
    46. +
    47. ^ Michael Larabel (15 October 2020). "XFS File-System With Linux 5.10 Punts Year 2038 Problem To The Year 2486". Phoronix. Retrieved 13 September 2022. +
    48. +
    49. ^ "Why is Wednesday, November 17, 1858 the base time for OpenVMS (VAX VMS)?". Stanford University. 24 July 1997. Archived from the original on 24 July 1997. Retrieved 8 January 2020. +
    50. +
    51. ^ "VSI C Run-Time Library Reference Manual for OpenVMS Systems" (PDF). VSI. November 2020. Retrieved 17 April 2021. +
    52. +
    53. ^ "OpenVMS and the year 2038". HP. Retrieved 17 April 2021. +
    54. +
    55. ^ "What Is New in MySQL 8.0". dev.mysql.com. +
    56. +
    57. ^ "MySQL Bugs: #12654: 64-bit unix timestamp is not supported in MySQL functions". bugs.mysql.com. +
    58. +
    +

    External links[edit]

    + + + +

    +

    + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/esmfoundation-org-new-list-of-critical-raw-materials-is-out b/sac/pages/esmfoundation-org-new-list-of-critical-raw-materials-is-out new file mode 100644 index 0000000..eb2cb6e --- /dev/null +++ b/sac/pages/esmfoundation-org-new-list-of-critical-raw-materials-is-out @@ -0,0 +1,85 @@ + List of Critical Raw Materials 2020 - including four new ones - ESM Foundation

    List of Critical Raw Materials 2020 – including four new ones

    List of Critical Raw Materials 2020 – including four new ones

    The 2020 EU Critical Raw Materials List

     

    The European Commission has just published the 2020 EU Critical Raw Materials List. The Commission reviews the list of critical raw materials for the EU every three years screening 83 materials.

    Economic importance and supply risk are the two main parameters used to determine criticality for the EU. Economic importance looks in detail at the allocation of raw materials to end-uses based on industrial applications. Supply risk looks at the country-level concentration of global production of primary raw materials and sourcing to the EU, the governance of supplier countries, including environmental aspects, the contribution of recycling (i.e. secondary raw materials), substitution, EU import reliance and trade restrictions in third countries.

    The resulting list of critical raw materials provides a factual tool to support EU policy development. In 2020, the EU list contains 30 materials, including 4 new ones: Bauxite, lithium and titanium and strontium. Helium remains a concern as far as supply concentration is concerned, but is removed from the 2020 critical list due to a decline in its economic importance.

     

    Biggest supplier countries of CRMs to the EU

    More information on the list and their methodology can be found here.

     

     

    Sources: 

    Head image: The guardian
    https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:52020DC0474&from=EN

    \ No newline at end of file diff --git a/sac/pages/fr-bellingcat-com b/sac/pages/fr-bellingcat-com new file mode 100644 index 0000000..390b950 --- /dev/null +++ b/sac/pages/fr-bellingcat-com @@ -0,0 +1,930 @@ + + + + + + Page d’accueil - Bellingcat + + + + + + + + + + + Page d’accueil - Bellingcat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    +
    +

    Bellingcat français

    + +

    Bellingcat est un groupe international indépendant de chercheurs, d'enquêteurs et de journalistes citoyens utilisant à la fois : enquêtes 'open source' et réseaux sociaux, pour sonder une variété de sujets - trafiquants de drogue mexicains, crimes contre l'humanité, suivi de l'utilisation d'armes chimiques et conflits dans le monde entier. Avec un personnel et des contributeurs répartis dans 20 pays à travers le monde, nous opérons dans un domaine unique dans lequel technologie de pointe, recherche médico-légale, journalisme, enquêtes, transparence et responsabilité se rencontrent.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    + + +
    +
    + + + + + + + + + +
    + +
    + + + + + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-alin-c3-a9a b/sac/pages/fr-wikipedia-org-wiki-alin-c3-a9a new file mode 100644 index 0000000..d9263ec --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-alin-c3-a9a @@ -0,0 +1,929 @@ + + + + +Alinéa — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Alinéa

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +

    L’alinéa est la marque d'un retour à la ligne. C'est en ce sens une ponctuation de texte. Par extension, il prend un deuxième sens en désignant la portion de texte comprise entre deux retours à la ligne. Si le paragraphe est en principe une subdivision plus grande — un paragraphe pouvant contenir plusieurs alinéas –, l'usage commun du traitement de texte tend à confondre les deux termes. +

    + +

    Étymologie[modifier | modifier le code]

    +

    Selon les sources, on donne du mot alinéa deux étymologies différentes, en un sens opposées, mais somme toute compatibles, la première visant le retour à la ligne et la deuxième le retrait qui peut marquer ce retour : +

    +
    • le latin ad lineam, à l’accusatif, c’est-à-dire « en allant vers la ligne, à la ligne » ;
    • +
    • le latin a linea (avec des a longs, c’est-à-dire à l’ablatif), ce qui signifie « en s’éloignant, en s’écartant de la ligne ».
    +

    La première explication rappelle l’instruction donnée en dictée à la personne qui écrit par la personne qui dicte : « à la ligne ». +

    L'usage d'alinéa comme portion structurelle de texte plutôt que comme marque de cette structuration correspond à ce que l’on sait du premier emploi du mot en français, qui se trouve dans la Correspondance de Jean-Louis Guez de Balzac, publiée en 1654 : +

    « À votre loisir, écrit-il à son correspondant, vous me ferez copier […] la Harangue de La Casa parce que je désire la mettre dans une préface à la fin des Lettres choisies. Mais je voudrais que la copie fust [divisée] en plusieurs sections, ou (pour parler comme Rocollet) en des a linea, comme sont tous mes discours, qui est une chose qui aide extrêmement celui qui lit et démesle bien la confusion des espèces. » (cité dans Littré, s.v. alinéa). +

    Pierre Rocolet est, à l'époque, imprimeur du roi Louis XIV ; « parler comme Rocolet », c’est préciser qu’« a linea » doit être pris au sens technique, typographique, c’est-à-dire « en commençant une nouvelle ligne », et, pour ce faire, en quittant la ligne en cours de composition sans la finir pour en commencer une nouvelle à distance de la marge gauche. +

    +

    Séparation des alinéas[modifier | modifier le code]

    +

    Il existe quatre façons de marquer les alinéas d'un texte : +

    +
    • l’alinéa rentrant, qui est le plus habituel : c’est un retrait de deux carreaux sur les cahiers d’écolier, ou d’un cadratin en typographie standard ; on parle aussi à son sujet d’indentation, de rentré ou de blanc. L'alinéa rentrant peut être inférieur au cadratin (notamment dans les quotidiens qui cherchent à gagner de la place, à ne pas raccourcir les lignes), mais aussi supérieur, voire très supérieur : dans les publications de luxe, il peut être du quart, du tiers, de la moitié, voire des deux tiers de la longueur de ligne (dite justification) ; +
      • Exemple d’alinéas rentrants de 2 em :
    +
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi.
    Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.
    +
    • l’alinéa saillant, dit aussi en sommaire, parce qu’il sert à composer les tables des matières et les listes à longs items ; on parle aussi à son sujet d’alinéa sortant ; +
      • Exemple d’alinéas saillants de 2 em :
    +
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi.
    Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.
    +
    • l’alinéa aligné, qui se marque par un simple retour à la ligne et à la marge gauche, sans retrait ni saillant ; si la ligne qui précède n’est pas pleine jusqu’à la marge droite de justification, elle reste creuse, et c’est uniquement le creux de la ligne, quand il y en a un, ce qui est le cas le plus fréquent, qui signale le retour à la ligne. Maurice Grevisse écrit dans Le Bon Usage : « Selon une mode typographique moderne, les imprimeurs ne mettent plus en retrait le début du texte en alinéa. La clarté n’a rien à gagner à cet usage nouveau. » ; +
      • Exemple d’alinéas alignés :
    +
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi.
    Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.
    +
    • le pavé, variante du précédent, où le passage d'un alinéa à l’autre n’est pas marqué par un retrait ni une ligne creuse, mais par un espacement vertical souvent nommé interligne ; c'est cet alinéa qui est le plus répandu pour le rendu des pages Web. +
      • Exemple de pavés :
    +
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam.Maecenas ligula massa, varius a, semper congue, euismod non, mi.

    Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.
    +

    Alinéa ouvrant, alinéa fermant[modifier | modifier le code]

    +

    L’alinéa ouvrant est le retrait d'un cadratin qui en bonne typographie standard vient en tête de l'alinéa. +

    L'alinéa fermant est la ligne creuse qui marque généralement la fin de l'alinéa. +

    Selon cette conception, chaque alinéa d’un texte suivi est compris entre un alinéa ouvrant et un alinéa fermant. +

    Jan Tschichold, typographe allemand, fait justement remarquer dans Livre et typographie (trad. fr. Paris, éd. Allia, 1994) que le premier alinéa qui suit un titre ou un intertitre n’a pas besoin d'alinéa ouvrant. À quoi on peut ajouter qu’en tout début de texte ou de section, l’alinéa ouvrant peut être remplacé par une lettrine. C'est de pratique courante en typographie anglaise. +

    +

    Variantes de l’alinéa ouvrant[modifier | modifier le code]

    +

    L’alinéa ouvrant possède un certain nombre de variantes où le signe blanc s’accompagne d’un signe noir : +

    +
    • l’alinéa guillemeté marque le début d'un alinéa de citation ou de discours rapporté direct, voire d'un dialogue avec la prise de parole d'un premier locuteur ;
    • +
    • l’alinéa tireté de dialogue, qui marque la prise de parole d’un nouveau locuteur, et parfois le début de dialogue lui-même, le tiret employé est généralement dans ce cas un tiret cadratin ;
    • +
    • l’alinéa suspendu, qui fait commencer l'alinéa par des points de suspension (qui peuvent eux-mêmes être suivis d’une minuscule) pour marquer la reprise du fil du texte après une coupure ou une interruption ;
    • +
    • l’alinéa tireté de liste, souvent en sommaire, qui sert à composer des listes : le tiret employé dans ce cas est généralement un demi-cadratin ;
    • +
    • l’alinéa listé, qui lui aussi sert à composer des listes ;
    • +
    • l’alinéa indexé, très voisin fonctionnellement des deux précédents, qui sert à créer des listes mais peut aussi alerter sur une note ou une clause : dans ce cas, le texte est précédé d'une manicule (petite main à l'index tendu).
    +

    Langage juridique[modifier | modifier le code]

    +

    Dans le langage juridique et la description des textes législatifs ou réglementaires, un alinéa (parfois désigné d'un pied-de-mouche ¶) peut être soit l'équivalent soit une subdivision d'un paragraphe (§) (en droit fédéral suisse, d'un article). +

    En France, deux règles ont pleinement coexisté avant la circulaire du 20 octobre 2000 : +

    +
    • l’une, spécifique au Parlement, sépare les alinéas par un retour à la ligne ;
    • +
    • l’autre, spécifique au Conseil d’État et au Gouvernement, sépare les alinéas par un point et un retour à la ligne.
    +

    Entre autres, des différences apparaissent dans les énumérations. La circulaire du fixe comme règle unique, pour les nouveaux textes, la règle du Parlement. Toutefois, les textes écrits avant cette date peuvent continuer à utiliser la règle d’origine du texte. +

    +

    Liens[modifier | modifier le code]

    +

    +

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-corporate-memphis b/sac/pages/fr-wikipedia-org-wiki-corporate-memphis new file mode 100644 index 0000000..048697f --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-corporate-memphis @@ -0,0 +1,633 @@ + + + + +Corporate Memphis — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Corporate Memphis

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +
    Illustration type Corporate Memphis provenant de la bibliothèque de design humaaans.
    +

    Corporate Memphis est un terme utilisé (parfois péjorativement) pour décrire un style artistique plat et géométrique, largement utilisé dans les illustrations des GAFAM à la fin des années 2010 [1] et au début des années 2020[2]. Les motifs courants sont des personnages en action, dessinés de manière plate, aux caractéristiques disproportionnées tels que des membres longs et courbés[2], et des traits du visage minimalistes. Le style a été critiqué pour son caractère générique[3], galvaudé, et sa tentative d'aseptiser la perception du public en présentant l'interaction humaine avec un optimisme utopique[1]. Il est également connu sous les noms de style Alegria[1], style Big Tech [4] et style d'art d'entreprise (en anglais, Corporate art style). +

    Le terme est une référence au Groupe de Memphis, un groupe italien d'architectes des années 1980 connu pour ses conceptions souvent considérées comme criardes[2]. +

    +

    Références[modifier | modifier le code]

    +
      +
    1. a b et c (en-US) Hawley, « Don’t Worry, These Gangly-armed Cartoons Are Here to Protect You From Big Tech », Eye on Design, (consulté le ) +
    2. +
    3. a b et c (en-GB) Josh Gabert-Doyon, « Why does every advert look the same? Blame Corporate Memphis », Wired UK,‎ (lire en ligne, consulté le ) +
    4. +
    5. (en) Quito, « Why editorial illustrations look so similar these days », Quartz, (consulté le ) +
    6. +
    7. (en) « Corporate Memphis; the design style that quietly took over the internet | shots », shots (consulté le ) +
    8. +
    + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-discussion-guerre-isra-c3-abl-hamas-de-2023-2024-neutralit-c3-a9 b/sac/pages/fr-wikipedia-org-wiki-discussion-guerre-isra-c3-abl-hamas-de-2023-2024-neutralit-c3-a9 new file mode 100644 index 0000000..27744c9 --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-discussion-guerre-isra-c3-abl-hamas-de-2023-2024-neutralit-c3-a9 @@ -0,0 +1,745 @@ + + + + +Discussion:Guerre Israël-Hamas de 2023-2024/Neutralité — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Discussion:Guerre Israël-Hamas de 2023-2024/Neutralité

    + +
    + + +
    + +
    + Le contenu de la page n’est pas pris en charge dans d’autres langues. +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Une page de Wikipédia, l'encyclopédie libre.
    +
    + + + +
    +
    Autres discussions [liste]
    +
    +
    +
    +
    +

    Cette page sert à présenter les points non neutres de la page pour en discuter afin de les améliorer. +

    + +
    +

    Copier/coller en début de cette liste le texte suivant : +

    +
    * 15 : [[:Guerre Israël-Hamas de 2023-2024]] mis en place par ~~~ ([[Discussion:Guerre Israël-Hamas de 2023-2024/Neutralité|justification]])
    +
    +

    Article(s) concerné(s) : Guerre Israël-Hamas de 2023 +

    + +

    Proposé par : Iennes (discuter) 20 décembre 2023 à 02:32 (CET)[modifier le code]

    +

    Problèmes de non-neutralité[modifier le code]

    +

    Article problématique, avec un biais pro-israélien tendance Droite Likoud voire plus par moments, asymétrie dans le récit, propension à raconter le massacre du 7 octobre avec emphase et moultes détails. Récit moins long d'une guerre de plus deux mois à l'intérieur de la bande de Gaza; dégâts minimisés, euphémismes. Ton non-encyclopédique, dissymétrie, sélection massive de sources de médias conservateurs. Sentiment véhiculé de tords non partagés avec plus de critiques envers le côté palestinien, # versus un compte rendu à minima des politiques israéliennes. +Or autant de place devrait être accorder à chacun des deux partis. Choix de termes/verbes/expressions qui diminuent à dessein la portée des actes/actions d'Israel, versus termes chargés de sens concernant tout ce qui a attrait au camp d'en face. +
    Fin décembre, j'ai relevé et réparé que quelques points [1][2] [3] parmi beaucoup d'autres. Ex: [4] le blocus d'un pays, Israel, envers une région faisant partie de son territoire, Gaza, était mis sur le même plan que la fermeture de frontière d'un pays extérieur, Egypte, qui n'a aucune droit sur Gaza. +

    Autre différence / parti pris dans le traitement, dans l'article: récit du 7 octobre, phrase registre émotionnel, avec non utilisation de guillemets - "elle a frappé de façon indiscriminée des soldats comme des civils, sans considération pour l'âge, le sexe, les opinions ou les handicap", # versus, récit dans Gaza, phrase registre neutre / déshumanisé avec guillemets - "« la campagne aérienne qui a entraîné la mort de plus de 11 000 personnes à Gaza, dont 4 700 enfants »", citation avec guillemets qui induit aussi une suspicion, alors que ce pourcentage d'enfants victimes gazaouis est admis dans les sources occidentales. Racisme: antisémitisme répertorié / mal endémique dûment documenté, versus # une xénophobie envers les palestiniens à qui leur identité en tant que peuple est niée- désignés comme "arabes", non répertoriée de la même manière; un suprémacisme de certains juifs israéliens -recensé et évoqué dans des sources, mais évoqué dans l'article en filigrane via le verbatim d'une déclaration d'un ministre israélien. +

    Impression régulière de lire un éditorial ou des pages opinions d'un journal de droite israélien comme The Jerusalem Post ou The Times of Israel / un plaidoyer pour Israel. Iennes (discuter) 20 décembre 2023 à 02:32 (CET)[répondre] +

    +

    Propositions pour la neutralisation[modifier le code]

    +

    Rééquilibrer l'ensemble, être attentif au choix des sources (surreprésentation de sources de droite conservatrice), retirer le ton emphatique, et rectifier ce que j'ai pointé ci-dessus. Iennes (discuter) 20 décembre 2023 à 02:45 (CET)[répondre] +

    +
    Bonjour, merci de me coller une etiquette Likoud voire plus par moments (je me demandais si ma colere envers le PM actuel ne se voyait pas trop),
    merci aussi de prendre les consequences, i.e. mon incapacite a avancer plus loin que le 7 octobre du fait des disputes editoriales, pour des causes, i.e. mon intention de produire un éditorial ou des pages opinions d'un journal de droite israélien comme The Jerusalem Post ou The Times of Israel (TOI un journal de droite ?!).
    +
    Sur les faits, Gaza ne fait plus partie d'Israel (contrairement a la Judee-Samarie/Cisjordanie qui est, elle, toujours disputee a ce jour) depuis 2005 et Palestine est, des son inception, une facon de dire "non" ou "anti-Judee/Israel". Les Arabes de Palestine mandataire refusaient d'etre appeles Palestiniens pour ne pas etre assimiles aux Juifs, et ils n'ont ete designes comme Palestiniens qu'apres 1967, par Yasser Arafat. Sur les faits aussi, Moussa Abou Marzouk a declare sans gene aucune que les tunnels du Hamas n'etaient pas pour les civils, et tant la Jordanie que l'Egypte ont refuse d'accueillir des refugies sur leur sol - la solution pour que ces massacres cessent, serait que les gens du Hamas sortent de leur cachette et affrontent l'armee israelienne a terrain ouvert mais ce serait a leur desavantage alors c'est plus facile de pratiquer la guerilla urbaine au mepris de qui s'y trouve, et de coller la responsabilite a Israel. Sur les guillemets, ils indiquent effectivement une suspicion vis-a-vis d'elements de langage, pas de faits averes. J'arrete pour le moment, pour des raisons IRL, et espere la resolution des problemes de facon equitable. Bien a vous Nathan m'écrire 20 décembre 2023 à 05:59 (CET)[répondre] +
    Entièrement d'accord avec le constat fait. Un fait révélateur du problème est que l'article est jugée d'importance élevée pour le projet:Israël, et serait d'importance moyenne pour le projet:Palestine (alors qu'il semble bien pourtant que de nombreuses voix pointent le risque de génocide et a minima la situation catastrophique des habitants de Gaza.)
    +
    Concernant les propositions de neutralisation, il y a un choix à faire, déjà pointé en PDD : faut-il sabrer tous les POV israéliens, ou bien les laisser en place et les contrebalancer par des POV équivalents côté palestinien ? Personnellement, il me semble que la première option est à privilégier.
    +
    D'autre part, matériellement, comment faire quand les éditions s'enchainent au rythme actuel ? Y aura-t-il des volontaires alors que les désaccords entrainent des guerres d'édition et que plusieurs contributeurs ont déjà jeté l'éponge ?
    +
    Nota : Certains détails d'actions à envisager sont déjà abordés (mais pas tous) dans les nombreux sujets ouverts de la PDD.
    +
    Remarque à l'attention d''Inyan : « La solution pour que ces massacres cessent serait que… » = hors-sujet. Source sans doute du déséquilibre de l'article. --Pa2chant.bis (discuter) 21 décembre 2023 à 01:01 (CET)[répondre] +
    @Pa2chant.bis Le problème de non neutralité a été remarqué par @Durifon, @Nouill, @JMGuyon et @Iennes, moi. On est démunis. Panam (discuter) 21 décembre 2023 à 01:11 (CET)[répondre] +
    Bonsoir Pa2chant.bis Émoticône, pourquoi hors-sujet ? Si le Hamas cessait ses operations de guerilla, Israel cesserait ses bombardements, les Israeliens haissent la guerre, contrairement a ce que les medias en depeignent, et ils ne veulent pas la mort des Palestiniens mais de leurs ennemis declares, i.e. le Hamas. Si les Palestiniens non-alignes sur le Hamas nourrissent des reves de destruction, tant pis pour eux, mais s'ils veulent une vraie coexistence dans le respect, les droits et obligations mutuels, la plupart des Israeliens la souhaitent aussi ! Bien a vous Nathan m'écrire 21 décembre 2023 à 16:41 (CET)[répondre] +
    @'Inyan WP:Wikipédia n'est pas un forum. Panam (discuter) 21 décembre 2023 à 17:00 (CET)[répondre]
    +
    @Pa2chant.bis Sur le fond, je suis en desaccord avec vous : il faut a mon sens entendre tous les sons de cloche pour tenter de determiner ou se trouve la zone d’harmonie, i.e. les faits - vous avez tres bien commence sur la documentation des massacres (bien qu’a mon sens, une description veritablement factuelle serait : « des corps ont ete retrouves decapites, bien qu’il ne soit pas possible de determiner si la decapitation etait volontaire comme l’avancent les instances israeliennes. » Toutefois, plus il y en a, moins l’hypothèse accidentelle semble probable.) Cela vous conviendrait-il ?-- Nathan m'écrire 21 décembre 2023 à 17:07 (CET)[répondre] +
    Les faits ne sont ni israéliens ni palestiniens, ce sont les faits, qui doivent être présentés de façon neutre, pas avec des lunettes fumées sous l'angle israélien. Les points de vue des deux parties peuvent être aussi être retranscrits, mais à petites doses et de façon équilibrée. Je ne suis aucunement intervenue pour documenter les massacres, je suis intervenue, principalement en PDD après votre revert, pour dénoncer l'utilisation de deux fake news, à savoir les 40 bébés décapités et la légende de la femme enceinte éventrée. Vous ne comprenez pas en quoi vos insertions sont problématiques, et Mylenos reproche à la communauté internationale d'être pro-Arabe car elle utilise le mot Cisjordanie. A ce stade de conviction, il me semble que le mieux serait que vous vous absteniez tous les deux d'intervenir sur l'article. Ce qui est sûr, c'est que je ne vais pas m'épuiser en discussions oiseuses et pénibles. --Pa2chant.bis (discuter) 24 décembre 2023 à 09:11 (CET)[répondre] +
    Les fais ne sont effectivement ni palestiniens ni israeliens et la plus belle preuve pour moi est quand I24 et Anadolu Ajansi disent la meme chose. Je vous signale avoir ouvert une sous-page utilisateur pour reduire les frictions et vous y avoir invitee, je vous y attends non sans anticipation/impatience. Bien a vous Nathan m'écrire 24 décembre 2023 à 09:29 (CET)[répondre] +
    Pa2chant.bis. Ne vous trompez pas ː je n'ai pas "reproché" à la communauté internationale d'être pro-arabe car elle utilise le mot "Cisjordanie" ː j'ai simplement rappelé comme étant un choix (empirique ?) de sa part ou un constat du nôtre dont il faut simplement être conscient ; d'abord en rappelant qu'avant telle date (1949 ?), donc grosso modo avant que le peuple juif n'obtienne son indépendance en possèdant son propre pays, la communauté internationale ne l'utilisait pas ou peu, puis en reprenant JMGuyon sur son assertion sur l'évidence qu'il trouvait que la communauté arabe préfère l'utiliser (j'écris en français, là ?), enfin en déduisant de ces 2 éléments que la communauté internationale serait pro-arabe à utiliser un terme remportant la massive adhésion du monde arabe - et pas le terme ancien que n'a pas abandonné son "ennemi" israélien. Il ne s'agit pas de ma part de "conviction" (en ai-je ?) mais d'Histoire. Dans cette même veine, Nathan a raison de rappeler que "Les Arabes de Palestine mandataire refusaient d'etre appeles Palestiniens pour ne pas etre assimiles aux Juifs, et ils n'ont ete designes comme Palestiniens qu'apres 1967, par Yasser Arafat" ; dans la littérature avant la Seconde GM, les Juifs était vulgairement appelés "Palestiniens" (les Arabes étaient appelés "Arabes" tout simplement) et on pouvait à l'occasion insulter les Juifs avec un "Retourne en Palestine ǃ" en France comme en Allemagne. Aujourd'hui, cet historique s'est estompé au point de s'effacer et moi-même, Française connaissant un peu l'Histoire dont celle contemporaine, vais utiliser le mot "Cisjordanie", comme "tout le monde". Ainsi, il ne m'a pas semblé fou ou partisan d'indiquer "Cisjordanie / Judée-Samarie" (renvoyant à la même géographie), tout comme j'essaie de le faire également pour "mont du Temple / esplanade des Mosquées" désignant le même lieu (mais pas la même histoire) ou "martyr / shahid" (que l'on confond souvent alors qu'on ne devrait pas). Parce que nous n'avons pas à parler systématiquement comme la "communauté internationale" (faillible car humaine) mais quelquefois aussi selon les vues en présence. Pas la peine de vous rappeler qu'il faut savoir d'où l'on parle, comme on dit.
    +
    Vous pointez en outre sur les fakes-news et pensez-bien que je les apprécie autant que vous. Il suffit à chacun d'être vigilant et de rectifier quand elles se présentent. En espérant qu'il sera beaucoup pardonné à ceux qui ici les propagent de bonne foi comme à ceux qui de bonne foi aussi nient des faits. Potentiellement, je nous inclus dans ces 2 catégories mais nous fais confiance a priori, d'autant le temps amènera des résultats d'enquête que nous rapporterons avec la même volonté de bien faire.
    +
    Maintenant, vous conseillez que Nathan et moi (tiens ǃ) nous éloignions de la page... Pour ma part, c'est déjà fait pour avoir grillé plusieurs soirées & dimanches à m'immerger dans des PdD pénibles au lieu de travailler (documentation, lecture, traduction, vérification, tri, rédaction, puzzle...) et franchement, de par trop m'embrouiller dans la forêt des reverts & éditions. J'y pointe à présent rarement le bout de mon nez. En revanche, il est regrettable que vous vouliez vous/nous priver de l'apport formidable des vues & sources d'un contributeur comme Nathan. Cdmt' * Mylenos * (discuter) * 24 décembre 2023 à 14:42 (CET)[répondre] +
    A Nathan. Qu' I24 et Anadolu "disent la même chose" illustre parfaitement la contradiction que j'opposais à JMGuyon sur son analyse des sources (au sujet des POV), il y a qq 2 semaines, semblant pourtant documentée. A mon sens, trop manichéenne et de ce fait, comportant des erreurs d'appréciation regrettables. Ok, disons que c'est du passé. * Mylenos * (discuter) * 24 décembre 2023 à 14:53 (CET)[répondre]
    +
    Pourquoi s'être senti visé ? OPI 27 59 (discuter) 21 février 2024 à 23:08 (CET)[répondre]
    +
    Je n'ai pas suivi la discussion ici, mais c'est la première fois que je vois dans Wikipédia un raisonnement fondé sur 2 sources non recevables, pour en tirer une conclusion quelle qu'elle soit. Il faut partir des bonnes sources, elles sont très nombreuses ! Pourquoi perdre du temps à lire et commenter des sources qui ne peuvent pas servir à rédiger cet article wp.--JMGuyon (discuter) 24 décembre 2023 à 14:57 (CET)[répondre] +
    Ok mais Anadolu et I24 rapportent aussi des faits sans parti pris. Juste des faits, sans les commenter. Leur irrecevabilité serait discutable. * Mylenos * (discuter) * 24 décembre 2023 à 15:08 (CET)[répondre] +
    Ce sont deux sources non recevable pour deux raisons différentes. Panam (discuter) 24 décembre 2023 à 15:14 (CET)[répondre] +
    La notion de "rapporter des faits sans parti pris" pour des sources qui relatent une guerre n'existe pas à ma connaissance.
    +
    Par ailleurs, des partis ennemis peuvent avoir des intérêts ponctuellement convergents.
    +
    "Croiser les sources" s'entend uniquement pour "les sources valables". Il est évident que qu'il n'est pas question de "croiser" 2 sources complotistes de camps politiques différents (je ne dis pas que i24 ou AA sont complotistes, je n'en sais rien, c'est juste pour illustrer la méthode à ne pas suivre). --JMGuyon (discuter) 24 décembre 2023 à 15:16 (CET)[répondre]
    +
    @JMGuyon et @Mylenos je ne vois pas de source qui dit que Y. Arafat a repris à son compte le nom Palestiniens pour désigner son peuple. On a Gouvernement de toute la Palestine dès 1948. Panam (discuter) 24 décembre 2023 à 15:17 (CET)[répondre] +
    ça date de 1898 (voir les sources de la page). Panam (discuter) 24 décembre 2023 à 15:30 (CET)[répondre] +
    @Panam2014 Bonsoir, je vous recommande une lecture rapide de en:Palestinian identity. Cdt Nathan m'écrire 24 décembre 2023 à 17:29 (CET)[répondre] +
    Mais aussi ceci. Donc on parlait de Palestiniens avant 1967. Panam (discuter) 24 décembre 2023 à 17:42 (CET)[répondre] +
    SVP, je ne faisais pas dans la polémique, j'indique simplement et clairement que plusieurs historiens font remonter l'acceptation de Palestinien dans son sens moderne en 1967 ou à l'entre-deux-guerres mondiales, c'est le même genre de minimalisme et maximalisme qui ont cours sur la véracité historique de la Bible hébraïque-- Nathan m'écrire 24 décembre 2023 à 17:49 (CET)[répondre] +
    Un point de vue marginal pour 1967. Et qui est historiquement faux puisque comme je l'ai prouvé, les nationalistes palestiniens appellent, dès 1948, Palestine, l'Etat qu'ils revendiquent. Panam (discuter) 24 décembre 2023 à 17:56 (CET)[répondre] +
    S’il est faux ou marginal, pourquoi n'est-il pas présenté comme tel ? De plus, le but des nationalistes n’était pas l’établissement d’un État mais la disparition de l’état ou entité sionistes (au fait, j’ai proposé une nouvelle version de la section contexte en PdD générale Sourire diabolique, voudriez-vous bien y jeter un œil?)-- Nathan m'écrire 24 décembre 2023 à 18:11 (CET)[répondre] +
    Il est faux, sinon on aurait pas un gouvernement autoproclamé nommé Gouvernement de toute la Palestine. Donc il est faux de dire que les nationalistes rejetaient le qualificatif de Palestinien. Panam (discuter) 24 décembre 2023 à 18:15 (CET)[répondre] +
    Je répète, c'est par définition un désaccord entre deux POV, aucun de nous ne convaincrait l'autre et la vérité se trouve sûrement au milieu-- Nathan m'écrire 24 décembre 2023 à 18:31 (CET)[répondre] +
    Il a été prouvé par A+B que ce POV ne correspond pas à la réalité historique. Je veux bien que vous vous trompez, mais que vous vous obstinez à défendre un POV faux, c'est inacceptable. Panam (discuter) 24 décembre 2023 à 18:41 (CET)[répondre] +
    Non, justement, vos preuves sont irrecevables à mes yeux (ou aux yeux de votre contradicteur) et réciproquement, j’y verrai manipulations, inexactitudes, falsifications etc. et réfuterai vos réfutations irréfutables, c’est le propre du POV (autre ex de POV : celui de l'ONU quant à l'origine de la guerre, jugé irrecevable en Israël, et parole d’Évangile en Occident). C’est pourquoi je pense que les POV doivent être exposés et présentés comme tels, avec réfutations à gauche et à droite, sachant que chacun juge de son propre POV-- Nathan m'écrire 24 décembre 2023 à 19:51 (CET)[répondre] +
    @'Inyan les choses ne fonctionnent pas de cette manière. Prétendre malgré l'apport de preuves que les Palestiniens n'existaient pas avant 1967 (ou qu'il y a un doute sur leur existence) ou que le Gouvernement de toute la Palestine n'a jamais été proclamé relève du WP:POV pushing.
    +
    Prière de lire Wikipédia:Neutralité_de_point_de_vue#La_neutralité_de_point_de_vue_ne_permet_pas_de_prétendre_que_tous_les_points_de_vue_se_valent. Bref merci de cesser de présenter un POV contraire aux faits comme potentiellement vrai par relativisme. Du même niveau que le POV pro-russe qui nie l'historicité de l'Ukraine, ce qui ressemble au principe des faits alternatifs. Panam (discuter) 24 décembre 2023 à 19:59 (CET)[répondre] +
    Je ne pense pas qu'on dira cela mais qu'on atténuera cela au nom de propagande grossissant les faits ou en rappelant les POV que vous avez dit vous-même (il n’y avait pas de peuple ou nation palestinienne) : vous apporterez cela, je vous répondrai que des immigrants et travailleurs économiques d'Égypte ou d'ailleurs ont été requalifiés de Palestiniens ipso facto. Je vous citerai l'acte de naissance de Yasser Arafat en Égypte, vous me répondrez etc. Je répète qu'à mes yeux, la NPOV présente tous les POV (et, effectivement, leurs poids respectifs : la diplomatie européenne vs la diplomatie israélienne dans le cas de POV équilibrés ou l'avis de la communauté scientifique vs une théorie en vogue dans les réseaux sociaux et parmi les sympathisants de X ou Y)-- Nathan m'écrire 24 décembre 2023 à 20:12 (CET)[répondre] +
    @'Inyan des immigrants et travailleurs économiques d'Égypte ou d'ailleurs ont été requalifiés de Palestiniens ipso facto est un POV d'extrême droite israélienne. Présenter Arafat comme Egyptien relève de la fake news.
    +
    Wikipédia:Neutralité_de_point_de_vue#La_neutralité_de_point_de_vue_n'est_ni_un_point_de_vue_intermédiaire,_ni_un_point_de_vue_particulier Panam (discuter) 24 décembre 2023 à 20:16 (CET)[répondre]
    +
    Dans le cas d'Israël vs Palestine, je pense qu’il faut présenter les 2 ou plusieurs POV-- Nathan m'écrire 24 décembre 2023 à 20:14 (CET)[répondre]
    +
    Le titre de l'article est aussi problématique. Pourquoi l'appeler "Guerre Israël-Hamas" ? Il y a une asymétrie dans les termes. Israël est un État et un territoire. Le Hamas est un groupe politico-militaire qui domine un territoire, la bande de Gaza. Normalement, on nomme une guerre du nom des États/territoires qui s'opposent. On dit "guerre russo-ukrainienne" et non "guerre poutino-ukrainienne". Idem quand l'un des deux États n'est pas reconnu, comme "Seconde guerre de Tchétchénie" entre la Russie et les séparatistes tchétchènes.
    +
    Même en 2001, quand les États-Unis et leurs alliés ont envahi l'Afghanistan dans leur guerre contre le terrorisme et Al-Qaïda, on n'a pas parlé de "Guerre États-Unis - Al Qaïda", mais bien de "campagne d'Afghanistan" selon le titre de l'article wiki français, ou de "United States invasion of Afghanistan" (invasion américaine de l'Afghanistan") selon le titre de l'article wiki anglophone.
    +
    Appeler ce conflit "guerre Israël-Hamas" est une façon de valider implicitement la position israélienne selon laquelle il s'agit d'une guerre contre le terrorisme, contre le Hamas et pas contre la bande de Gaza en tant que telle. Ce point de est à tout le moins contestable. Et valider le point de vue d'un des deux belligérants n'est pas compatible avec la rigueur encyclopédique.
    +
    C'est pourquoi je propose "Invasion israélienne de la bande de Gaza". Qu'en pensez-vous ? KwentiTwinkel (discuter) 22 janvier 2024 à 16:35 (CET)[répondre] +
    Votre remarque est fondée, cependant la "bande de gaza" n'est pas un territoire politique reconnu (car faisant partie de l'Autorité palestinienne), par ailleurs "Seconde guerre de Tchétchénie" fait surtout référence à la zone géographique (il serait donc selon cette taxonomie légitime d'introduire l'expression "guerre de gaza" ou de se référer à celui, plus large et déjà consacré, de "conflit palestinien"). Enfin, la "campagne d'afghanistan" renvoie principalement à l'aspect militaire de la chose, et l'article correspondant serait plutôt "War on Terror".
    +
    C'est bien contre le "Hamas" qu'Israel prétend se battre, et ils ne contrôlent de fait qu'une partie du territoire reconnu comme "palestinien" (i.e. l'Autorité palestinienne conserve la légimité du pdv international).
    +
    "Invasion israelienne de la bande de Gaza" semble nier l'agression initiale du Hamas, peut-être pour un article plus spécialisée sur l'invasion proprement dite, et non le conflit 2023-2024? Théodorose (discuter) 15 mars 2024 à 15:07 (CET)[répondre] +
    Vous avez raison quant au fait que « invasion de la bande de Gaza » ne prend pas en compte l’attaque initiale du 7 octobre et ne serait donc approprié que pour un article plus spécialisé. D’ailleurs, un tel article existe dans le Wiki anglais (“Israeli invasion of the Gaza Strip (2023-present)”) ; dans le wiki français, il a un titre légèrement différent, « Offensive terrestre israélienne de 2023-2024 dans la bande de Gaza ».
    +
    Cependant, mes réserves sur le titre actuel demeurent. De surcroît, avec "Guerre Israël-Hamas", on ne sait pas trop que faire des évènements qui ont lieu en parallèle en Cisjordanie. Le Hamas n'y est pas présent, mais il s'y passe quand même des choses... qui sont incluses dans le présent article (et de fait, il est difficile de dissocier complètement les deux territoires palestiniens).
    +
    Ayant pris en compte tous ces éléments, on pourrait proposer « Guerre israélo-palestinienne de 2023-2024 » ? Cela permet d'inclure le 7 octobre, c'est plus large que la seule invasion, mais plus spécifique que « conflit israélo-palestinien », et les évènements qui ont lieu en Cisjordanie y auraient toute leur place. KwentiTwinkel (discuter) 15 mars 2024 à 16:54 (CET)[répondre] +
    Bien qu'il existe certainement des troubles en Cisjordanie, ils sont annexes à l'article, qui traite principalement, dans son contenu, des opérations militaires d'Israel à Gaza, et à nouveau les palestiniens ne sont pas considérés comme la cible officielle de Tsahal, mais le Hamas, en tant que faction.
    +
    Ainsi, mentionner la Palestine ou son peuple dans le titre serait trop totalisant ; les deux conflits sont certainement liés, mais parce qu'ils relèvent tous deux, avec des causes et des conséquences similaires, du conflit israelo-palestinien. On peut les dissocier en des périodes données, compte tenu notamment de la différence des enjeux et des moyens engagés.
    +
    Un énoncé neutre, prenant en compte les deux événements, serait pour moi "Attaque du Hamas & représailles israeliennes à Gaza de 2023-2024", (je considère le terme "guerre" malvenu, c'est un conflit asymétrique entre un Etat et une population) mais c'est à mon avis excessivement long. Théodorose (discuter) 15 mars 2024 à 18:28 (CET)[répondre]
    +

    Constatez : vous-même minorez en attribuant ceci à l'extrême droite et cela comme une Fake news, vraiment ? (et non, je tiens pas a epiloguer dessus). Je répète que présenter les POV en incluant les éléments en faveur et défaveur mais sans trancher puisqu'on ne convainc au final que les convaincus, ne me semble pas une si mauvaise méthode-- Nathan m'écrire 24 décembre 2023 à 20:27 (CET)[répondre] +

    +
    @'Inyan Quora = Forum. Merci de confirmer qu'il s'agit de désinformation qui a cours sur les réseaux sociaux. Les POV relevant de la propagande n'ont pas leur place sur WP. Panam (discuter) 24 décembre 2023 à 20:31 (CET)[répondre] +
    Cela implique aussi qu'on ne peut donner plus de poids à une opinion ou à une thèse qu'elle n'en possède réellement, et présenter ainsi une vue minoritaire voire ultra-minoritaire comme ayant autant de poids qu'une vue largement acceptée. Panam (discuter) 24 décembre 2023 à 20:35 (CET)[répondre] +
    C'est vrai MAIS on ne peut considerer l'opinion partagee par un pays comme minoritaire voire ultra-minoritaire, et ne pas lui accorder de place ou de poids - juste dire qu'il est question du POV d'Israel/du Hamas/du Fatah etc. Nathan m'écrire 24 décembre 2023 à 20:47 (CET)[répondre] +
    @'Inyan ce n'est pas un argument. Le nombre (à confirmer par des sources fiables) ne fait pas la vérité, et l'opinion de Poutine est selon des sources occidentales celle partagée par la majorité des Russes en Russie, ça n'empêche qu'elle n'a pas sa place sur WP car il a été démontré qu'elle est fausse et non retranscrite par des sources fiables. Majoritaire dans l'opinion ou non, un POV minoritaire n'a pas à être mentionné voir WP:PROPORTION en l'absence de sources fiables. Panam (discuter) 24 décembre 2023 à 20:51 (CET)[répondre] +
    Ah, non, c'est l'exemple-type du parti pris de l'information. La vérité est, à mon sens, qu'il y avait certes une conscience ethnique ruthénienne mais pas une conscience nationale ukrainienne jusqu'à Staline — Poutine et les Russes se baseraient sur l'état ante quem, et l'Occident sur le post-quem, avec pour résultat l'imperméabilisation mutuelle aux arguments de l'autre. De même, au sujet de l'article présent, JL Mounier et France info incriminent Israël dès sa création en s'« accaparant » un territoire qui ne lui revient pas et en récidivant en 1967, alors que la guerre de 1947 a pour origine le refus arabe du plan de partage — ils voulaient les Juifs « dehors », ils se sont retouvés avec des Juifs « partout. » Puis viennent les nouveaux historiens qui ont montré que ça n'a pas été si manichéen, et dont les conclusions — qui desservaient un but ou une vision politique — sont revues à l'aune de la réfutation des faits (i.e. il semble que tant Arafat à Camp David que le Hamas maintenant, ne veulent pas de « compensation territoriale » mais la disparition d'Israël, qui au nom d'un idéal tiers-mondiste qui a fait d'Israël une entité occupante, colonisatrice et illégitime, qui au nom du Dar es Salaam). En passant, je ne suis pas d'accord avec la « complexité » dont on targue le conflit, il est au contraire très simple mais insoluble si le but est de satisfaire tout le monde alors des puissances alliées tentent de le faire au vu de leurs propres intérêts. Ça vous va comme cela ?-- Nathan m'écrire 25 décembre 2023 à 06:03 (CET)[répondre] +
    France Info est une source secondaire de qualité. Elle n'a pas de parti-pris pro arabe ou pro-palestinien. Affirmer le contraire est problématique comme rappelé par @Pa2chant.bis pour la Cisjordanie. Pour le reste, selon le droit international, la colonisation est un crime de guerre comme l'a rappelé @JMGuyon. Israël a le droit d'exister et son droit à l'existence est garanti par le droit international et ses frontières internationalement reconnues sont connues. Au passage, l'empire ottoman n'était pas opposé à la première et à la deuxième alya. Par ailleurs, des propriétaires terriens arabes ont à l'époque vendu leurs terre aux immigrants.
    +
    Cependant, aucune source secondaire de qualité n'affirme que des Egyptiens ont été naturalisés palestiniens dans le but de légitimer la création d'un Etat palestinien. Ni que les Palestiniens n'existaient pas avant 1967, ni qu'il y a débat, et encore moins que les nationalistes arabes de Palestine se définissaient autrement comme Palestiniens, et revendiquaient un Etat palestinien.
    +
    Les POV marginaux ne reposant pas sur des sources fiables n'ont pas à être insérés dans les articles, voir ici, ici, ici, ici, ici, .
    +
    Pour donner un exemple, bien que les USA soient une démocratie et Trump très populaire, on reprend rarement le POV trumpiste sauf quand celui-ci fait polémique et qu'on a des sources pour réfuter ses affirmations. On ne fait pas de 50/50.
    +
    Enfin, dans le cadre de l'invasion de l'Ukraine par la Russie, il a été décidé ne pas utiliser de sources ukrainiennes, même si elles sont de meilleure qualité que les sources poutiniennes, et privilégier les sources occidentales. Le plus sage est de faire de même ici. Panam (discuter) 25 décembre 2023 à 14:15 (CET)[répondre] +
    Bonjour, les grands esprits se rencontrent Sourire, vos arguments rejoignent ou rencontrent les miens sur la réponse que j'ai faite à JMGuyon, on finira bien par trouver le terrain d’entente !-- Nathan m'écrire 25 décembre 2023 à 21:02 (CET)[répondre]
    +

    Manipulation dangereuse de l'opinion Publique[modifier le code]

    +

    Falsification des informations, nombres de morts, les drapeaux et surtout les parties prenantes... Isreal contre Gaza et israel comet un génocide à Gaza contre les palestiniens... Hamas c'est le mouvement de résistance qui était formé et finance par Isreal en plus... 93.27.222.167 (discuter) 26 décembre 2023 à 04:42 (CET)[répondre] +

    +
    Mais oui, bien sûr-- Nathan m'écrire 26 décembre 2023 à 10:19 (CET)[répondre]
    +

    Inversion de neutralité[modifier le code]

    +

    Je constate que la prétendue neutralisation de la section "Causes et Contexte" a abouti à une non-neutralité inverse. L'affirmation, sans aucune autre preuve que l'autorité suspecte de Henry Laurens, que "les kibboutz pris pour cible par les assaillants du 7 octobre, ( ...) étaient fondés sur l'emplacement de villages habités par des Palestiniens jusqu'en 1948" est scandaleuse. MLL (discuter) 30 décembre 2023 à 16:21 (CET) +Je constate que la prétendue neutralisation de la section "Cause et Contexte" a abouti à une non-neutralité inverse. MLL (discuter) 30 décembre 2023 à 16:05 (CET)[répondre] +

    +
    La qualification de "scandaleuse" pour une affirmation sourcée avec le meilleur auteur qui soit cité sur cette page, Henry Laurens, professeur au Collège de France, jette quelque doute à mon avis sur la méthode permettant d'évaluer la neutralité d'un texte de Wikipédia.
    +
    Je constate que 6 ou 7 contributeurs ont pendant des semaines analysé les sources présentes dans l'article, les ont confrontées à d'autres sources, ou au texte de l'article wp, avant de poser un bandeau neutralité.
    +
    Je constate que le message ci-dessus, et le nouveau bandeau neutralité, ont été déposés sans le moindre effort de lecture des sources, ni aucun effort de confrontation avec d'autres sources équivalentes et avec le texte de Wikipédia. --JMGuyon (discuter) 30 décembre 2023 à 16:27 (CET)[répondre]
    + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-guerre-d-27-c3-a9diteurs-de-texte b/sac/pages/fr-wikipedia-org-wiki-guerre-d-27-c3-a9diteurs-de-texte new file mode 100644 index 0000000..ab88882 --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-guerre-d-27-c3-a9diteurs-de-texte @@ -0,0 +1,842 @@ + + + + +Guerre d'éditeurs de texte — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Guerre d'éditeurs de texte

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +

    Il existe une tradition datant du début des années 1970 (et donc dès les débuts du travail courant sur écran d'ordinateur) chez les programmeurs, qui consiste à défendre son logiciel éditeur de texte favori avec une passion qui n'est pas sans rappeler à certains celle du fanatisme religieux. De nombreuses flamewars se sont déroulées entre des groupes qui s'insultaient les uns les autres en soutenant que l'éditeur de texte de leur choix était l'outil parfait pour l'édition. +

    + +

    Emacs contre vi[modifier | modifier le code]

    +
    Evocation du dilemme du choix d'un éditeur lors de la convention SOTM 2012.
    +

    Les guerres d'éditeurs éclatent habituellement entre les inconditionnels d'Emacs et ceux de vi, les deux éditeurs de texte les plus populaires sur les systèmes UNIX. +Existants depuis près de 40 ans et étant tous les deux très populaires[1], un grand nombre d'utilisateurs et programmeurs UNIX utilisent ou ont utilisé l'un de ces deux logiciels, et parfois les deux[2]. +Les dernières enquêtes montrent cependant que ces deux logiciels historiques perdent du terrain en terme de popularité face à de nouveaux outils de développement tels que Visual Studio Code[3]. +

    Il arrive fréquemment qu'à un moment de la discussion, quelqu'un avance qu'ed est l'éditeur de texte standard. Cette boutade est également reprise par la Free Software Foundation[4]. +

    Cette rivalité entre les deux éditeurs est prise au sérieux par certains, et tournée en dérision par d'autres. Richard Stallman, par exemple, a inventé toute une phraséologie autour d'Emacs, parodiant une religion dont le but serait de célébrer cet éditeur et de décourager les utilisateurs de vi. Il s'est ainsi autoproclamé Saint IGNUcius, un saint de l'Église Emacs. Emacs dispose d'ailleurs de son propre groupe de discussion sur l'arborescence alt.religion : news:alt.religion.emacs. +

    De leur côté, les adeptes de vi ont créé le Culte de Vi, que certains utilisateurs d'Emacs appellent « clairement une misérable tentative pour singer leurs maîtres ». +

    +

    Avantages allégués d'Emacs[modifier | modifier le code]

    +
    • Emacs n'est pas qu'un éditeur de texte, c'est un environnement de développement complet.
    • +
    • Le langage de script d'Emacs est une variante de LISP et de nombreux plugins sont disponibles comme le client de courrier électronique et lecteur de nouvelles Gnus ou Org-mode le système d'organisation de notes et de Programmation lettrée.
    • +
    • Emacs inclut vi, sous forme du viper-mode et de l'EVIL-mode (mais Emacs n'inclut pas Vim, un clone amélioré de vi) (a noter que les raccourcis clavier de vi et vim sont extrêmement similaires).
    • +
    • Emacs ne nécessite pas de va-et-vient entre les modes « commande » et « insertion ».
    • +
    • Pour le néophyte, le fonctionnement est naturel : chaque pression d'une touche du clavier affiche le caractère correspondant à l'écran.
    +

    Avantages allégués de vi[modifier | modifier le code]

    +
    • Vi n'est pas qu'un éditeur de texte, c'est un environnement de développement complet une fois les bons plugin ajoutés.
    • +
    • Les commandes de vi nécessitent rarement l'utilisation des touches de modification, comme Ctrl ou Alt. Certains utilisateurs trouvent que cela réduit les troubles musculosquelettiques (comme le syndrome du canal carpien).
    • +
    • Les raccourcis clavier de vi ont une syntaxe de la forme nombre-verbe-sujet, qui permet d'apprendre plus facilement beaucoup de commandes, grâce au fait qu'apprendre un nouveau verbe permet de l'utiliser avec tous les sujets que l'on connaît déjà
    • +
    • Vi est plus léger et plus rapide qu'Emacs.
    • +
    • La présence de vi est garantie par les standards POSIX.
    • +
    • Vim, un éditeur populaire basé sur Vi est scriptable dans des langages courants tels que Perl, Python et Ruby.
    • +
    • Vi fonctionne mieux avec les terminaux passifs. Bien que ce ne soit pas aussi important qu'auparavant, cela peut être essentiel, par exemple quand les défaillances du système ont atteint un point où l'environnement graphique ne peut pas démarrer et que l'on dispose d'un environnement console très limité.
    • +
    • Les combinaisons de touches d'Emacs entrent en conflit avec certaines implémentations de telnet.
    • +
    • L'utilisation des fonctionnalités avancées nécessite généralement moins d'effort de configuration dans Vi que dans emacs.
    +

    Expressions humoristiques[modifier | modifier le code]

    +
    Richard Stallman en St IGNU–cius, un saint de l'Église de Emacs
    +
    • L'utilisation d'une implémentation libre de vi n'est pas un péché, mais une pénitence. (Richard Stallman)
    • +
    • Emacs est un très bon système d'exploitation auquel il ne manque qu'un bon éditeur de texte.
    • +
    • Vim est un éditeur ; il ne cherche pas à inclure « tout sauf l'évier de la cuisine » mais vous pouvez nettoyer le vôtre avec Vim.
    • +
    • « VI VI VI, le chiffre de la bête ! » disent les emacsiens de l'Église de Emacs.
    • +
    • Emacs - Esc-Méta-Alt-Control-Shift. (auparavant Eight Megabytes And Constantly Swapping, « Huit mégaoctets et échange mémoire constant » du temps où cette taille mémoire était considérée comme élevée).
    • +
    • Emacs Makes A Computer Slow (« Emacs ralentit l'ordinateur », sous forme d'acronyme récursif)
    • +
    • Emacs : Emmerdement à caractère systématique.
    • +
    • C'est comme ZZ dans VI.
    • +
    • Vi a 2 modes « faire des bips » et « tout casser ».
    • +
    • Vi est très simple à apprendre. La seule combinaison de touches à connaître est « : q u i t ! (entrée) » (commande pour en sortir).
    +

    Éditeurs pour mainframes[modifier | modifier le code]

    +

    Les guerres d'éditeurs n'ont pas épargné les mainframes, et c'est même sur ces derniers qu'elles ont commencé. Si dans le monde du full-screen un consensus de présentation a été rapidement adopté menant à des éditeurs cousins comme EDGAR (EDiting Graphically And Recursively[réf. nécessaire], le pionnier), XEDIT (Xavier's EDITor, sous VM/CMS) et l'éditeur d'ISPF (sous MVS/TSO), une bataille a fait rage pendant dix ans concernant les commandes UP et DOWN sur chaque éditeur : UP devait-il faire monter le pointeur dans le texte, ou au contraire faire monter le texte sur l'écran ? Une remarque finit par privilégier l'un des points de vue : puisque dans tous les éditeurs, TOP plaçait au début du texte et BOTTOM à la fin, était-il plus logique que UP rapproche de TOP ou de BOTTOM ? La réponse devenait dès lors évidente et tous les éditeurs de mainframes IBM s'alignèrent alors sur ce choix. +

    Les éditeurs pour mainframes étaient conceptuellement très différents des éditeurs interactifs, car il n'était pas question dans le premier contexte de solliciter l'unité centrale à chaque touche pressée. Il fallait se contenter des possibilités d'interaction locales - assez riches toutefois - de l'unité de contrôle associée à l'écran. Pour cette raison, il était aussi difficile de passer de Vi à XEDIT que de XEDIT à Vi, ce qui créa une nouvelle guerre d'éditeurs entre éditeurs mainframes et éditeurs totalement interactifs. Des clones d'XEDIT furent créées pour le contexte interactif, par exemple GEDIT ou The Hessling Editor. Il était en revanche structurellement impossible de porter Vi sur mainframe, sauf à le programmer dans le langage de l'unité de contrôle elle-même : les outils pour le faire n'étaient pas disponibles, et la mémoire de ces unités de contrôle de toute façon trop petite pour y porter tout Vi, a fortiori EMACS. +

    Depuis lors la situation a changé : Linux (y compris Emacs et Vim) a été porté (en) sur System z et la « guerre » entre ces deux éditeurs peut se poursuivre sur ces mainframes. +

    Note : un éditeur nommé xedit fait partie des samples livrés avec X Window. Il n'a pas de rapport avec XEDIT. +

    +

    Voir aussi[modifier | modifier le code]

    + +

    Références[modifier | modifier le code]

    +
      +
    1. (en) David Auerbach, « The Oldest Rivalry in Computing », sur Slate,  : « two rival programs can stake a claim to being among the longest-lived applications of all time. Both programs are about to enter their fifth decades. Both programs are text editors, for inputting and editing code, data files, raw HTML Web pages, and anything else. And they are mortal enemies. » +
    2. +
    3. (en) « Choosing an Editor » : « these two editors express sharply contrasting design philosophies, but both are extremely popular and command great loyalty from identifiable core user populations. Surveys of Unix programmers consistently indicate about a 50/50 split between them, with all other editors barely registering. » +
    4. +
    5. (en) « Stackoverflow 2023 Developer Survey », (consulté le ) +
    6. +
    7. (en) « Ed, man! !man ed », (consulté le ) +
    8. +
    +
    +

    Références externes[modifier | modifier le code]

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-international-standard-book-number b/sac/pages/fr-wikipedia-org-wiki-international-standard-book-number new file mode 100644 index 0000000..7d15d3d --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-international-standard-book-number @@ -0,0 +1,1388 @@ + + + + +International Standard Book Number — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    International Standard Book Number

    + +
    + + +
    + +
    + + + +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +

    +

    + +

    L'International Standard Book Number (ISBN) ou Numéro international normalisé du livre est un numéro internationalement reconnu, créé en 1970, identifiant de manière unique chaque édition de chaque livre publié[1],[2] postérieurement à l’introduction de l’ISBN, quel que soit son support[3]. Cet identifiant pérenne est destiné à simplifier la gestion pour tous les intervenants de la chaîne du livre (éditeurs, imprimeurs, grossistes, libraires, bibliothèques). En 2007, le numéro ISBN est passé de 10 à 13 chiffres pour compatibilité avec le code-produit GTIN-13[4], base du code-barres universellement utilisé dans la distribution. +

    L'ISBN s'applique aux livres, quel que soit leur support : celui-ci peut être le support papier traditionnel ou les fichiers pour liseuse, par exemple (chaque forme donnant lieu à un numéro d'ISBN différent). +

    En revanche, les publications qui ne sont pas soumises au dépôt légal ne sont pas soumises à l'ISBN. +

    + +

    Historique[modifier | modifier le code]

    +

    Dans les années 1960, en Grande-Bretagne, l'entreprise W. H. Smith and Son Ltd., important distributeur de livres britanniques cherchait à simplifier sa gestion en pourvoyant chaque édition de chaque ouvrage d'un identificateur unique. Elle fit appel à Gordon Foster (en), professeur de statistiques au Trinity College de Dublin. Celui-ci créa le SBN à neuf chiffres, lequel fut mis en œuvre en 1967 en Grande-Bretagne, puis en 1968 aux États-Unis[5]. En 1970, l'ISO (International Standard Organisation) internationalisa le concept en normalisant l'ISBN à 10 chiffres pourvu d'un code local[6]. +

    +

    Implantation de l'ISBN et code-barres[modifier | modifier le code]

    +

    Dans les années 1960 et 1970, malgré la simplicité de son système universel, son implantation a été inégale à l'échelle de l'industrie, prenant parfois de dix à quinze ans afin d'être en place[7]. En dépit de son intention de rendre plus efficace la distribution des livres imprimés, tous les ISBN devaient tout de même être entrés manuellement, donc toujours en proie à l'erreur humaine lors de la saisie[8]. +

    À la fin des années 1970, en quête d'une solution de rechange pour mieux développer la diffusion de l'ISBN, l'industrie du livre se tourna vers un partenaire original : l'industrie alimentaire[8]. En peu de temps, quelques épiciers ont adopté l'utilisation du code universel de produit (UPC) afin d'avoir un suivi des ventes, des retours et du stockage ainsi que pour éliminer les tâches répétitives, chronophages et faillibles dans l'établissement des prix[8]. L'industrie américaine du livre s'est donc inspirée de cette méthode afin de développer un système de reconnaissance optique (OCR-A) qui, contrairement à l'UPC, serait à la fois possible d'être numérisés et visible à l'œil[8]. Toutefois, cette solution n'était pas tout à fait adaptée à la réalité des besoins de l'industrie en raison des difficultés pour les lecteurs OCR de lire des codes qui n'était pas en caractères noirs sur un arrière-plan plus pâle. Puisque l'industrie refusait de normaliser les formats pour s'accommoder à la reconnaissance optique, le système a été abandonné[8]. +

    En 1980, loin de se décourager, l'agence internationale ISBN s'est tournée vers un autre système de code à barres, soit le European Article Numbering (EAN). En vertu d'une entente avec l'organisation de l'EAN, l'industrie du livre s'est vu confier son propre préfixe, soit 978, qui signifie « Bookland », l'endroit d'où proviennent tous les livres[9]. Puisque cette initiative a contribué à son implantation en Europe, les États-Unis ont approuvé son utilisation en 1985 et ont commencé à l'utiliser une année plus tard[8]. En raison de l'omniprésence du système UPC, la transition vers l'EAN n'a pas été simple. En effet, il a fallu attendre la fin des années 1980 pour qu'une solution puisse satisfaire les parties : tous les livres destinés à la vente en librairie seront imprimés exclusivement avec le code-barres EAN (donc avec ISBN) et les livres destinés à être vendus à des points de vente non reliés à des livres (épiceries, pharmacies, magasin d'entrepôt, etc.) seront imprimés avec les deux symboles puisque la plupart de ces détaillants fonctionnaient avec le code-barres UPC[8]. +

    En 2007, l'ISBN à 10 chiffres a été étendu à 13 chiffres par l'adjonction, en tête, du code 978, permettant de convertir l'ISBN en code GTIN-13 et de l'éditer sous cette forme en code-barres pour la distribution[10]. +

    +

    Fonctionnement de l'ISBN[modifier | modifier le code]

    +

    Pour comprendre le fonctionnement du code ISBN, il faut savoir comment il est attribué à un ouvrage. +

    Le fonctionnement est totalement décentralisé : +

    +
    • Un groupe d'éditeurs d'une région souhaite profiter des avantages que procure l'ISBN dans la commercialisation du livre. Ces éditeurs, réunis en association appelée Agence d'enregistrement locale, demandent à l'Agence internationale de l'ISBN[11] l'attribution d'un code régional ou Domaine ISBN[12]. L'Agence internationale de l'ISBN gère les domaines ISBN. C'est une organisation à but non lucratif sise à Londres et fonctionnant en concertation de l'ISO, Organisation internationale de normalisation[13].
    • +
    • Si un éditeur souhaite adhérer à l'ISBN, il s'adresse à l'Agence d'enregistrement locale ; celle-ci lui délivre un numéro d'éditeur[14].
    • +
    • L'éditeur attribue lui-même des numéros à ses propres publications selon quelques règles.
    +

    Construction du code ISBN[modifier | modifier le code]

    +

    Cette section présente d'abord la construction de l'ISBN d'origine à dix caractères puis explique les modifications, assez simples, introduites par le passage à treize caractères pour fusion avec le code GTIN-13. La norme ISO 2108 (ICS no 01.140.20) spécifie la construction du numéro ISBN. +

    +

    Structure de l'ISBN-10[modifier | modifier le code]

    +

    L'ISBN-10 se compose de quatre éléments. Ceux-ci doivent être séparés par des tirets ou des espaces. +

    +
    Exemple : 2-7654-1005-4
    +
    • Le premier élément (2 dans l'exemple ci-dessus) est le Domaine ISBN, c'est-à-dire la zone de chalandise ; ce peut être une zone linguistique, une région ou un pays.
    • +
    • Le deuxième élément (7654 ci-dessus) est le numéro d'éditeur. Il identifie un éditeur actif dans la zone de chalandise.
    • +
    • Le troisième élément (1005 ci-dessus) est un numéro de publication attribué par un éditeur à une de ses publications selon certaines règles.
    • +
    • Enfin le quatrième élément (4 ci-dessus) est la clé de contrôle.
    +

    Les trois codes Domaine ISBN, Numéro d'éditeur et Numéro de publication ont des longueurs variables, selon la règle générale suivante : plus la zone de chalandise ou l'éditeur comptent un nombre de publications important, plus leur code est court. Une vaste zone de chalandise a un numéro court de façon à laisser un plus grand nombre de chiffres disponibles pour coder les éditeurs et les publications. De même un éditeur important a un numéro d'identification court de façon à laisser un plus grand nombre de chiffres disponibles pour numéroter ses publications. +

    +

    Domaine ISBN[modifier | modifier le code]

    + +

    Ce code est attribué par l'Agence internationale de l'ISBN. Ce peut être un code linguistique (pour l'anglais, le français, l'allemand et le japonais), un code de zone géographique ou un code national. +

    Il indique la zone de chalandise sur laquelle un éditeur est actif. La longueur du code dépend grossièrement de la taille du marché. Plus celui-ci est important, plus le code est court. +

    +

    Numéro éditeur[modifier | modifier le code]

    +

    Dans une zone de chalandise, l'Agence locale d'enregistrement qui en est responsable attribue les numéros d'éditeur, avec un identifiant plus court pour les éditeurs publiant le plus de titres, selon la séquence suivante : +

    + + + + + + + + + + + + + + + + + + + + + +
    Code-éditeur +Nombre d'index disponibles pour les publications
    (pour les zones identifiées par un seul chiffre comme la zone francophone - identifiant : 2) +
    00 - 19 +1 000 000 +
    200 - 699 +100 000 +
    7000 - 8499 +10 000 +
    85000 - 89999 +1 000 +
    900000 - 949999 +100 +
    9500000 - 9999999 +10 +
    +

    Quelques exemples de numéro d'éditeur dans le domaine 2 : +

    +
    • 07 : Gallimard, Paris, France
    • +
    • 246 : Grasset, Paris, France
    • +
    • 287 : Presses universitaires de Louvain, Louvain-la-Neuve, Belgique
    • +
    • 296, 336 et 343: L'Harmattan, Congo, Côte d'Ivoire, Mauritanie, Guinée, Sénégal
    • +
    • 344 : Glénat, Grenoble, France
    • +
    • 411 : Éditions du Net, Suresnes, France
    • +
    • 7465 : Éditions du Pommier, Paris, France
    • +
    • 8290 : Éditions d’En Bas, Lausanne, Suisse
    • +
    • 89763 : Les Éditeurs réunis, Montréal, Québec
    • +
    • 11 ou 37180 : CEREMA, Lyon, France
    • +
    • 11 ou 490128 : Centre d'études alexandrines, Alexandrie, Égypte
    +

    Numéro de publication[modifier | modifier le code]

    +

    Ce code identifie une publication particulière d'un éditeur. C'est l'éditeur lui-même qui attribue ce code. +

    Les réimpressions d'un ouvrage à l'identique conservent leur ISBN, même si le prix a changé. En revanche, toutes les variations d'une publication (format, nature, support, illustration de couverture, etc.) doivent posséder leur numéro de publication propre. +

    Aucun ISBN n'est nécessaire pour les publications qui ne sont pas soumises au dépôt légal : publications publicitaires, horaires de train, affiches, calendriers, almanachs, cartes géographiques et topographiques, enregistrements sonores, etc.[15] +

    +

    Clé de contrôle[modifier | modifier le code]

    +

    La clé de contrôle est le dixième caractère de l'ISBN-10. Il est calculé à l'aide des neuf chiffres qui précèdent. Depuis que l'ISBN est passé à treize caractères en 2007, le calcul de cette clé est obsolète. On le rappelle ci-dessous à titre d'information. +

    + +

    Structure de l'ISBN-13[modifier | modifier le code]

    +
    Exemple d'un ISBN deux versions.
    +

    En 2007, le code-produit de grande distribution à treize chiffres appelé « GENCOD » en France, EAN-13 (European Article Number-13) en Europe et UPC (Universal Product Code) en Amérique et aujourd'hui partout GTIN-13 ayant conquis la quasi-totalité du marché de la distribution, il devint opportun de modifier l'ISBN afin de l'intégrer dans cette chaîne logistique globale. +

    De plus, dès cette date, une pénurie de codes ISBN apparaît pour numéroter les nouvelles publications. +

    Le code ISBN-10 est donc converti en ISBN-13 au . À des fins de compatibilité, les ouvrages portaient conjointement les deux codes depuis quelques mois et continueront de les porter encore quelque temps après l'entrée en vigueur de la nouvelle codification. +

    Pour effectuer la transition : +

    +
    • Les trois premiers chiffres du code GTIN-13 indiquant le pays du producteur ou du distributeur de l'article, et, les codes 978 et 979 n'étant pas attribués, on les a affectés aux livres. Les codes 978 et 979 désignent donc Bookland (« Pays du livre »). Le code 978 est le premier utilisé et le code 979 sera employé au fur et à mesure des besoins.
    • +
    • Pour être compatible avec tous les systèmes GTIN-13 installés, la clé de vérification de l'ISBN-13 (dernier chiffre du code) est calculée selon la même méthode que pour le code GTIN-13.
    +

    Attribution[modifier | modifier le code]

    +

    Norme ISO[modifier | modifier le code]

    +
    Code ISBN 10 et son code-barres correspondant EAN 13 sur la quatrième de couverture d’un livre publié avant 2007.
    +

    La norme ISO 2108 (ICS no 01.140.20) spécifie la construction du numéro ISBN, les règles de son attribution ainsi que l’administration du système ISBN. La première édition de cette norme a paru en 1972. +

    +

    Organismes d'attribution[modifier | modifier le code]

    +
    • En France, c’est l’Agence francophone pour la numérotation internationale du livre (AFNIL) qui gère les numéros ISBN.
    • +
    • En Belgique, la Bibliothèque royale de Belgique redirige vers l'AFNIL pour les livres édités en français[16].
    • +
    • Au Canada francophone, Bibliothèque et Archives nationales du Québec (BAnQ) agit à titre de représentante officielle de l'AFNIL pour l’attribution des numéros ISBN. Cette entente a été conclue au cours de l'automne 1978 afin que les éditeurs canadiens puissent obtenir un statut conforme à la réalité[17]. Ainsi, cela mettait fin à l'entente précédente avec la Standard Book Numbering agency (R.R. Bowker Company) où les éditeurs francophones canadiens étaient identifiés comme des éditeurs anglophones[17]. BAnQ utilise l'indicatif 2 pour les éditeurs de tous les groupes linguistiques, sauf de langue anglaise. Lorsque la capacité d'attribution sera épuisée, BAnQ utilisera des numéros commençant par 979[18].
    • +
    • En Suisse, le Schweizer Buchhändler- und Verleger-Verband (de) (SBVV) gère les numéros ISBN pour la Suisse romande et la Suisse alémanique. Les ouvrages en français sont gérés par l'AFNIL. Pour la Suisse italienne, c’est l’Agenzia ISBN per l’area di lingua italiana EDISER qui attribue les numéros ISBN.
    +

    Usages[modifier | modifier le code]

    +
    ISBN-13.
    +

    Le code ISBN est conçu pour simplifier le traitement des livres en ordinateur : les libraires peuvent passer des commandes standardisées, les distributeurs ont le même code pour traiter les commandes, et les retours. Les différentes opérations de gestion dans les bibliothèques et centres de documentation sont facilitées[15]. +

    Chaque forme d’une publication papier (brochée, reliée, etc.) se voit attribuer un ISBN différent. Chaque forme numérique d'un livre (pdf, epub, etc.) se voit également attribuer un ISBN différent. +

    Par exemple, le livre Les cigognes sont immortelles d'Alain Mabanckou a le code 978-2-02-130451-0 pour la version brochée, 978-2-02-130452-7 pour une édition pdf et 978-2-02-130453-4 pour une autre édition numérique. +

    +

    Liste des documents qui peuvent avoir un ISBN[18] au Canada francophone[modifier | modifier le code]

    +
    • Annuaires
    • +
    • Brochures
    • +
    • Cartes géographiques vendues
    • +
    • CD non musicaux
    • +
    • Enregistrements sonores non musicaux
    • +
    • Ensembles multisupports
    • +
    • Livres
    • +
    • Livres audio, CD ou DVD
    • +
    • Livres d'artistes
    • +
    • Logiciels
    • +
    • Publications à feuilles mobiles sans mises à jour
    • +
    • Publications annuelles (elles peuvent également recevoir un ISSN)
    • +
    • Publications en braille
    • +
    • Publications numériques (elles doivent être considérées comme des monographies et être définitives)
    • +
    • Publications numériques sur support non périodique (CD-ROM, DVD-ROM)
    • +
    • Tirés à part avec page de titre distincte
    +

    Les avantages de son utilisation au Canada[modifier | modifier le code]

    +

    Il n'est pas obligatoire d'obtenir un ISBN pour publier un document au Canada. +

    Quelques avantages de son utilisation : moins de confusion entre des titres semblables et les différents formats d'une publication; facilite le traitement pour les intervenants du domaine du livre. +

    Il est obligatoire d'avoir un ISBN afin de bénéficier du Programme canadien de Catalogage avant publication (CIP). +

    BAnQ publie, à partir des données recueillies, le Bottin des éditeurs francophones canadiens. Cette liste est également envoyée dans le Global register of Publishers et elle permet de répertorier les éditeurs de tous les pays qui participent au système de numérotation ISBN. +

    La Loi sur la taxe de vente du Québec prévoit l'exemption de taxes pour certains types de livres ayant un ISBN[19]. +

    +

    Recommandation pour l'autoédition[modifier | modifier le code]

    +

    Pour les autoéditeurs, il est recommandé d'obtenir un ISBN dès le début puisque s'il y a rupture de contrat avec la plateforme d'autoédition, il faudra demander un nouvel ISBN pour continuer à le distribuer[18]. +

    +

    Législation[modifier | modifier le code]

    +

    En France[modifier | modifier le code]

    +
    • Arrêté du fixant les mentions obligatoires figurant sur les documents imprimés, graphiques et photographique soumis au dépôt légal (Journal officiel du ) : +
      • Article 1 : Sur tous les exemplaires d'un même document soumis au dépôt légal, doivent figurer les mentions suivantes : pour le dépôt des livres, des cartes et des plans : 1° […] 2° […] 3°[…] 4° La mention de l'ISBN et éventuellement de l'ISSN.
    • +
    • Arrêté du fixant les mentions obligatoires figurant sur les déclarations accompagnant le dépôt légal des documents imprimés, graphiques et photographiques : +
      • Article 2 : La déclaration de l'éditeur doit comporter les mentions suivantes : pour le dépôt des livres, cartes, plans et partitions musicales : 1° […] 2° Le numéro international normalisé (ISBN ou, s'il y a lieu, ISMN pour les partitions musicales).
    +

    Notes et références[modifier | modifier le code]

    +
      +
    1. Manuel d’utilisation de l'ISBN 2017. +
    2. +
    3. « Recherche par numéro ISBN », AdeBooks.fr, . +
    4. +
    5. « Bibliothèque nationale de France : S'informer et obtenir un ISBN », Paris (consulté le ). +
    6. +
    7. Géré mondialement par GS1 (Global Standards 1, sis à Bruxelles), appelé précédemment « GENCOD » puis « EAN-13 ». +
    8. +
    9. (en) R. R. Bowker (en), « ISBN history » [archive du ], sur isbn.org, R. R. Bowker, (consulté le ). +
    10. +
    11. Norme ISO 2108, 1970. +
    12. +
    13. (en) « Publicity Committee Promotes ISBN Usage on Several Fronts », Publishers Weekly,‎ , p. 43 +
    14. +
    15. a b c d e f et g Ted Striphas, « Cracking the Code: Technology, Historiography, and the “Back Office” of Mass Culture », Social Epistemology, vol. 19, nos 2-3,‎ , p. 261–282 (ISSN 0269-1728, DOI 10.1080/02691720500145464, lire en ligne, consulté le ) +
    16. +
    17. Bolle, Sonja, « The book industry moves toward a bar code standard », Publishers Weekly,‎ , p. 77 +
    18. +
    19. « Qu’est-ce que l’ISBN ? »(Archive.orgWikiwixArchive.isGoogleQue faire ?), sur isbn-international.org, International ISNB Agency (consulté le ). +
    20. +
    21. Voir le site de l'International ISBN Agency. +
    22. +
    23. Ce code a porté de multiples noms dans le jargon ISBN : ISBN identifier group, ISBN group number, Registration group element, Registration group identifier. Il est actuellement appelé ISBN Range par l'International ISBN Agency. On l'appelle Domaine ISBN dans cet article. +
    24. +
    25. Voir le site de l'ISO. +
    26. +
    27. Appelé Registration number, Registrant element dans le jargon ISBN. On l'appelle ici numéro d'éditeur ou code-éditeur. +
    28. +
    29. a et b Voir sur le site de l'AFNIL. +
    30. +
    31. « Bibliothèque royale de Belgique : Centre national belge ISSN », sur kbr.be (consulté le ). +
    32. +
    33. a et b « Bulletin de la Bibliothèque nationale du Québec », sur numerique.banq.qc.ca, (consulté le ). +
    34. +
    35. a b et c « GUIDE SUR L’UTILISATION DE L’ISBN ». +
    36. +
    37. « Livre imprimé », sur Revenu Québec (consulté le ). +
    38. +
    +
    +

    Voir aussi[modifier | modifier le code]

    +
    +

    Sur les autres projets Wikimedia :

    + +
    +

    Bibliographie[modifier | modifier le code]

    +
    • Agence internationale de l’ISBN, Manuel d’utilisation de l’ISBN : Édition internationale, Londres, Agence internationale de l’ISBN, , 7e éd., 39 p. (ISBN 978-92-95055-16-2, lire en ligne) [PDF]
    +

    Articles connexes[modifier | modifier le code]

    + +

    Liens externes[modifier | modifier le code]

    +

    +

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-john-mccarthy b/sac/pages/fr-wikipedia-org-wiki-john-mccarthy new file mode 100644 index 0000000..34ad93a --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-john-mccarthy @@ -0,0 +1,865 @@ + + + + +John McCarthy — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    John McCarthy

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +
    John McCarthy
    John McCarthy en 2006
    Biographie
    Naissance
    Décès
    +Voir et modifier les données sur Wikidata (à 84 ans)
    StanfordVoir et modifier les données sur Wikidata
    Nationalité
    Formation
    Activités
    Mère
    +Ida Glatt McCarthy (d)Voir et modifier les données sur Wikidata
    Autres informations
    A travaillé pour
    Membre de
    Arme
    Maître
    Directeur de thèse
    Site web
    Distinctions
    Archives conservées par
    Œuvres principales
    +

    John McCarthy, né le , à Boston (Massachusetts) et mort le à Stanford (Californie)[2], est le principal pionnier de l'intelligence artificielle avec Marvin Lee Minsky ; il incarne le courant mettant l'accent sur la logique symbolique. +

    À la fin des années 1950, après un doctorat en mathématiques, il a créé avec Fernando Corbató la technique du temps partagé, qui permet à plusieurs utilisateurs d'employer simultanément un même ordinateur. Il est également le créateur du langage LISP, en 1958. Il reçoit le prix Turing en 1971 pour ses travaux en intelligence artificielle. +

    + +

    Adolescence et études[modifier | modifier le code]

    +

    John McCarthy est né à Boston, dans le Massachusetts le d'un père immigrant Irlandais, John Patrick, et d'une mère juive lituanienne immigrante, Ida Glatt McCarthy[3]. Il a été contraint de voyager fréquemment, jusqu'à ce que son père trouve un travail à Los Angeles, en Californie. +

    McCarthy a dès son jeune âge montré un intérêt pour les mathématiques. Pendant l'adolescence, il apprend les mathématiques en autodidacte, grâce aux livres de l'Institut technologique de Californie (Caltech). De fait, à son entrée à Caltech, ses connaissances lui permettent de passer les deux premières années de mathématiques[4]. +

    Après l’obtention du diplôme en 1948, McCarthy continue les études à Caltech, pour finalement passer un doctorat de mathématiques à l'université de Princeton, en 1951. +

    À cette époque, McCarthy se marie à Vera Watson, une développeuse et alpiniste, morte en 1978 alors qu'elle tentait l’ascension de l'Annapurna I. +

    +

    Carrière informatique[modifier | modifier le code]

    + +

    En 1956, il préside la conférence de Dartmouth, lors de laquelle il présente le principe d'élagage alpha-bêta, un algorithme d'évaluation jouant un rôle majeur dans la programmation en intelligence artificielle, notamment utilisé par la grande majorité des programmes d'échecs. Vers les années 1960, le programme Kotok-McCarthy, dont il est à l'origine, est l'un des plus performants. Il est également l'inventeur en 1958 du langage Lisp[2]. Il quitte le MIT en 1962 pour créer le laboratoire d'intelligence artificielle de l'université Stanford. À partir de 1962, McCarthy est professeur à l'université Stanford, jusqu'à ce qu'il prenne sa retraite en 2000. Il est aussi l'un des pionniers du cloud computing [5]. Il reçoit le prix Turing en 1971 pour ses travaux en intelligence artificielle. +

    Pendant sa retraite, il écrit une nouvelle de science-fiction, intitulée Le Robot et le bébé[6], « pour illustrer en partie ce que les robots domestiques devraient être »[7]. +

    +

    Publications majeures[modifier | modifier le code]

    +
    • Programs with Common Sense, in Proceedings of the Teddington Conference on the Mechanization of Thought Processes, 756-91. London: Her Majesty's Stationery Office, 1959[8]
    • +
    • Recursive functions of symbolic expressions and their computation by machine, Communications of the ACM 3(4):184-195, 1960[9]
    • +
    • A basis for a mathematical theory of computation, in Computer Programming and formal systems. North-Holland, 1963
    • +
    • Situations, actions, and causal laws. Technical report, université Stanford, 1963.
    • +
    • Avec P. J. Hayes, Some philosophical problems from the standpoint of artificial intelligence, in Meltzer, B., and Michie, D., eds., Machine Intelligence 4. Édimbourg, Edinburgh University Press. 463-502, 1969[10]
    • +
    • Epistemological problems of artificial intelligence, in IJCAI, 1038-1044, 1977
    • +
    • Circumscription: A form of non-monotonic reasoning, Artificial Intelligence 13(1-2):23-79, 1980
    • +
    • Applications of circumscription to common sense reasoning, Artificial Intelligence 28(1):89-116, 1986
    • +
    • Generality in artificial intelligence, in Lifschitz, V., ed., Formalizing Common Sense. Ablex. 226-236, 1990
    • +
    • Notes on formalizing context, in IJCAI, 555-562, 1993
    • +
    • Avec S. Buvac, Formalizing context: Expanded notes, in Aliseda, A.; van Glabbeek, R.; and Westerstahl, D., eds., Computing Natural Language, université Stanford, 1997
    • +
    • Elaboration tolerance, in Working Papers of the Fourth International Symposium on Logical formalizations of Commonsense Reasoning, Commonsense-1998, 1998
    • +
    • Avec T. Costello, Useful counterfactuals, Electronic Transactions on Artificial Intelligence 3(A):51-76, 1999
    • +
    • Actions and other events in situation calculus, in Fensel, D.; Giunchiglia, F.; McGuinness, D.; et Williams, M., eds., Proceedings of KR-2002, 615-628, 2002.
    +

    Récompenses[modifier | modifier le code]

    + +

    Notes et références[modifier | modifier le code]

    +
      +
    1. « http://www.computerhistory.org/collections/catalog/102658149 » (consulté le ) +
    2. +
    3. a et b L'intelligence artificielle est orpheline; sur Slate.fr. +
    4. +
    5. (en) Dennis Shasha et Cathy Lazere, Out of Their Minds: The Lives and Discoveries of 15 Great Computer Scientists, printemps 1998. +
    6. +
    7. (en) Patrick J. Hayes, « On John McCarthy's 80th Birthday, in Honor of his Contributions », AI Magazine, Association for the Advancement of Artificial Intelligence, vol. 28, no 4,‎ , p. 93–102 (lire en ligne, consulté le ). +
    8. +
    9. (en) Elaine Woo, John McCarthy dies at 84; the father of artificial intelligence, Los Angeles Times. +
    10. +
    11. Le Robot et le bébé de John McCarthy. +
    12. +
    13. John McCarthy, père de l'intelligence artificielle, est mort, Slate, . +
    14. +
    15. J. McCarthy, Programs with Common Sense. In Proceedings of the Teddington Conference on the Mechanization of Thought Processes, 756-91. London: Her Majesty's Stationery Office, 1959. +
    16. +
    17. J. McCarthy, Recursive functions of symbolic expressions and their computation by machine. Communications of the ACM 3(4):184-195, 1960. +
    18. +
    19. J. McCarthy et P. J. Hayes, Some philosophical problems from the standpoint of artificial intelligence, in Meltzer, B., and Michie, D., eds., Machine Intelligence 4. Édimbourg, Edinburgh University Press. 463-502, 1969. +
    20. +
    21. DOI 10.1109.2FMIS.2011.64. +
    22. +
    23. (en) « IEEE Computer Society Magazine Honors Artificial Intelligence Leaders », DigitalJournal.com,‎ (lire en ligne, consulté le ) Press release source: PRWeb (Vocus). +
    24. +
    +
    +

    Annexes[modifier | modifier le code]

    +

    Articles connexes[modifier | modifier le code]

    + +

    Liens externes[modifier | modifier le code]

    +
    +

    Sur les autres projets Wikimedia :

    + +
    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-marguerite-perey b/sac/pages/fr-wikipedia-org-wiki-marguerite-perey new file mode 100644 index 0000000..68d8ede --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-marguerite-perey @@ -0,0 +1,886 @@ + + + + +Marguerite Perey — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Marguerite Perey

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +
    Marguerite Perey
    Biographie
    Naissance
    Décès
    + (à 65 ans)
    Louveciennes
    Nom de naissance
    +Marguerite Catherine Perey
    Nationalité
    + française
    Formation
    Activités
    Enfant
    +-Voir et modifier les données sur Wikidata
    Autres informations
    A travaillé pour
    Membre de
    Directrice de thèse
    Influencée par
    Distinctions
    Archives conservées par
    +Archives nationales (20070296/427)[1]Voir et modifier les données sur Wikidata
    Prononciation
    +

    Marguerite Perey, née à Villemomble le et morte à Louveciennes le , est une chimiste française. +

    Elle est connue pour avoir isolé le francium en 1939. En 1949, elle est professeur titulaire de la chaire de chimie nucléaire à l'université de Strasbourg dans l'Institut de recherche nucléaire. Elle est la première femme élue correspondante de l'Académie des sciences en 1962. +

    + +

    Biographie[modifier | modifier le code]

    +

    Marguerite Perey est née le à Villemomble. Elle est la plus jeune fille d’Émile Louis Perey, propriétaire d'un moulin (qui meurt en ), et d'Anne Jeanne Ruissel. Elle a trois frères et une sœur : Jacques, Jean, Paul et Madeleine[2]. +

    Elle suit des études à l'École d'enseignement technique féminine, dont elle sort avec le diplôme d'État de chimiste en 1929[3]. +

    Elle rejoint alors l'équipe de Marie Curie à l'Institut du radium à Paris et y devient sa préparatrice particulière de 1929 à 1934[4]. En 1934, à la mort de Marie Curie, Marguerite Perey obtient un poste de radiochimiste, toujours à l'Institut du radium, auprès du nouveau directeur André Debierne[4],[5]. +

    En 1939, Marguerite Perey isole par purification de lanthane contenant de l'actinium le premier isotope d'un élément chimique qui se place dans la case 87 encore vide du système périodique, en dessous du césium dans la classification périodique. Il était alors connu sous le nom provisoire eka-césium[6]. Elle nommera cet élément francium en hommage à Marie Curie qui avait nommé le polonium[7],[8]. C'est le dernier élément existant découvert à l'état naturel[6]. +

    Ayant repris ses études pendant la guerre, Marguerite Perey soutient un doctorat de sciences à la Sorbonne en 1946, sur l'« Élément 87, actinium K » et devient maître de recherches au CNRS[3] à l'Institut du radium sous la direction d'Irène Joliot-Curie jusqu'en 1949[9]. Elle est alors nommée professeur titulaire de la chaire de chimie nucléaire à l'université de Strasbourg, dans l'Institut de recherche nucléaire tout juste créé. +

    La nomination de Marguerite Perey à l'université de Strasbourg donne lieu à des publications dans les médias qui véhiculent nombre de fausses informations. Son nom est écorché en Pérey, Perrey, Perret, Perez, Pérez. +En 1950, dans la rubrique « Ces Françaises étonnent les Français » du Figaro, le journaliste Fred Lomont donne des informations erronées qui seront reprises par d'autres journaux. On y apprend ainsi que Marguerite Perey aurait subi 12 opérations, qu'elle aurait perdu 2 doigts et qu'on l'aurait amputée du pouce, des informations fausses (en fait, elle avait perdu une phalange). +Le journaliste prétendait également qu'elle aurait fait une thèse en 1935 (1946), qu'elle aurait participé à la découverte de la radioactivité artificielle avec le couple Joliot-Curie, que son père serait mort en 1918 (il est mort en 1914) et que c'était un pasteur protestant (il était meunier)[10]. +

    À partir du début des années 1950, les nombreuses douleurs qu'elle ressent perturbent ses activités. En 1958, le Dr Warren, un Américain, lui fait passer en Suisse un scanner corps entier qui révèle la contamination de l'ensemble de son squelette à l'actinium, du fait des nombreuses manipulations des sources de ce radioélément au cours de sa carrière. Un cancer des os lui est diagnostiqué en 1960. Elle doit arrêter ses activités scientifiques puis s'installer à Nice pour se faire soigner dans une clinique où la progression de la maladie l'affaiblit progressivement. +

    Marguerite Perey succombe à son cancer le [11],[12]. +

    Elle-même victime des radiations, elle avait eu à cœur d'introduire dans ses laboratoires des mesures de protection[3]. +

    +

    Découverte du francium[modifier | modifier le code]

    +

    Dès les années 1870, la communauté des chimistes pensait qu'il devait exister un métal de type alcalin de numéro atomique 87[13], en dessous du césium dans la classification périodique. Il était alors connu sous le nom provisoire eka-césium[6]. Les chercheurs essayaient de découvrir et d'isoler cet élément manquant. +

    Au moins quatre annonces prématurées furent faites avant qu'il ne soit effectivement découvert par Marguerite Perey[14]. +

    Le premier scientifique à annoncer avoir découvert l’eka-césium fut le chimiste russe D. K. Dobroserdov en 1925[15]. +Il baptisa l'élément russium, du nom de son pays[16]. +

    L'année suivante, en 1926, les chimistes anglais Gerald J. F. Druce et Frederick H. Loring analysèrent des clichés de rayons X du sulfate de manganèse[16]. Ils remarquèrent des raies spectrales qu'ils attribuèrent à l'eka-césium. Ils annoncèrent alors leur découverte de l'élément 87 pour lequel ils proposèrent le nom alkalinium, puisque cet élément serait le plus lourd des métaux alcalins[17]. +

    En 1930, le professeur Fred Allison, de l'Institut polytechnique de l'Alabama, annonça la découverte de l'élément 87 après l'étude de l'effet magnéto-optique d'échantillons de pollucite et de lépidolite et demanda que l'élément soit baptisé virginium, du nom de son État de naissance[16],[18]. +En 1934, sa découverte fut invalidée par le professeur MacPherson, de l'université de Californie à Berkeley[19]. +

    En 1936, le physicien roumain Horia Hulubei et sa collègue française Yvette Cauchois étudièrent la pollucite en utilisant un appareil de spectroscopie de rayons-X haute résolution[17]. Ils observèrent plusieurs raies d'émission de faibles intensités qu'ils attribuèrent à l'élément 87 et proposèrent de le baptiser moldavium, avec pour symbole Ml, du nom de la Moldavie, province où Hulubei était né. +En 1937, ses travaux furent critiqués par le physicien américain F. H. Hirsh Jr. +

    Jean Baptiste Perrin, lauréat du prix Nobel de physique et mentor d'Hulubei, soutint le moldavium en tant que véritable eka-césium, cela en dépit de la découverte du francium par Marguerite Perey. Perey continua de réfuter les travaux d'Hulubei jusqu'au moment où la découverte de l'élément 87 lui fut attribuée à elle seule en 1939 [17]. +

    Marguerite Perey travaillait à l'Institut Curie à la purification d'un échantillon d'actinium 227, élément se désintégrant avec une énergie de désintégration de 220 keV. Cependant, elle remarqua également des particules émises avec une énergie bien inférieure à 80 keV. Perey pensa que cette décroissance radioactive pouvait être due à la présence d'un produit de désintégration non identifié, produit qui serait éliminé durant la purification mais réapparaîtrait du fait de la désintégration de noyaux d'actinium. Des tests permirent d'éliminer la possibilité de présence de thorium, de radium, de plomb, de bismuth ou de thallium. +Les propriétés chimiques du nouveau produit étaient celles d'un métal alcalin (par exemple la coprécipitation avec des sels de césium), ce qui conduisit Perey à penser qu'il s'agissait de l'élément 87, apparu suite à la désintégration de type α de l'actinium 227[6]. Perey tenta alors de déterminer la proportion des désintégrations alpha et bêta pour l'actinium 227. Ses premiers tests lui permirent d'estimer la proportion de désintégration alpha à 0,6 %, valeur qu'elle révisa plus tard à 1 %[20]. +

    Perey baptisa le nouvel isotope actinium-K, connu à l'heure actuelle sous le nom de francium 223[6], et en 1946 elle proposa de baptiser catium le nouvel élément. Elle savait en effet qu'il s'agissait de l'élément le plus électropositif de la classification périodique. +La supérieure de Perey, Irène Joliot-Curie, s'opposa à ce nom, car, à l'oreille il semblait avoir plus souvent pour origine le mot chat que cation (en anglais cat signifie chat)[6]. +

    Perey proposa alors francium, en hommage au pays dans lequel avait eu lieu la découverte. Ce nom fut adopté officiellement par l'Union internationale des chimistes en 1949 et reçut pour symbole Fa, symbole changé peu après en Fr[21]. +

    Le francium fut le dernier élément existant à être découvert à l'état naturel, après le rhénium en 1925[6]. +

    En décembre 1961, l'hebdomadaire pour enfants Fripounet et Marisette retrace la carrière de Marguerite Perey et sa découverte du francium dans une bande dessinée en trois épisodes intitulée Perette et l'Atome, en référence au surnom donnée à Marguerite Perey à l'Institut du radium et à la fable de La Fontaine, Perrette et le pot au lait. Elle y est cependant montrée comme une technicienne qui « n'a même pas le baccalauréat » et les académiciens s'y étonnent qu'avec si peu de diplômes elle « trouve ce qu'ils ont cherché pendant 10 ans »[10]. +

    Le , Marguerite Perey est la première femme élue correspondant de l'Académie des sciences[3]. +C'est la première fois que la société savante, qui s'était refusée à accueillir Marie Curie, recevait une femme. Cette élection était sans précédent dans les quatre autres Académies, qui, avec l'Académie des sciences, constituent l'Institut de France[22]. +

    +

    Sélection de publications[modifier | modifier le code]

    +
    • Marguerite Perey, « Sur un élément 87, dérivé de l'actinium », C.R. Hebd. Seances Acad. Sci., vol. 208,‎ , p. 97-99 (lire en ligne).
    • +
    • Marguerite Perey, « Francium: élément 87 », Bull. Soc. Chim. Fr., vol. 18,‎ , p. 779 (ISSN 0037-8968).
    • +
    • Marguerite Perey et Jean-Pierre Adloff, « Sur la descendance de l'actinium k : 22387Fr », Journal de Physique et Le Radium, vol. 17, no 7,‎ , p. 545-547 (lire en ligne).
    +

    Distinctions[modifier | modifier le code]

    +

    Décorations[modifier | modifier le code]

    +

    Le , Marguerite Perey est nommée au grade de chevalier dans l'ordre national de la Légion d'honneur, faite chevalier de l'ordre le , promue au grade d'officier dans l'ordre le et faite officier de l'ordre le [23]. +

    Elle est commandeur de l'ordre des Palmes académiques en 1960 et de l'ordre national du Mérite en 1973[3], le discours est prononcé par Alfred Kastler, prix Nobel de physique. +

    +

    Prix[modifier | modifier le code]

    +
    • Prix Wilde de l'Académie des sciences (1950)
    • +
    • Prix Le Conte de l'Académie des sciences (1960)
    • +
    • Grand prix scientifique de la ville de Paris[3] (1960)
    • +
    • Élue correspondante de l'Académie des sciences (1962) sur proposition de Francis Perrin
    • +
    • Prix Lavoisier de la Société française de chimie[3] (1964)
    • +
    • Médaille d'argent de la Société chimique de France[3] (1964)
    +

    Hommages[modifier | modifier le code]

    + +

    Voir aussi[modifier | modifier le code]

    +

    Bibliographie[modifier | modifier le code]

    + +

    Article connexe[modifier | modifier le code]

    + +

    Liens externes[modifier | modifier le code]

    +

    +

    + +

    Notes et références[modifier | modifier le code]

    +
      +
    1. « https://www.siv.archives-nationales.culture.gouv.fr/siv/rechercheconsultation/consultation/ir/consultationIR.action?formCaller=GENERALISTE&irId=FRAN_IR_055750&gotoArchivesNums=false&defaultResultPerPage=&frontIr=&optionFullText=&fullText=&udId=&consIr=&details=false&page=&auSeinIR=false » +
    2. +
    3. Ogilvie et Harvey 2000, p. 1006. +
    4. +
    5. a b c d e f g et h Marguerite Catherine Perey (1909-1975), par Jean-Pierre Adloff et George B. Kauffman, dans Out of the shadows, contributions of twentieth-century women to physics, édité par Nina Byers et Gary Williams. +
    6. +
    7. a et b Jean C. Baudet, Curieuses Histoires des dames de la science : les pionnières de la recherche, Paris Bruxelles, Editions Jourdan, , 318 p. (ISBN 978-2-87466-157-0), p. 173. +
    8. +
    9. Natalie Pigeard-Micault, Les femmes du laboratoire de Marie Curie, Paris, Editions Glyphe, , 298 p. (ISBN 978-2-35815-111-5, 2-35815-111-4 et 2-35815-111-4), p. 199-205. +
    10. +
    11. a b c d e f et g +(en) Jean-Pierre Adloff et George B. Kauffman, « Francium (Atomic Number 87), the Last Discovered Natural Element », Chem. Educator, vol. 10, no 5,‎ , p. 387-394 (ISSN 1430-4171, DOI 10.1333/s00897050956a). +
    12. +
    13. +Marguerite Perey, « Sur un élément 87, dérivé de l'actinium », C.R. Hebd. Seances Acad. Sci., vol. 208,‎ , p. 97-99 (lire en ligne). +
    14. +
    15. +Marguerite Perey, « Francium : élément 87 », Bull. Soc. Chim. Fr., vol. 18,‎ , p. 779 (ISSN 0037-8968). +
    16. +
    17. Dossier de carrière au CNRS conservé aux Archives nationales sous la cote 20070296/427. +
    18. +
    19. a et b Jean-Pierre Adloff, George B. Kauffman, Triumph over Prejudice: The Election of Radiochemist Marguerite Perey (1909–1975) to the French Académie des Sciences, Chem. Educator 2005, 10, 395–399. +
    20. +
    21. encyclopedia.com : Perey, Marguerite Catherine . +
    22. +
    23. Catholic University of America : MARGUERITE C. PEREY. +
    24. +
    25. +(en) Andy Price, « Francium », sur www.andyscouse.com, (consulté le ). +
    26. +
    27. (en) Brady Haran, avec l'aide du Pr. Sir Martyn Poliakoff, « Francium (new video) - Periodic Table of Videos - YouTube », sur Periodic Videos, (consulté le ) ; +
    28. +
    29. (en) Marco Fontani, Mariagrazia Costa et Mary Virginia Orna, The Lost Elements : The Periodic Table's Shadow Side, Oxford, Oxford University Press, , 531 p. (ISBN 978-0-19-938334-4, lire en ligne). +
    30. +
    31. a b et c (en) Peter Van der Krogt, « Francium », Elementymology & Elements Multidict (2006-01-10) (consulté le 8 avril 2007). +
    32. +
    33. a b et c [doc] (en) Marco Fontani, « The Twilight of the Naturally-Occurring Elements: Moldavium (Ml), Sequanium (Sq) and Dor (Do) », International Conference on the History of Chemistry, pages 1-8 (2005-09-10) ; Lisbonne (consulté le ). +
    34. +
    35. (en) « Alabamine & Virginium », Time,‎ (résumé). +
    36. +
    37. (en) H. G. MacPherson, « An Investigation of the Magneto-Optic Method of Chemical Analysis », Phys. Rev., vol. 47, no 4,‎ , p. 310–315 (DOI 10.1103/PhysRev.47.310, lire en ligne). +
    38. +
    39. McGraw-Hill Encyclopedia of Science & Technology, vol. 7, McGraw-Hill Professional, , 493–494 p. +
    40. +
    41. Julius Grant, « Francium », Hackh's Chemical Dictionary, 1969, pages 279-280 (McGraw-Hill). +
    42. +
    43. L'Académie des sciences élit une femme : Mlle Marguerite Perey, Le Monde, 14 mars 1962. +
    44. +
    45. « Cote c-340401 », base Léonore, ministère français de la Culture. +
    46. +
    47. Maurice Moszberger (dir.), Dictionnaire historique des rues de Strasbourg, Le Verger, Barr, 2012 (nouvelle éd. révisée), p. 438 (ISBN 9782845741393). +
    48. +
    +
    + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-paralogisme b/sac/pages/fr-wikipedia-org-wiki-paralogisme new file mode 100644 index 0000000..5c934e8 --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-paralogisme @@ -0,0 +1,969 @@ + + + + +Paralogisme — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Paralogisme

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +

    Un paralogisme (du grec paralogismos) est un raisonnement faux qui apparaît comme valide, notamment à son auteur[1], lequel est de bonne foi, contrairement au sophisme qui est un argument fallacieux destiné à tromper. +

    Aristote distingue treize types de paralogismes dans son traité Réfutations sophistiques. Dans la Critique de la raison pure, Kant identifie les paralogismes comme étant des illusions de la raison. +

    On peut distinguer deux types de paralogismes : les paralogismes formels et les paralogismes informels[2]. Le paralogisme formel est un syllogisme erroné. +

    La traduction en français du terme anglais fallacy[3] pose question car bien que pouvant être traduit par sophisme, le terme englobe aussi le paralogisme, lequel est involontaire[4]. +

    + +

    Paralogismes formels[modifier | modifier le code]

    +

    En mésusant de la structure générale du syllogisme, on peut former les paralogismes formels décrits dans cette section. +

    Un syllogisme peut se résumer de la manière suivante : +

    +
    1. On a une loi générale (première prémisse) : « si l'énoncé A est vrai, alors l'énoncé B l'est aussi », que l'on peut encore écrire « A implique B » ou bien en écriture mathématique « AB » ;
    2. +
    3. On a un cas particulier (deuxième prémisse) : « l'énoncé C est de type A », ou encore « A est vérifié lorsque je dis C », c'est-à-dire que « C implique A » ou en écriture mathématique « CA » ;
    4. +
    5. On en déduit (conclusion) que « B est donc vrai dans le cas de C », « C implique B », « CB ».
    +

    En logique formelle, il s'agit simplement de la transitivité de la relation d'implication : +

    +
    si CA et AB, alors CB (conclusion).
    +

    (On a ici inversé l'ordre de la 1re et de la 2e prémisse.) Un paralogisme formel est donc un paralogisme qui rompt avec la logique formelle. +

    Exemple d'un syllogisme célèbre : +

    +
    1. Tous les hommes sont mortels. (Première prémisse, A = « homme », B = « mortel ».)
    2. +
    3. Socrate est un homme. (Deuxième prémisse, C = « Socrate ».)
    4. +
    5. Donc Socrate est mortel. (Conclusion.)
    +

    Affirmation du conséquent[modifier | modifier le code]

    +

    L'affirmation du conséquent consiste à conclure qu'un cas particulier (ou ici la catégorie âne) fait partie d'une catégorie générale (ici humain) du seul fait qu'ils partagent une propriété (ici mortel) : +

    +
    1. Tous les humains sont mortels. (AB)
    2. +
    3. Un âne est mortel. (CB)
    4. +
    5. Donc un âne est un humain. (CA)
    +

    La deuxième prémisse est vraie, mais on ne peut pas en tirer la conclusion (il aurait fallu « Tous les mortels sont des humains » soit BA et non pas AB). +

    +

    Négation de l'antécédent[modifier | modifier le code]

    +

    La négation de l'antécédent consiste à nier une propriété particulière (mortel) pour un cas particulier (ou ici la catégorie âne) sous prétexte qu'il n'appartient pas à une catégorie générale (humain) qui possède cette propriété. +

    +
    1. Tous les humains sont mortels. (AB)
    2. +
    3. Un âne n'est pas un humain. (C ⇒ non A)
    4. +
    5. Donc un âne est immortel. (C ⇒ non B)
    +

    Ici encore, la deuxième prémisse est vraie, mais on ne peut pas en tirer la conclusion. On ne peut tirer une conclusion que de la négation du conséquent, raisonnement dit par contraposition (ou modus tollens) : seul le raisonnement « si AB, alors non B ⇒ non A » est correct. Voici un exemple de contraposition correcte : +

    +
    1. Tous les humains sont mortels. (AB)
    2. +
    3. Un caillou n'est pas mortel. (C ⇒ non B)
    4. +
    5. Donc un caillou n'est pas un humain. (C ⇒ non A)
    +

    Incohérence[modifier | modifier le code]

    +

    L'argumentation contient une contradiction. Cela signifie nécessairement qu'une erreur a été commise, reste à savoir laquelle. Par exemple : +

    +
    1. Je ne suis pas dans le même wagon qu'Albert.
    2. +
    3. Albert n'est pas dans le même wagon que Bernard.
    4. +
    5. Donc je ne suis pas dans le même wagon que Bernard.
    +

    Ici, on n'utilise pas une implication, la relation « n'est pas dans le même wagon que » n'est pas transitive et ne peut être substituée à l'implication. +

    +

    Syllogisme en tant que paralogisme[modifier | modifier le code]

    +

    John Stuart Mill montre dans A System of Logic que le syllogisme classique est lui-même un paralogisme : aucune vérité particulière ne peut être inférée de principe généraux puisque c'est au contraire l'ensemble des premières qui doivent être démontrées pour garantir la validité des secondes : +

    +
    +

    « [...] it is unanswerably urged by the adversaries of the syllogistic theory, that the proposition, Socrates is mortal, is presupposed in the more general assumption, All men are mortal; that we cannot be assured of the mortality of all men, unless we are already certain of the mortality of every individual man; that if it be still doubtful whether Socrates, or any other individual we choose to name, be mortal or not, the same degree of uncertainty must hang over the assertion, All men are mortal; that the general principle, instead of being given as evidence of the particular case, cannot itself be taken for true without exception, until every shadow of doubt which could affect any case comprised with it, is dispelled by evidence aliundè; and then what remains for the syllogism to prove? That, in short, no reasoning from generals to particulars can, as such, prove any thing: since from a general principle we can not infer any particulars, but those which the principle itself assumes as known. » +

    +

    — John Stuart Mill, A System of Logic (1843)

    +
    +

    « [...] il est irréfutablement avancé par les adversaires du syllogisme que la proposition, Socrate est mortel, est présupposée dans l'hypothèse plus générale Tous les hommes sont mortels ; que nous ne pouvons être assurés de la mortalité de tous les hommes, à moins d'être déjà certains de la mortalité de chaque homme individuel ; que s'il reste douteux si Socrate, ou tout homme que nous souhaitons citer, est mortel ou non, le même degré d'incertitude doit peser sur l'affirmation Tous les hommes sont mortels ; que le principe général, au lieu d'être donné comme preuve du cas particulier, ne peut lui-même être tenu pour vrai sans exception, avant que toute ombre de doute qui pourrait affecter quelque cas qu'il inclue ne soit dissoute depuis une autre source [aliunde] ; et alors que reste-t-il à prouver au syllogisme ? Que, en bref, aucun raisonnement du général vers le particulier ne peut, en soi, prouver quoi que ce soit : puisque depuis un principe général nous ne pouvons inférer aucun [cas] particulier, sinon ceux que le principe lui-même présuppose connus. » +

    +
    +

    Mill nous dit ici que, lorsque nous prétendons avec un syllogisme parler de la réalité (ou de toute situation concrète), alors le principe général posé comme point de départ du raisonnement repose en fait lui-même sur une autre affirmation à propos de chaque cas particulier concerné : +

    +
    1. Nous avons constaté pour chaque homme qu'il est mortel, autrement dit :
    2. +
    3. Tout homme est mortel.
    4. +
    5. Socrate est un homme.
    6. +
    7. Donc, Socrate est mortel.
    +

    Mais la conclusion (4) ne dit rien que nous n'ayons pas déjà constaté (1). On ne peut donc pas raisonner du général au particulier ; en réalité, on ne peut que faire l'inverse : généraliser des cas particuliers, autrement dit procéder par induction (un schéma de raisonnement lui-même toujours incertain). +

    En revanche dans une pure abstraction, c'est-à-dire hors de toute prétention à parler de la réalité, le schéma « Tout C est P ; C1 est un C ; donc C1 est P » reste évidemment valide (C est une catégorie, P une propriété). Cela provient du fait que là, dans l'abstrait, nous décidons nous-mêmes du principe Tout C est P : nous inventons un mini-système abstrait dans lequel, par principe, nous décidons que tout C est P, dans lequel Tout C est P est une vérité. En revanche, dans la réalité, il n'y a pas de vérité générale abstraite, décidée par quiconque, mais des faits réels ou non qui se manifestent eux-mêmes et donc s'imposent à l'observateur qui souhaite penser correctement. +

    +

    Paralogismes informels[modifier | modifier le code]

    +

    Les paralogismes informels sont des paralogismes faisant intervenir non pas une erreur de raisonnement formel, mais une propriété du langage (polysémie par exemple), la manière dont on invoque un fait (analogie, métaphore, métonymie…). +

    Ci-dessous une liste non exhaustive de paralogismes informels (pour partie tiré de Baillargeon op. cité) +

    +
    • le faux dilemme ;
    • +
    • la généralisation hâtive ;
    • +
    • la fausse piste (qu'il nomme le « hareng fumé », en raison d'une technique utilisée pour semer les chiens de recherche) ;
    • +
    • l'attaque personnelle, ou argumentum ad hominem, voire argumentum ad personam ; en font partie le déshonneur par association et le reductio ad Hitlerum ;
    • +
    • l'argument d'autorité (paroles d'« experts ») ;
    • +
    • la pétition de principe (petitio principii) ;
    • +
    • la confusion entre corrélation et relation de cause à effet (Cum hoc ergo propter hoc) ;
    • +
    • la confusion entre succession et relation de cause à effet (Post hoc ergo propter hoc, Non causa pro causa);
    • +
    • l'appel au peuple, la « loi du nombre », ou argumentum ad populum (ainsi que l'appel aux proverbes et à la « sagesse populaire ») ;
    • +
    • les paralogismes de composition et de division (attribuer une propriété du tout à la partie, ou de la partie au tout) ;
    • +
    • l'appel à l'ignorance (argumentum ad ignorantiam) (affirmer qu'une proposition est nécessairement vraie parce que rien ne prouve qu'elle est fausse, ou à l'inverse qu'elle est fausse parce que rien ne prouve qu'elle est vraie) ;
    • +
    • la pente glissante ;
    • +
    • la diversion, ou écran de fumée ;
    • +
    • l'utilisation d'une caricature de l'argument que l'on veut contrer, ou « épouvantail rhétorique » ;
    • +
    • Deux faux font un vrai ;
    • +
    • l'appel à la pitié (argumentum ad misericordiam) ;
    • +
    • la menace, l’appel à la terreur ;
    • +
    • la fausse analogie ;
    • +
    • la suppression de données pertinentes (mensonge par omission) ;
    • +
    • l'enthymème, la prémisse cachée ; par exemple : « les accords de désarmement avec l'Iran sont dangereux car l'Iran n'aurait jamais signé un accord qui lui soit défavorable », la prémisse cachée ici est : « un accord est toujours gagnant(e)-perdant(e) » or cette prémisse est fausse, un accord peut satisfaire deux parties et être gagnant-gagnant (car si cette prémisse cachée était vraie, aucun contrat ne serait possible).
    • +
    • l'affirmation selon laquelle il est impossible de prouver une proposition négative ou l'inexistence d'une entité. Certains sceptiques, zététiciens, philosophes ou scientifiques affirment ce point. Mais ce raisonnement est faux pour plusieurs raisons. Premièrement, l'affirmation elle-même est négative et la logique formelle a des principes qui sont justement des propositions négatives (principe de non-contradiction par exemple). Pour ce qui est de l'inexistence d'une chose, bien que l'absence de preuve d'existence n'est pas une preuve d'inexistence en soi, l'affirmation n'est pas tout à fait vraie. En mathématiques, il est possible de prouver l'inexistence de nombreuses entités mathématiques, par exemple, du plus grand nombre premier[5]. Il n'y a qu'en mathématiques et en logique que l'on prouve au sens absolu, c’est-à-dire par déduction à l’aide de raisonnements valides faits dans le cadre d’une axiomatique. Dans tous les autres sciences, on prouve par induction, de manière probable. Donc, on ne peut évidemment pas prouver au sens strict par exemple, que le Père Noël n'existe pas mais on peut prouver son inexistence scientifiquement à la manière des sciences empiriques, notamment par l'impossibilité logique qu'il apporte des cadeaux à tous les enfants sages du monde en une nuit. Le philosophe Steven D. Hales affirme notamment que l'induction, non seulement ne donnera pas de certitude au niveau des déclarations négatives, mais aussi pour celles qui sont positives[6].
    +

    La distinction entre paralogisme et raisonnement légitime est parfois difficile à faire : +

    +
    • dans le cadre d'un procès, on s'intéressera au témoin, à sa capacité de perception de mémorisation, à son état (était-il fatigué ? sous l'emprise d'un médicament, de l'alcool, d'une drogue ? a-t-il une bonne vue, une bonne ouïe ?…), sans que cela soit un argumentum ad hominem ;
    • +
    • le principe de précaution est un paralogisme de la pente glissante, mais qui est parfois légitime (on prend une décision prudente faute d'information suffisante).
    +

    Autre acception[modifier | modifier le code]

    +

    Le paralogisme peut aussi être défini par une capacité à agir parallèlement à la logique, nécessitant une manifestation de raisonnement logique, mais tout de moins sans être une conclusion logique pour autant. Ce qui aurait été une conclusion due à une cause logique. Le paralogisme est donc une capacité de réflexion hors des limites de la logique, aussi défini par « parallèle à la logique ». Exemple : « choisir un chemin au hasard ». +

    +

    Bibliographie[modifier | modifier le code]

    + + +

    Références[modifier | modifier le code]

    +
      +
    1. « Paralogisme », dans le Dictionnaire de l'Académie française, sur Centre national de ressources textuelles et lexicales +
    2. +
    3. N. Baillargeon, Petit cours d'autodéfense intellectuelle, éd. Lux (Québec), 2005, p. 52–86 +
    4. +
    5. Plantin 1995 +
    6. +
    7. (en) Dufour, Michel, « On the difference between fallacy and sophism », (consulté le ) : « The translation into French of the English word “fallacy” opens a discussion on the difference between fallacy and sophism in English. The two words are sometimes synonyms, but a difference is sometimes made on the ground that a sophism is deliberate and a fallacy is non-deliberate. » +
    8. +
    9. « Parlons des licornes » sur Québec Science, consulté le 23 avril 2019 +
    10. +
    11. « THINKING TOOLS: YOU CAN PROVE A NEGATIVE », consulté le 23 mars 2019 +
    12. +
    +

    Articles connexes[modifier | modifier le code]

    + +


    +

    + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-rotative-offset-de-presse b/sac/pages/fr-wikipedia-org-wiki-rotative-offset-de-presse new file mode 100644 index 0000000..4b2c96d --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-rotative-offset-de-presse @@ -0,0 +1,943 @@ + + + + +Rotative offset de presse — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +

    Rotative offset de presse

    + +
    + + +
    + +
    + +
      + + +
    + +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    +

    Une rotative offset est une presse offset destinée à l'impression des journaux ou de documents à grand tirage. Les exigences de qualité, le nombre d'exemplaires, la nécessité de réduire les frais de production, la flexibilité du nombre de pages, de couleurs par page, ainsi que le moment de clôture de rédaction (le bouclage) ont amené diverses conceptions de rotatives. +

    Actuellement, les rotatives de presse tournent à 15 m/s ce qui équivaut à environ 80 000 exemplaires par heure pour un format quotidien. +

    +
    Présentation globale d'une rotative offset de presse.
    + +

    Vue globale[modifier | modifier le code]

    +

    En détail[modifier | modifier le code]

    +

    Dérouleur/Compensateur/Débiteur[modifier | modifier le code]

    +
    Cylindre danseur permettant de réguler la tension de bande.
    +
    Guidage transversal du papier pour assurer un bon repérage.
    +

    Le rôle du dérouleur est d'assurer l'alimentation continue en bobines, sans arrêter la presse. Les dérouleurs avec changement de bobine à l'arrêt tendent à disparaître pour être remplacés par des collages à la volée. Cette opération reste délicate et peut conduire à des casses de la bande de papier. +

    Le rôle du compensateur est de fournir une tension stable nécessaire aux groupes d'impression. Il faut pour cela corriger les variations de tension de la bande, susceptibles de nuire au repérage de la bobine. +

    Le débiteur quant à lui sert à réguler la tension de la bande au sein d'une tour d'encrage. Ces débiteurs peuvent se trouver avant les groupes d'impression (in-feed) et/ou en sortie de tour d'impression (out-feed) +

    +
    +
    +

    Problèmes sur les bobines[modifier | modifier le code]

    +
    Déplissage de la bande de papier à l'aide d'un cylindre banane.
    +

    La qualité des bobines est primordiale pour avoir une impression sans problème. En effet, avec les vitesses actuelles (environ de 12 à 15 m/s), si la bobine n'est pas régulière, elle peut avoir un fort ballant, générant alors des vibrations et de fortes variations de la tension de la bande. +

    De plus, les plis doivent être évités sur les bobines car ils conduiraient à un pli dans les groupes d'impression et donc une surface non encrée. Pour réduire cela, on peut avoir recours à l'utilisation de « rouleaux bananes » de diamètre plus petit en leurs centre. +

    +
    +
    +

    Régulation[modifier | modifier le code]

    +

    La régulation est un élément fondamental permettant de garder stable la bande dans la presse et de ce fait, permet une bonne qualité de repérage. Une régulation imparfaite générera des défauts tel que: +

    1) Variation de repérage +

    2) Mouvement de bande transversal +

    3) Doublage en rotative offset +

    +

    Unités d'impression[modifier | modifier le code]

    +

    Format : Laize/Développement[modifier | modifier le code]

    +
    Les différents formats possible sur une rotative de presse.
    +


    +Sur une presse rotative, la circonférence des cylindres (développement) détermine le format du papier et donc la hauteur maximale de la page. Pour accéder à d'autres formats, il est nécessaire de couper le papier longitudinalement, puis l'on a recours à divers types de pliures. +

    Les évidements sur les cylindres, nécessaires à la fixation de la plaque ou du blanchet imposent des zones non imprimantes qui tendent à se réduire au fur et à mesure des innovations. De plus, ces évidements ajoutent des à-coups sur la machine, ce qui pose des problèmes de tension de la bande de papier. Sur un journal, la zone non imprimante est de l'ordre de 25 à 35 mm. +

    Le rapport largeur de laize et circonférence des cylindres ne doit pas être trop important. Dans le cas contraire, les cylindres se courbent sous leur poids et il en résulte, à grande vitesse, l'apparition de vibrations, préjudiciables à l'impression. +

    Les rotatives dites à double développement ont une circonférence double, ce qui leur permet d'imprimer quatre pages au format quotidien par rotation. +

    Les rotatives dites à double laize ont une largeur de bande double, ce qui permet d'imprimer également quatre pages au format quotidien par rotation. On peut également utiliser des machines double laize, double développement (huit pages par rotation), mais celles-ci sont réservées aux très grands tirages ou aux journaux à forte pagination. Dans ce cas, la position des pages de chaque demi-cylindre est décalée de 90° afin de limiter les vibrations. +

    La première partie de la page à être imprimée est le pied de la page. Cela est relatif au mécanisme de pliure à la sortie de la machine. En effet, la page étant agrippée par des picots qui laissent des traces, ceux-ci sont plus discrets en pied de la page. +

    +
    +
    +


    +

    +

    Différents configurations : groupe H, Y, configuration planétaire[modifier | modifier le code]

    +
    Aperçu des différents produits réalisables selon les configurations retenues. La mention x/x indique le nombre de couleurs imprimées sur le recto et sur le verso de la bande de papier.
    +

    Il existe de nombreuses façon d'imprimer les différentes couleurs sur un journal. +Les rotatives de presse se veulent les plus flexibles possibles afin de pouvoir imprimer de nombreux types de journaux. La répartition des couleurs dans le journal ne dépend de la machine mais il existe plusieurs configurations possibles sur chaque machine afin d'adapter le nombre de couleurs et la pagination à la mise en page voulue. +

    Comme les rotatives offset utilisent la technique de synthèse soustractive pour réaliser une image couleurs et comme il est difficile d'obtenir une couleur noire pure, il faut au minimum quatre couleurs. C'est alors une impression quadrichromique. En dessous, les couleurs sont alors plus utilisées pour souligner du texte, faire des titres, pour des publicités... mais pas pour les images. Au-dessus de quatre couleurs, la qualité des images est améliorée (encore rare dans la presse) et permettent d'obtenir des couleurs fluos, par exemple. +

    Pour les rotatives de presse récentes, les groupes d'impression sont de type blanchet/blanchet i.e. les deux côtés du papier sont imprimés simultanément. Le blanchet du groupe imprimant sur l'autre face joue alors le rôle de cylindre contre-pression. On distingue les groupes en forme de Y qui permettent d'imprimer deux couleurs sur une face et une couleur sur l'autre, des groupes H qui permettent d'imprimer deux couleurs par face. +

    Actuellement, les journaux tendent à être imprimés en quatre couleurs recto-verso. En effet, pour un même emplacement, une publicité est vendue plus chère en couleurs qu'en monochrome. +

    +
    Schéma d'un groupe d'impression offset planétaire quatre couleurs sur une face et monochrome sur l'autre.
    +

    Il existe également des groupes d'impression planétaires. Dans ce cas, deux, trois, quatre ou cinq groupes sont disposés autour d'un cylindre de contre-pression central (de diamètre plus important que ses satellites). L'avantage de ce système est un meilleur repérage des couleurs d'une même face (la bande est bien tenue et n'a pas le temps se déformer sous l'effet de la prise d'eau : (fan-out). En revanche, on perd grandement en flexibilité. Il est impossible de choisir le nombre de bandes de papier et les couleurs non utilisées par face ne peuvent être allouées à d'autres bandes de papier, elles sont donc "perdues". +

    +
    +
    +


    +

    +

    Différentes configurations encrage/mouillage/blanchet[modifier | modifier le code]

    +

    Module de barres de retournement[modifier | modifier le code]

    +
    Barres de retournement.
    +
    Exemple des possibilités des barres de retournement.
    +

    Principe[modifier | modifier le code]

    +

    Les barres de retournement servent à donner à une bande de papier ou une partie de celle-ci un autre sens de défilement ou une autre voie. On peut alors changer l'ordre des bobines, retourner les bandes (dans le cas où, ne disposant pas de machine imprimant quatre couleurs par face, on veut juxtaposer des pages en couleurs par exemple). +

    Pour parvenir à cela, les barres de retournement sont disposées à un angle de 45° par rapport au sens du papier. Ces barres, n'étant pas mobiles, sont polies et chromées et disposent de buses soufflant de l'air entre la barre et le papier. Le papier glisse ainsi sur des coussins d'air, ce qui minimise les frottements. +

    +

    Exemples[modifier | modifier le code]

    +
    • Les barres de retournement simples servent à changer la direction d'une bande de papier. Cela est nécessaire quand plusieurs unités d'impression sont disposées transversalement par rapport à l'installation d'impression. On les utilise notamment avec les cylindres d'impression double laize. Les combinaisons obtenues permettent une bonne flexibilité de la mise en page.
    • +
    • Les barres de retournement parallèles servent à conduire la moitié de la bande de papier au-dessus ou en dessous de l'autre moitié. La semi-bande déplacée n'est pas retournée, mais transportée parallèlement par rapport au sens de marche initial (le même côté est au-dessus, comme auparavant).
    • +
    • Les barres de retournement croisées sont également appelées Bay-Window ou Poney. La bande qui passe par ce dispositif est alors retournée. Le côté qui était auparavant au-dessus se retrouve en dessous. La bande de papier est alors positionnée sur une autre ou à ses côtés. On peut également changer cette bande d'étage (intéressant si on ne peut pas imprimer quatre couleurs par face).
    +
    +
    +

    Plieuse[modifier | modifier le code]

    +

    Cône ou entonnoir de pliure[modifier | modifier le code]

    +
    Présentation du cône de pli. Toutes les bandes de papier sont assemblées sur le cône et pliées. Il est possible de mettre un couteau rotatif au niveau du pli, ce qui permet la production de format tabloïd ou magazine.
    +
    Le double entonnoir (ou cône) permet l'impression de journal avec deux cahiers (avec un supplément sport, TV par exemple).
    +

    Sur les rotatives offset à double laize, les bandes de papier sont généralement coupées puis arrangées par des barres de retournement. Cet assemblage de bandes reçoit alors le premier pli long au niveau du cône de pliure (on peut également y placer un couteau rotatif si l'on veut un format tabloïd). +

    Pour les journaux à forte pagination, il est parfois nécessaire d'utiliser deux assemblages de demi-bandes. En effet, il n'est pas possible d'utiliser un nombre quelconque de bandes sur un cône de pli, d'où l'utilisation d'un second cône. On appelle alors cela une superstructure à double cône. Il a l'avantage de pouvoir fournir plusieurs cahiers qui est un avantage rédactionnel (le supplément sport, TV...). Ce type de structure permet d'obtenir deux cahiers en production normale et quatre en production accumulée (voir plus loin Production avec accumulation). +

    Note : Dans le cas d'une rotative avec sécheur, il est parfois nécessaire de réhumidifier ou de siliconer le papier pour l'assouplir et éviter qu'il ne casse. +

    +
    +
    +


    +

    +

    Production sans accumulation / avec accumulation[modifier | modifier le code]

    +
    Schéma d'une plieuse : Le papier est coupé par le couteau et saisi par les picots. Le papier en rouge n'est présent que s'il y a production avec accumulation. À la sortie, le journal a deux plis. On peut en ajouter un troisième par la suite.
    +

    Les bandes de papier sortent du cône pour arriver à la plieuse. C'est ici qu'elles vont être découpées. La découpe s'effectue transversalement à l'aide d'un cylindre équipé d'un couteau. Une fois découpée, la bande de papier doit être saisie par des picots pour pouvoir la maitriser (d'où la trace de petits trous en bas d'un quotidien, ou à droite sur les dernières pages d'un format tabloïd). +

    Dans un procédé sans accumulation, le feuillet est immédiatement éjecté en faisant un deuxième pli perpendiculaire au pli du cône. Sur le schéma ci-contre, il ne faut pas tenir compte du papier en rouge qui correspond à une production avec accumulation. +

    En effet, dans un procédé avec accumulation, la feuille n'est pas éjectée tout de suite. Elle est conservée et au tour suivant se trouvera dernière une autre. Ce qui permet de faire deux cahiers (par exemple à l'intérieur d'un quotidien, on aura un supplément sport). Sur le schéma : en rouge le papier qui est accumulé est éjecté avec une autre feuille. +

    Par la suite, selon la configuration et la mise en page voulue, on peut lui ajouter un troisième pli qui sera au choix perpendiculaire ou parallèle au deuxième. +

    +
    +
    +


    +

    +

    Production avec accumulation[modifier | modifier le code]

    +

    Emballage/Expédition[modifier | modifier le code]

    +

    Liens internes[modifier | modifier le code]

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-salom-c3-a9-zourabichvili b/sac/pages/fr-wikipedia-org-wiki-salom-c3-a9-zourabichvili new file mode 100644 index 0000000..48ecc15 --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-salom-c3-a9-zourabichvili @@ -0,0 +1,3617 @@ + + + + +Salomé Zourabichvili — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Salomé Zourabichvili

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    + +

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Salomé Zourabichvili
    სალომე ზურაბიშვილი +
    Illustration.
    Salomé Zourabichvili en 2020. +
    Fonctions
    Présidente de la Géorgie
    En fonction depuis le
    (5 ans et 3 mois)
    Élection +28 novembre 2018 +
    Premier ministre +Mamouka Bakhtadze
    Guiorgui Gakharia
    Maïa Tskitichvili (Intérim)
    Irakli Garibachvili
    Irakli Kobakhidze +
    Prédécesseur +Guiorgui Margvelachvili +
    Députée géorgienne

    (2 ans et 28 jours)
    Élection + +
    Circonscription +Mtatsminda (Tbilissi) +
    Législature +9e +
    Prédécesseur +Zaza Papouachvili +
    Successeur +Vladimer Kakhidzé +
    Ministre des Affaires étrangères de Géorgie

    (1 an, 6 mois et 29 jours)
    Président +Mikheïl Saakachvili +
    Premier ministre +Zourab Jvania
    Zourab Noghaïdeli +
    Gouvernement +Jvania
    Noghaïdeli +
    Prédécesseur +Tedo Djaparidze +
    Successeur +Guéla Béjouachvili +
    Ambassadrice de France en Géorgie

    (5 mois)
    Président +Jacques Chirac +
    Prédécesseur +Mireille Musso +
    Successeur +Philippe Lefort +
    Biographie
    Nom de naissance +Salomé Nino Zourabichvili +
    Date de naissance + (71 ans) +
    Lieu de naissance +Paris (France) +
    Nationalité +Française (jusqu'en 2018)
    Géorgienne (depuis 2003) +
    Parti politique +Voie de la Géorgie
    (2006 à 2011)
    Indépendante +
    Père +Lévan Zourabichvili +
    Mère +Zeïnab Kedia +
    Fratrie +Othar Zourabichvili +
    Conjoint +Nicolas Gorjestani (divorcés)
    Janri Kachia (jusqu'en 2012) +
    Enfants +Kethevane Gorjestani
    Teymouraz Gorjestani +
    Famille +Famille Zourabichvili +
    Diplômée de +IEP de Paris
    Université Columbia +
    Profession +Diplomate +
    Religion +Église orthodoxe géorgienne +
    Résidence +Palais d'Orbeliani +
    Site web +President.ge +
    +
    Signature de Salomé Zourabichviliსალომე ზურაბიშვილი
    +
    Salomé ZourabichviliSalomé Zourabichvili
    Présidents de la Géorgie
    Ministres géorgiens des Affaires étrangères
    +

    Salomé Nino Zourabichvili (en géorgien : სალომე ნინო ზურაბიშვილი), née le à Paris, est une femme d'État géorgienne et ancienne diplomate française. Elle est présidente de la Géorgie depuis 2018 et la première femme à être élue à la tête de ce pays. +

    Fille d’immigrés géorgiens installés en France depuis l'invasion soviétique de la Géorgie en 1921, elle entre dans le service diplomatique français dans les années 1970, occupant divers postes à Paris, New York, Rome, Washington, Vienne, N'Djaména et Bruxelles avant d'être nommée ambassadrice de France en Géorgie par Jacques Chirac en 2003. Quelques mois plus tard, l'arrivée au pouvoir d'un nouveau gouvernement en Géorgie, après la révolution des Roses, lui permet d'obtenir la citoyenneté géorgienne : elle devient ainsi la première personne à posséder les deux nationalités. À la suite de l'accord du gouvernement français, elle devient ministre des Affaires étrangères de Géorgie. +

    Elle change radicalement la structure du ministère et remplace de nombreux ambassadeurs. Elle mène la politique étrangère durant la nouvelle orientation pro-occidentale de la Géorgie, négociant les premiers pas de l'intégration de la Géorgie au sein de l'Union européenne et de l'OTAN. Sous son impulsion, Tbilissi signe plusieurs accords avec l'Alliance nord-atlantique et négocie le Plan d'Action UE-Géorgie. Elle joue un rôle important durant la crise d'Adjarie qui voit la chute du régime d'Aslan Abachidzé dans la région autonome. Elle est également connue pour avoir négocié avec Sergueï Lavrov le retrait des bases militaires russes lors de l'accord du . Ses tentatives de normaliser les relations russo-géorgiennes doivent toutefois faire face à une large opposition du fait des initiatives russes auprès de l'OSCE pour régler le conflit d'Ossétie du Sud. +

    Limogée par le gouvernement de Mikheïl Saakachvili en octobre 2005, elle rejoint l'opposition et forme le parti Voie de la Géorgie, à la tête duquel elle se présente à la mairie de Tbilissi en 2006. Par la suite, elle s'implique dans l'organisation de manifestations massives contre un gouvernement qu'elle accuse d'autoritarisme. Présente lors des manifestations du , elle est nommée candidate au poste de Première ministre par l'Opposition unie lors de l'élection présidentielle anticipée de janvier 2008. En 2010, elle quitte la politique géorgienne pour retourner dans la diplomatie, cette fois-ci auprès de l'ONU. +

    De retour en Géorgie, elle est élue en 2016 comme députée sans étiquette représentant la circonscription de Mtatsminda. Toujours sans parti, mais soutenue par le parti RG-GD au pouvoir depuis 2012, elle est élue cinquième présidente de la Géorgie lors de l'élection présidentielle de 2018. +

    Elle donne alors la priorité à l'intégration de la Géorgie au sein de l'UE et de l'OTAN, et devient l'architecte de la déclaration de Petra, qui tente d'unifier les efforts de la Géorgie, de l'Ukraine et de la Moldavie dans cette orientation. Elle doit faire face, comme ses prédécesseurs, à des conflits séparatistes en Abkhazie et en Ossétie du Sud et, dans le même contexte, à un conflit diplomatique avec la Russie : elle propose la création d'un format de négociations politiques entre Moscou, Tbilissi et les pouvoirs occidentaux pour supplémenter les discussions internationales de Genève. +

    Au cours de sa présidence se déroule une crise politique profonde qui commence par la dispersion violente de manifestants anti-russes le 20 juin 2019. Face à une fracture nationale, elle tente de jouer un rôle de médiatrice, dans un premier temps en facilitant l'implication du président du conseil européen Charles Michel, puis, lorsqu'une solution soutenue par l'UE échoue, en lançant un processus d'accord national. Elle fait également face à la pandémie de COVID-19, contre laquelle elle déclare l'état d'urgence national et soutient de fortes mesures restrictives. L'invasion russe de l'Ukraine en 2022 l'amène à adopter une position anti-russe farouche, en contraste frappant avec le gouvernement du Premier ministre Irakli Garibachvili. Cette différence de position conduit à une série de tensions persistantes entre la présidente et le gouvernement, qui culmine lorsque ce dernier menace de poursuivre la présidente devant la Cour constitutionnelle quand la présidente oppose son veto à un projet de loi sur la surveillance en juillet. En , le parti au pouvoir Rêve géorgien tente en vain de la destituer après lui avoir reproché d'outrepasser ses pouvoirs en matière de politique étrangère. +

    + +

    Situation personnelle[modifier | modifier le code]

    +

    Origines familiales[modifier | modifier le code]

    +
    Niko Nikoladzé, arrière-grand-père de Salomé Zourabichvili.
    +

    Salomé Zourabichvili est née dans une famille d'émigrants géorgiens qui ont fui vers la France après l'invasion soviétique de la république démocratique de Géorgie en 1921[1]. +

    Son père, Lévan Zourabichvili, ingénieur de carrière, a servi pendant de nombreuses années comme président de l'Association géorgienne de France (AGF)[2]. Levan est le petit-fils maternel de Niko Nikoladzé (1843-1928), homme d'affaires, philanthrope et homme politique géorgien de la fin du XIXe siècle et dirigeant influent de l'intelligentsia libérale géorgienne durant la Russie impériale[3]. +

    Sa mère Zeïnab Kedia (1921-2016) est la fille de Melkisedek Kedia, chef du Service de sécurité de la république démocratique de Géorgie[4]. +

    Salomé Zourabichvili a un frère, Othar Zourabichvili, médecin, écrivain et président de l'AGF depuis 2006[5]. Elle est la cousine de l'historienne Hélène Carrère d'Encausse, membre de l'Académie française, et du compositeur Nicolas Zourabichvili, enfants de son oncle Georges[6]. +

    +

    Jeunesse[modifier | modifier le code]

    +Salomé Nino Zourabichvili est née à Paris le et a grandi au sein de la communauté géorgienne en France, installée entre Paris et Leuville-sur-Orge depuis la chute en 1921 de la république démocratique de Géorgie[1]. Élevée dans une influente famille d'émigrés ayant des liens étroits avec le gouvernement en exil de Géorgie, elle a pour seul contact avec le pays la diaspora géorgienne, et dira plus tard[1] :

    +

    « Dans les années qui ont précédé la chute du rideau de fer, il n'y avait aucun contact avec la Géorgie - pas de lettres, pas de journaux, pas de visites. Pour nous, c'était un pays mythique, qui n'existait que dans les livres. » +

    +
    +

    À 8 ans, elle rencontre son premier visiteur géorgien lors d'une visite à Paris d'une troupe de ballet géorgienne, rencontre tenue secrète en raison du caractère répressif des autorités soviétiques organisant la visite[1]. Dans une interview accordée au Washington Post, elle a déclaré qu'elle se sentait « à cheval sur les deux cultures », fréquentant les écoles françaises tout en se rendant à l'église géorgienne de Paris en fin de semaine[1], où elle est chanteuse de chœur[7]. +

    +

    Éducation supérieure[modifier | modifier le code]

    +

    À 17 ans, Salomé Zourabichvili obtient des résultats au baccalauréat qui lui offrent le « privilège d'une admission directe dans la terrible année préparatoire » de l'Institut d'études politiques de Paris en septembre 1969, un programme dont seulement la moitié des participants entre dans l'Institut un an plus tard[8]. En mai 1970, son choix de sujet d'examen final sur la « Révolution et contre-révolution en Europe entre 1917 et 1923 » lui assure une place à Sciences Po[8]. En 2019, l'école décrira ses résultats sur des questions sur le Rerum Novarum, le Kulturkampf et les réformes d'Alexandre II comme un « triomphe », tandis qu'un professeur la décrit alors comme une « étudiante très intelligente qui a rapidement appris la méthodologie et le savoir » du programme[8]. +

    En 1970, elle rejoint la Section internationale de Sciences Po, une voie vers le service diplomatique à laquelle accède seulement une minorité des 4 000 étudiants de l'Institut et qui n'est composée que d'un tiers de femmes[8]. Elle étudie sous de nombreux professeurs français de renom, tels que les historiens Jean-Baptiste Duroselle, Louis Chevalier, sa cousine Hélène Carrère d'Encausse et l'avocate internationale Suzanne Bastid, ces deux dernières étant les seules femmes à enseigner à Sciences Po. Salomé Zourabichvili concentre ses études sur le monde soviétique et obtient son diplôme en juillet 1972[8]. +

    +
    Zbigniew Brzezinski a été professeur de S. Zourabichvili à l'université de Columbia, New York.
    +

    Dans une lettre de recommandation du secrétaire général de Sciences Po, René Henry-Gréard, ce dernier la décrit comme une étudiante qui, malgré sa « timidité », possède des « qualités exceptionnelles » et lui prédit un « bel avenir »[8]. Elle rejoint l'université Columbia pour l'année académique 1972-1973, où Zbigniew Brzezinski la forme sur le régime soviétique et la diplomatie de la guerre froide[8]. +

    Elle a déclaré que le choix d'une carrière dans la diplomatie fut lié à l'espoir de contribuer un jour à « aider la Géorgie »[1]. +

    +

    Carrière dans l'enseignement[modifier | modifier le code]

    +

    Salomé Zourabichvili retourne à Sciences Po en 2006, cette fois comme professeur, peu de temps après son départ du ministère géorgien des Affaires étrangères[9]. Elle travaille jusqu'en 2014 à l'École de Paris des Affaires internationales, enseignant la politique étrangère des grands pouvoirs, l'espace post-soviétique, le développement de l'Eurasie depuis la chute de l'URSS et les causes de cette chute. De même, elle analyse académiquement les progrès accomplis par l'Union européenne en temps de crise[10]. Un étudiant décrira ses cours comme « encourageant des débats importants »[8]. +

    Elle est la première étudiante et professeur de Sciences Po à devenir cheffe d'État[8]. +

    +

    Famille et vie privée[modifier | modifier le code]

    +

    D'un premier mariage à l'économiste irano-américain de la Banque mondiale Nicolas Gorjestani (lui-même descendant de Géorgiens d'Iran), elle a deux enfants, Kéthévane (journaliste pour France 24) et Théïmouraz (diplomate français). Elle épouse en secondes noces Janri Kachia, un influent journaliste et écrivain géorgien et réfugié politique en France en 1982, qui meurt en 2012. +

    Outre le français et le géorgien, Salomé Zourabichvili parle couramment l'anglais et l'italien. +

    +

    Carrière en France[modifier | modifier le code]

    +

    Débuts diplomatiques[modifier | modifier le code]

    +

    Salomé Zourabichvili abandonne ses études pour rejoindre le service diplomatique français en 1974. Elle devient rapidement une diplomate de carrière et est envoyée comme troisième secrétaire de l'ambassade de France à Rome jusqu'en 1977, sous les ambassadeurs Charles Lucet et François Puaux, à la suite de quoi elle devient deuxième secrétaire à la mission permanente de la France auprès des Nations unies à New York jusqu'en 1980. Travaillant sous Jacques Leprette, elle voit la France présider le Conseil de sécurité des Nations unies à deux reprises (octobre 1978 et janvier 1980). +

    Après un retour à Paris où elle travaille comme agent au centre d'analyses du ministère des Affaires étrangères, elle retourne aux États-Unis en 1984 comme première secrétaire de l'ambassade de France à Washington sous l'ambassadeur Emmanuel de Margerie. À ce poste, elle visite pour la première fois en 1986 la Géorgie. Entre 1988 et 1989, elle est envoyée à Vienne comme première secrétaire auprès de la Conférence pour la sécurité et la coopération en Europe. +

    En 1989-1992, elle devient seconde conseillère à l'ambassade de France à N'Djamena. Son mandat coïncide avec la prise de pouvoir d'Idriss Déby dans un coup d'État soutenu par la France. +

    +

    Bruxelles et retour à Paris[modifier | modifier le code]

    +
    Zourabichvili est représentante permanente de la France auprès de l'Union de l'Europe occidentale en 1993-1996.
    +

    En 1992, Zourabichvili est nommée première secrétaire à la mission permanente de la France auprès de l'OTAN à Bruxelles avant d'être représentante permanente de la France auprès de l'Union de l'Europe occidentale, toujours à Bruxelles, de 1993 à 1996. +

    En 1996 et 1997, elle occupe le poste de conseillère technique au cabinet du ministre des Affaires étrangères à Paris puis, en 1997-1998, elle est inspectrice au ministère des Affaires étrangères à Paris. En 1998, elle est nommée sous-directrice des Affaires stratégiques à la direction des Affaires stratégiques, de la Sécurité et du Désarmement au ministère des Affaires étrangères à Paris, poste qu'elle quitte en 2001 pour devenir directrice des Affaires internationales et stratégiques au sein du secrétariat général de la Défense nationale. Elle collabore également au bureau des Affaires stratégiques pour l’OTAN. +

    +

    Ambassadrice en Géorgie[modifier | modifier le code]

    +

    De 2003 à 2004, Salomé Zourabichvili est ambassadrice extraordinaire et plénipotentiaire de France en Géorgie. +

    +

    Carrière politique en Géorgie[modifier | modifier le code]

    +

    Ministre des Affaires étrangères[modifier | modifier le code]

    +

    Nouveau gouvernement[modifier | modifier le code]

    +
    Zourabichvili et le premier ministre Zourab Jvania.
    +

    À la suite de l'arrivée au pouvoir d'un nouveau gouvernement en novembre 2003 issu de la révolution des roses et l'élection de Mikheïl Saakachvili comme président de la Géorgie deux mois plus tard, Salomé Zourabichvili est considérée comme membre potentiel de la nouvelle direction du pays. Des rumeurs sur sa nomination comme ministre des Affaires étrangères apparaissent en janvier 2004 mais sont atténuées par la nomination de Tedo Djaparidzé[11]. +

    Néanmoins, en mars 2004, Saakachvili, alors en visite à Paris, rencontre le président Jacques Chirac et Dominique de Villepin, qui lui accordent le droit de nommer Zourabichvili, malgré son statut d'ambassadrice française. Le 11 mars, Saakachvili annonce publiquement la nomination de la diplomate comme ministre des Affaires étrangères[11] et lui accorde la citoyenneté géorgienne, faisant d'elle la première personne à bénéficier de la double citoyenneté selon la nouvelle constitution géorgienne[12]. +

    Le , Zourabichvili est officiellement nommée ministre des Affaires étrangères de Géorgie, devenant la première femme à occuper ce poste, tandis que sa nomination est approuvée par le parlement après les élections parlementaires du 28 mars. Lors de son discours d'introduction devant le corps diplomatique géorgien le 22 mars, elle souligne l'intégration de la Géorgie au sein de l'Union européenne et de l'OTAN comme sa priorité[13]. En tant que ministre, elle doit faire face à un service diplomatique corrompu et désorganisé et s'engage à un changement radical. Le 23 juin, elle nomme huit nouveaux ambassadeurs en Turquie, en Iran, en Lituanie, en Lettonie, en Estonie, en France, en Roumanie, en Ouzbékistan, au Kazakhstan et au Vatican[14], tandis qu'elle demande au Parlement de limoger les ambassadeurs géorgiens en Italie, en Turquie, en Autriche, au Kazakhstan, au Turkménistan et auprès de l'OTAN[15]. Dans une reconfiguration des priorités diplomatiques nationales, elle ouvre des nouvelles ambassades en Roumanie et en Pologne[15]. Zourabichvili inaugure la pratique d'informer régulièrement les diplomates étrangers sur les questions nationales[16]. Le , Zourabichvili organise à Batoumi la première conférence diplomatique géorgienne depuis 1996[17]. +

    En octobre 2004, elle annonce l'ouverture d'une ambassade géorgienne en Chine, inaugurant le début des relations économiques de proximité entre Tbilissi et Beijing[18]. Deux mois plus tard, la Chine fait don de 5 millions de yuans au gouvernement géorgien, puis finance la subvention de meubles pour le ministère des Affaires étrangères pour une somme de 475 000 dollars[19]. +

    Afin de libéraliser les visas géorgiens et d'encourager le tourisme, elle annonce le la possibilité d'obtenir un visa géorgien à la frontière géorgienne[20]. De même, elle réduit les prix des visas (coûtant alors 200 dollars) : 10 dollars pour un visa d'un mois, 30 dollars pour un visa de trois mois et 100 dollars pour un visa d'un an[21]. +

    +

    Crise d'Adjarie[modifier | modifier le code]

    +
    Pont en Adjarie détruit lors de la crise.
    +

    L'un des premiers défis du gouvernement de Saakachvili est la crise d'Adjarie, durant laquelle le dirigeant autocratique de la république autonome d'Adjarie, Aslan Abachidzé, menace de faire sécession avec la région maritime, en réactions aux nouvelles autorités en place. Le , quelques jours après sa nomination, le ministère de Zourabichvili annule les passeports diplomatiques de plusieurs hauts dignitaires adjariens mais son implication dans l'affaire reste nébuleuse[22]. Sous les ordres du Premier ministre Zourab Jvania, elle nomme le 14 avril un groupe pour informer les organisations internationales de la situation en Adjarie et organiser leur assistance pour mettre un terme aux tensions[23]. Dans ce cadre, elle reste en communication avec les corps diplomatiques étrangers durant l'ensemble de la crise : les États-Unis condamnent Abachidzé, la Turquie appelle au calme et la Russie demande au gouvernement géorgien d'éviter l'utilisation de la force[24]. Dans un discours, elle déclare : « Le régime d'Abachidze et le trafic de drogue en Adjarie constituent une menace pour toute la région et nous devrions concentrer l'attention de nos amis étrangers sur ce problème particulier. »[25] +

    Aslan Abachidzé quitte l'Adjarie le . Le même jour, Zourabichvili se rend à Moscou, dont le rôle durant la crise a, selon elle, « créé une atmosphère favorable pour des négociations. »[26] Et, tandis que le président Saakachvili déclare le début de la réunification de la Géorgie, Zourabichvili souligne le manque de parallèle entre la crise adjare et les conflits d'Abkhazie et d'Ossétie du Sud[27]. +

    Durant la crise, Walter Schwimmer, secrétaire général du Conseil de l'Europe, critique le manque de dialogue entre Tbilissi et Batoumi, une déclaration lourdement critiquée par le gouvernement géorgien[28]. Zourabichvili demande une correction de cette déclaration et, à la suite du départ d'Abachidzé, enclenche le processus d'expulsion de Plamen Nikolov, représentant spécial de Schwimmer en Géorgie[29]. Le 9 mai, Saakachvili critique ouvertement le secrétaire général, le désignant comme un « bureaucrate bien payé » et se rend à Strasbourg le 12 mai pour rencontrer Schwimmer et tenter d'atténuer les tensions[30]. L'expulsion de Nikolov est annulée, mais la Géorgie vote pour la nomination du Britannique Terry Davis en juin, contre Schwimmer[31]. +

    +

    Russie : entre détente et conflit[modifier | modifier le code]

    +
    Groupes de travail[modifier | modifier le code]
    +

    Les relations russo-géorgiennes, des liens complexes depuis la chute de l'URSS et rendues plus compliquées depuis la révolution des roses, sont au centre de l'agenda de Salomé Zourabichvili, qui tente de gérer une série de problèmes bilatéraux dans le cadre de l'orientation euro-atlantique de la Géorgie[32], tout en travaillant à la normalisation des relations entre Tbilissi et Moscou. Dans plusieurs aspects, et ce durant les négociations russo-géorgiennes pour le retrait des bases militaires russes, elle encourage une coopération amicale entre les deux pays dans plusieurs secteurs. Ainsi, elle propose d'organiser des jours culturels russes à Tbilissi en octobre 2004[33], et annonce le début d'une « nouvelle phase » dans les relations bilatérales suivant le sommet de la Communauté des États indépendants d'Astana du [34], et encore critique la « rhétorique agressive » des deux côtés (dont le ministre géorgien de la Défense Irakli Okrouachvili[35]), et enfin décrit la CEI comme une organisation portant une « certaine importance économique »[36]. +

    Dans l'espoir d'une détente, elle invite le ministre russe des Affaires étrangères Sergueï Lavrov à faire une visite officielle en Géorgie le . En route vers Tbilissi, celui-ci retire de son planning le dépôt de gerbe de fleurs au Mémorial des héros déchus[37], menant Zourabichvili à rétrograder le statut de visite officielle à visite de travail[38]. La visite se termine par un accord sur la formation de groupes d'experts russo-géorgiens pour négocier les six directions au cœur des problèmes bilatéraux : la signature d'un accord-cadre pour la coopération bilatérale, le départ des bases militaires russes, la création d'un centre conjoint anti-terroriste en Géorgie, la délimitation de la frontière bilatérale, la résolution des conflits en Abkhazie et Ossétie du Sud et le régime des visas[39]. +

    Le , la Commission bilatérale pour la délimitation de la frontière russo-géorgienne s'accorde sur la démarcation des 120 kilomètres de la section daghestanaise de la frontière, tandis que le 25 avril, Lavrov et Zourabichvili activent à Moscou des négociations sur le reste de la frontière et sur le régime des visas[40]. Malgré ses tentatives de sécuriser la signature de l'accord-cadre par les présidents Saakachvili et Vladimir Poutine au 60e anniversaire de la fin de la Seconde Guerre mondiale le [41], les négociations échouent ; en octobre, elle déplore le manque de progrès vers la signature d'un accord[34]. Après son limogeage en octobre 2005, les négociations entre les six groupes d'experts cessent. +

    +
    Veto russe de l'OSF[modifier | modifier le code]
    +
    Zourabichvili et le secrétaire d'État américain Colin Powell en 2004.
    +

    Le blocage par la Russie de l'extension de l'Opération de surveillance de la frontière russo-géorgienne (OSF) de l'OSCE en décembre 2004 est un autre point de tensions entre les deux pays[42]. À la suite du vote russe, elle voyage avec le secrétaire d'État américain Colin Powell à Sofia pour faire appel au Comité des ministres des Affaires étrangères de l'OSCE[43], en vain, et critique la position russe, qui se met contre l'OSF tout en accusant la Géorgie d'abriter des terroristes tchétchènes dans sa vallée de Pankissi[44]. Le 9 décembre, elle voyage à Bruxelles pour demander à Javier Solana le remplacement de l'OSF par une mission de l'Union européenne[45], ce qui est critiqué par Moscou, qui accuse Zourabichvili de vouloir une confrontation entre Moscou et Bruxelles[46]. En mars 2005, l'Union européenne accepte d'envoyer trois observateurs civils pour analyser la situation sur la frontière[47], tandis que ses efforts garantissent la présence d'observateurs lituaniens[48] et ukrainiens[49]. En avril, l'UE refuse formellement de prendre en charge l'OSF mais accepte de financer un programme d'entraînement pour les gardes-frontières géorgiens[50]. +

    +
    Retrait des bases militaires russes[modifier | modifier le code]
    +

    Quand Salomé Zourabichvili devient ministre, la Russie maintient toujours des bases militaires datant de l'époque soviétique à Akhalkalaki et Batoumi, ainsi qu'à Goudaouta en Abkhazie, malgré la Déclaration du Sommet de l'OSCE d'Istanbul de 1999. Pour la ministre, le retrait de ces bases, qu'elle décrit comme n'ayant « aucune valeur stratégique pour la Russie »[51], devient une priorité et les négociations entre Tbilissi et Moscou commencent le par son initiative[52]. Elle arrange l'aide des pouvoirs occidentaux durant les pourparlers, notamment durant sa rencontre avec Colin Powell le à Washington[53], et briefe les diplomates euro-atlantiques à travers le processus[54]. La ministre propose de même la création d'un centre joint anti-terroriste en Géorgie[55] et les discussions commencent le 23 juin à Moscou. Au cœur des différends est l'emploi du temps du retrait des bases, la Géorgie réclamant trois ans et la Russie demandant huit ans[56]. +

    +Durant ces négociations, Zourabichvili doit aussi atténuer les voix bellicistes du côté géorgien : Irakli Okrouachvili la critique pour la lenteur des négociations et elle doit éviter un vote parlementaire imposant des mesures restrictives sur la Russie en mars 2005[57]. De l'autre côté, une division est claire dans les positions de Lavrov et d'Igor Ivanov, ministre russe de la Défense[58], menant Zourabichvili et Lavrov à s'accorder en septembre 2004 lors d'une rencontre à New York d'éviter une politique de doubles standards[33]. Au début de 2005, après un progrès dans les négociations, elle déclare[59] :

    +

    « Nous, au niveau des ministères des Affaires étrangères, avons analysé en détail les raisons qui ont déclenché de nombreux malentendus dans les relations entre nos pays. Je peux dire que non seulement en Géorgie, mais aussi en Russie, la vision de nos problèmes communs a changé. Ces choses, qui auparavant pouvaient être considérées comme des défaites et même des humiliations, sont maintenant perçues comme un processus commun, ce qui est dans notre intérêt commun. Nous pouvons parler de plusieurs facteurs. Ce peut être la dure déclaration du Parlement géorgien adoptée en mars, qui envisageait la proclamation des bases russes illégales en cas d'échec des pourparlers. Il n'est pas exclu que le facteur américain ait également joué son rôle, notamment la visite de la secrétaire d'État américaine Condoleezza Rice [en Russie] : Moscou a probablement pris en considération sa vision des relations russo-géorgiennes. Ou peut-être la Russie a-t-elle voulu démontrer à la communauté internationale, à la veille des grandes célébrations commémoratives du Jour de la Victoire [de la Seconde Guerre mondiale le 9 mai], que Moscou est capable de normaliser ses relations avec une Géorgie « problématique » » +

    +
    +

    Zourabichvili et Lavrov atteignent un accord informel le [60] sur le retrait des bases avant le [61] (Tbilissi insiste alors sur le départ des troupes russes avant les élections présidentielles et parlementaires de 2008[62]), mais Moscou change sa position rapidement, réclamant de rester dans sa base de Batoumi pendant au moins quatre ans. Le 6 mai, Zourabichvili se rend à Moscou pour rencontrer Lavrov mais ces discussions sont de nouveau sans résultat et elle annonce que le président Saakachvili ne visitera pas la Russie pour le Jour de la Victoire[63]. Les deux se rencontrent à Varsovie le 16 mai pour relancer les négociations[64]. Un dernier point de friction est l'insistance par la Russie que la Géorgie adopte un engagement légal à ne pas abriter d'autres troupes étrangères sur son territoire après le départ des Russes[65], Zourabichvili s'oppose à cette position et la décrit comme une « expression de relations inégales entre les deux pays »[66]. +

    Une déclaration finale est signée par Zourabichvili et Lavrov à Moscou le envisageant le départ des troupes russes avant 2008[67] et le premier équipement militaire quitte le port de Batoumi le 30 juillet[68]. Cet accord sera plus tard décrit par la ministre comme le seul accord dans l'histoire des relations bilatérales qui n'a pas été violé par la Russie[54]. +

    +
    Conflits séparatistes[modifier | modifier le code]
    + +

    Les relations entre la Géorgie et la Russie sont plus tendues dans le cadre des conflits en Abkhazie et en Ossétie du Sud, deux régions séparatistes hors du contrôle géorgien depuis 1994 et sous le protectorat de Casques bleus russes (dans un format mixte avec les Géorgiens en Ossétie du Sud et sous l'égide de la CEI en Abkhazie). La tenure de Salomé Zourabichvili comme ministre correspond au développement d'une nouvelle stratégie nationale lancée par le gouvernement de Mikheïl Saakachvili, qui fait de la « réunification nationale » une priorité, mais elle doit faire face à une situation explosive, comme le démontre l'attaque dans la zone de conflit sur le député russe Andreï Kokochine (une attaque que Tbilissi dénonce comme une opération sous fausse bannière)[69]. +

    Lors de l'élection présidentielle abkhaze de 2004, remportée par Sergueï Baghapch contre le candidat pro-Kremlin Raoul Khadjimba, elle déclare que la stratégie russe en Abkhazie « a échoué ou n'existe pas » et que « la démocratie infiltre tout endroit, même dans les régions les plus isolées », et ce malgré le fait que la Géorgie ne reconnait pas les résultats de ces élections et que Zourabichvili dit n'avoir pas interféré dans les résultats[70]. Dans une volonté de coopération, elle offre à Moscou de servir comme médiateur dans la résolution des conflits, mais la Russie déclare être prête à intervenir en cas de crise constitutionnelle en Abkhazie suivant l'annulation de la victoire de Baghapch par les autorités abkhazes, obligeant Zourabichvili à faire appel au Groupe d'amis de la Géorgie du secrétaire général des Nations unies (GAG) de répondre à la Russie[71]. Quand la Russie déploie des Casques bleus à Sokhoumi le 14 novembre, elle convoque l'ambassadeur russe[72] et demande à l'Union européenne de réagir à la crise ou faire face à une interprétation russe d'approbation[73]. Le 30 novembre, elle condamne la visite de dignitaires russes à Sokhoumi sans l'accord de Tbilissi[74], puis refuse de suivre la Russie dans son projet de rétablir le chemin de fer transcaucasien durant la crise électorale abkhaze[75]. La visite de Sergueï Lavrov en Géorgie de février 2005 n'est confirmée par Zourabichvili qu'à la suite de sa déclaration reconnaissant la souveraineté nationale et l'intégrité territoriale de la Géorgie[76]. Le , elle annonce une rencontre entre Saakachvili et Baghapch[77], mais ce développement en Abkhazie cesse après le limogeage de Zourabichvili. +

    Zourabichvili essaie de travailler directement avec la Russie en Ossétie du Sud : le , elle propose au vice-ministre russe des Affaires étrangères Valeri Lochtchinine l'établissement d'un point de contrôle russo-géorgien au Tunnel de Roki pour combattre le trafic à la frontière russe[78] mais cette offre est rejetée par le gouvernement séparatiste de Tskhinvali[79]. Là aussi, elle doit faire face à une direction russe ambiguë et proteste contre le refus par Mikhaïl Mironov, représentant de Moscou dans les négociations sur l'Ossétie du Sud, de confirmer la présence du Tunnel de Roki en Géorgie[80] et contre la nomination du Russe Anatoli ILrovoï comme chef du FSB d'Ossétie du Sud[81]. +

    +Néanmoins, Zourabichvili maintient une position moins belliciste que les députés nationaux du Parlement géorgien sur le sujet des Casques bleus russes, tout en critiquant la présentation de nombreux plans de paix par son propre gouvernement sans le support d'organisations internationales[82]. Dans une entrevue avec Regnum, elle dit[83] :

    +

    « Dans une certaine mesure, ce n'est pas à nous mais à la Russie de faire un choix de quel côté elle doit être - un pays voisin, qui a des relations normales avec la Géorgie et peut, comme d'autres partenaires de la Géorgie, maintenir une force de maintien de la paix et participer à divers formats [de négociations] à l'ONU… ou un participant à ces conflits en s'ingérant directement en soutenant une partie à certains moments et l'autre à d'autres moments. » +

    +

    Suivant l'accord russo-géorgien du sur le retrait des bases militaires russes, elle fait de la résolution des conflits une priorité des relations bilatérales de la Géorgie avec la Russie[84] et envisage 2006 comme une année « cruciale ». +

    Zourabichvili tente d'internationaliser le processus de résolution des conflits, qui se prouve difficile dans le contexte de l'attention internationale portée sur les Balkans et le Moyen-Orient. Le , elle demande au Conseil permanent de l'OSCE d'étendre le mandat de la mission d'observation de l'Organisation jusqu'à Djava et le Tunnel de Roki mais la Russie impose son véto[69]. En réponse, elle obtient de Roy Reeve, chef de la mission de l'OSCE en Géorgie, de lancer des négociations directes entre Tbilissi et Tskhinvali sur ce sujet puis organise à Sofia une rencontre des ministres européens des Affaires étrangères sur le conflit, sous l'égide de Solomon Passi (alors président en exercice de l'OSCE)[69]. Le 18 août, suivant la bataille de Tskhinvali de 2004 qui finit en une défaite géorgienne, elle fait appel, encore une fois devant le Conseil permanent de l'OSCE, à l'organisation d'une conférence internationale sur le conflit d'Ossétie du Sud, une proposition aussi bloquée par la Russie[85] malgré des promesses géorgiennes vers la démilitarisation, un cessez-le-feu et un dialogue direct[86]. En septembre 2004, elle visite la Bulgarie, propose Sofia comme le lieu de rencontre entre les différents côtés du conflit osséto-géorgien et demande au gouvernement de Gueorgui Parvanov de se concentrer sur la résolution du conflit[87]. Elle tente, également en vain, d'ouvrir un bureau des droits de l'homme par l'OSCE à Gali en Abkhazie[88]. +

    Le , Salomé Zourabichvili critique ouvertement l'OSCE pour son échec dans sa capacité d'apporter une aide dans la résolution des conflits séparatistes[89] et tourne son attention vers l'Union européenne, demandant à Bruxelles de négocier directement avec la Russie sur la sécurité du Tunnel de Roki[90]. Elle travaille de même avec la Commission de Venise sur la rédaction d'un nouveau plan de paix du gouvernement géorgien[91] et négocie le début des discussions abkhazo-géorgiennes de Genève en avril 2005[92]. +

    +

    Chemin pro-occidental[modifier | modifier le code]

    +

    Sous sa tenue, Salomé Zourabichvili mène un changement radical de la diplomatie géorgienne qui évolue vers une orientation solidement pro-occidentale, la Géorgie de Mikheïl Saakachvili demandant d'intégrer à l'Union européenne et à l'OTAN. C'est ainsi qu'elle mène le ministère des Affaires étrangères lors de l'intégration de la Géorgie dans la politique européenne de voisinage, la confirmation du Plan d'action individuel de partenariat par l'OTAN, la nomination d'un représentant spécial du Secrétaire général de l'OTAN pour le Caucase du Sud et l'Asie centrale, le lancement d'une mission européenne en Géorgie pour la réforme judiciaire, le début d'un nouveau niveau de coopération avec les États-Unis et la contribution géorgienne à la coalition internationale anti-terroriste[93]. +

    Le , l'Union européenne annonce l'inclusion de la Géorgie au sein de sa politique de voisinage, ce qui est décrit par la ministre comme une étape en avant vers l'accession de la Géorgie au sein de l'UE ; et Zourabichvili insiste sur l'inclusion de programmes financiers dans ce cadre[94]. Elle passe sa tenure à développer le Plan d'action UE-Géorgie de la politique européenne de voisinage et, quelques jours avant son limogeage, critique la lenteur des négociations entre Tbilissi et Bruxelles, réclamant au gouvernement britannique (qui tient la présidence du Conseil de l'Union européenne dans la seconde moitié de 2005) de porter plus d'attention au développement du plan d'action[95]. Son ministère joue également un rôle important dans le lancement d'EUJUST THEMIS en 2004, la mission européenne pour assister le gouvernement géorgien dans ses réformes judiciaires[96]. +

    Le Sommet d'Istanbul de l'OTAN de juin 2004 ouvre les portes vers une nouvelle collaboration entre la Géorgie et l'Alliance nord-atlantique grâce à la création du poste de Représentant spécial du secrétaire général pour le Caucase du Sud et l'Asie centrale. C'est le 29 octobre de la même année que le Conseil nord-atlantique confirme le Plan d'action individuel de partenariat (PAIP)[97] et Zourabichvili sera nommée par le Premier ministre Zourab Noghaïdeli chargé des réformes politiques et de sécurité du pays[98]. Le , elle signe avec Jaap de Hoop Scheffer un accord pour l'utilisation de l'infrastructure de transport géorgien (dont l'espace aérien, les chemins de fer et les routes) par l'OTAN dans le cadre de son opération en Afghanistan[99]. +

    Sous le ministère Zourabichvili, la Géorgie développe une plus proche coopération avec les États-Unis et c'est ainsi qu'elle signe le un accord avec le Millenium Challenge Account envisageant 295,3 millions de dollars sur cinq ans pour financer le développement de l'infrastructure régionale et des petites et moyennes entreprises[100]. Le , Tbilissi annonce une augmentation de sa présence militaire en Irak, décrit comme un « symbole de solidarité avec les États-Unis qui nous ont aidé quand nous en avions besoin »[101]. +

    La ministre se lance aussi dans une politique de rapprochement direct avec les États membres des organisations occidentales. Elle est la première ministre géorgienne à faire une visite officielle en République tchèque[102], elle signe un accord abolissant la double imposition avec l'Autriche[103], elle signe une déclaration jointe avec la Pologne pour sécuriser le soutien de Varsovie envers les ambitions euro-atlantiques de la Géorgie[104], puis signe une lettre avec son homologue lituanien Antanas Valionis demandant la création d'une « plateforme de coopération » entre les États baltes et transcaucasiens[105]. Elle mène les efforts qui contribuent à la création du « Nouveau groupe d'amis de la Géorgie », composé de l'Ukraine, la Lituanie, la Lettonie, l'Estonie, la Roumanie, la Bulgarie, la République tchèque et la Pologne, pays soutenant l'intégration de la Géorgie au sein de l'UE et de l'OTAN. +

    Zourabichvili jette les bases de la réorganisation du GUUAM, l'organisation qui rassemble dans un format de coopération régional la Géorgie, l'Ukraine, l'Ouzbékistan, l'Azerbaïdjan et la Moldavie. Sous son ministère, l'Ouzbékistan se retire du format et Tbilissi et Kiev travaillent ensemble à la formalisation de cette alliance[106]. Le sommet de Chișinău du ouvre les portes d'un élargissement de l'organisation pour la première fois[107]. Sous l'égide du GUAM, Zourabichvili et son homologue ukrainien Borys Tarassiouk visitent le Kyrgyzistan afin de soutenir la révolution des Tulipes[108]. +

    +

    Politique de voisinage[modifier | modifier le code]

    +

    Durant sa tenue, Zourabichvili continue la politique de ses prédécesseurs de rapprochement régional entre les pays du Caucase. Elle visite Bakou le dans le cadre du sommet des ministres des Affaires étrangères de l'Organisation de coopération économique de la mer Noire, une visite durant laquelle elle rencontre le président azéri Ilham Aliyev et son homologue Elmar Mamedyarov[109]. +

    +

    Conflit avec Saakachvili et limogeage[modifier | modifier le code]

    +

    Les relations entre Salomé Zourabichvili et le parti MNU au pouvoir sont tendues au bout de quelques mois de sa tenue. La première dispute publique éclate dans l'affaire de la dette envers l'ONU, quand elle est convoquée par le Comité parlementaire des affaires étrangères pour expliquer la perte par la Géorgie de son droit de vote à l'Assemblée générale des Nations unies[110]. Le conflit entre Zourabichvili et le président du comité Konstantine Gabachvili culmine durant la visite de la ministre à l'ONU en octobre 2004 quand elle critique le député pour mettre en question le travail des diplomates géorgiens durant une visite officielle[110]. La convocation de la ministre au Parlement est annoncée malgré une négociation qui mène la Géorgie à reprendre son droit de vote en échange d'un paiement annuel de 766 299 dollars au budget de l'ONU jusqu'en 2014[110]. +

    Gabachvili, un proche allié du président Saakachvili, critique de nouveau la ministre en décembre 2004 quand elle ordonne aux ambassades géorgiennes de briefer son ministère avant d'entrer en communication avec le Parlement dans le but de faciliter la coordination diplomatique géorgienne[111]. Le , elle est de nouveau convoquée au Parlement, cette fois-ci par la présidente parlementaire Nino Bourdjanadze, suivant le limogeage de l'ambassadeur Konstantine Zaldastanichvili (couvrant le Benelux) durant la visite de Bourjanadzé à Bruxelles[112]. Un mois plus tard, la nomination de son adjoint Guiorgui Gomiachvili comme ambassadeur en Suisse est opposée publiquement par le vice-président du parlement Mikheïl Matchavariani et la cheffe de la majorité parlementaire Maïa Nadiradzé, qui accusent Gomiachvili d'inexpérience[113]. Quand Bourdjanadzé retire le vote de confirmation de Gomiachvili de l'agenda parlementaire[114], celui-ci démissionne, annonce son entrée dans l'opposition et accuse le MNU de vouloir dissimuler des informations financières en Suisse. En réponse, Zourabichvili demande au MNU de respecter l'indépendance du ministère des Affaires étrangères[115]. Durant la conférence diplomatique géorgienne de septembre 2005, Saakachvili menace directement chaque ambassadeur de limogeage dans le cas où ils échouent à importer de nouveaux investissements internationaux en Géorgie[116]. +

    Le choc final débute le 12 octobre dans l'affaire de la ratification de la Convention-cadre pour la protection des minorités nationales, une convention internationale du Conseil de l'Europe signée par le président Edouard Chevardnadzé et devant être ratifiée par le Parlement géorgien avant le [117]. Le document est approuvé par la législature le 13 octobre mais le député Davit Kirkitadzé (MNU) accuse la ministre de négligence pour ne l'avoir pas soumis dans les délais légaux, enclenchant une guerre de paroles[118]. Le 18 octobre, elle est convoquée par les Comités des affaires étrangères et de l'intégration européenne et est critiquée par Bourdjanadzé et Nika Gvaramia (MNU). Durant l'audition parlementaire, les députés révèlent des lettres des ambassadeurs géorgiens à l'ONU (Revaz Adamia), en Russie (Irakli Tchoubinichvili) et en Ukraine (Grigol Katamadzé) se plaignant de la tenue de Zourabichvili[119]. Le député Guia Tortladzé quitte le MNU par solidarité envers la ministre[120]. +

    +Le 19 octobre, le Premier ministre Zourab Noghaïdeli annule sa visite aux États-Unis[121] et elle rencontre le président Saakachvili[122], à qui elle demande de dissoudre le Parlement[123] pour éviter ce qu'elle considère alors comme une révolte législative contre le gouvernement. Dans la soirée, elle est néanmoins limogée par Noghaïdeli[124]. Avant de quitter son bureau, elle organise une entrevue avec la chaîne télévisée Roustavi 2 durant laquelle elle fait appel à une manifestation contre le MNU[125] :

    +

    « Personne ne devrait croire que des désaccords personnels sont à l'origine de ce scandale. Il s'agissait d'une campagne bien planifiée, qui a commencé dès le premier jour après ma prise de fonction du ministère des Affaires étrangères. Les mines ont été placées dès le premier jour, dès le premier scandale, quand on m'a reproché un retard de paiement de la dette de la Géorgie envers l'ONU – qui s'accumulait depuis de nombreuses années déjà… Cela a été suivi de nombreuses autres accusations sans fondement. +

    Il semble que ma position, mes discours, mes déclarations, mes tentatives de démanteler les systèmes de corruption dans un certain nombre d'ambassades créaient des obstacles pour de nombreuses personnes. Et je tiens à dire que cette agressivité bien planifiée – je dirais une mutinerie – est dirigée non seulement contre moi, mais contre le président. J'ai informé le Président aujourd'hui que j'avais l'intention de faire ce discours ce soir, ce ne sera donc pas une surprise pour lui, bien que cela ne signifie pas qu'il partage pleinement mes opinions. +

    C'est un moment très difficile pour le président Saakachvili, car il n'a pas d'outils pour résoudre correctement cette crise. La seule bonne façon de surmonter la crise actuelle est de dissoudre le Parlement et de convoquer des élections anticipées. +

    Aujourd'hui, nous assistons à un moment historique. C'est la dernière galère de l'ancien système, du cancer du communisme. Ces gens représentent l'ancien système, qui essaie de survivre. Nous devons soit rester fermes, soit prendre du recul. Si nous prenons du recul, un mouvement de recul sera lancé, ce qui signifie se détourner de la voie démocratique du développement. C'est donc un moment historique non seulement pour la Géorgie, mais pour toute la région, car la Géorgie est un parfait exemple de la façon dont le pays essaie de surmonter son passé totalitaire… Si nous ne matérialisons pas pleinement les idées de notre Révolution, tout reculera et tout le monde, y compris les États-Unis et l'Europe devraient s'en rendre compte. Dans ce cas, le néo-communisme aura une nouvelle forme et l'ancien système gagnera, donc la Russie gagnera. +

    Si vous croyez à ce que j'ai dit, si vous pensez que la démocratie géorgienne est en danger, s'il vous plaît, rassemblons-nous à l'hippodrome de Tbilissi demain à 13 h juste pour cinq minutes. Bien sûr, ce n'est pas un appel à une nouvelle révolution. » +

    +
    +

    Zourabichvili, ayant quitté le service diplomatique français peu de temps avant afin de ne plus recevoir un salaire de l'État français, annonce son entrée en politique. Son limogeage est critiqué par des membres du gouvernement, tel que le ministre d'État pour la résolution des conflits Guiorgui Khaïndrava[126], ainsi que par l'opposition parlementaire, malgré d'anciens différents[127],[128]. La France la remercie pour son service comme ministre géorgienne[129], tandis que les gouvernements des États-Unis[130] et de Russie[131] doivent émettre des communiqués pour confirmer qu'ils continueront de collaborer avec le nouveau ministre. Saakachvili critique Zourabichvili pour ce qu'il décrit comme « chaos et désorganisation » au sein du ministère[132], convoque le Conseil de sécurité nationale (CSN)[133] et doit, à la suite d'allégations par les Nouvelles droites (ND)[134], nier une nouvelle orientation pro-russe du gouvernement géorgien[135]. Guela Bejouachvili, secrétaire du CSN, est nommé comme nouveau ministre des Affaires étrangères[136] et plusieurs ambassadeurs sont rapidement remplacés[137],[138]. +

    +

    En opposition[modifier | modifier le code]

    +

    Voie de la Géorgie et élections municipales de 2006[modifier | modifier le code]

    +

    Le (au lendemain de son départ), des milliers de partisans se rejoignent à l'hippodrome de Tbilissi pour protester contre le limogeage de Salomé Zourabichvili et contre le gouvernement de Mikheïl Saakachvili, marquant la première grande manifestation contre le président[139]. Dans son discours, elle surnomme les dignitaires du MNU des « démons »[140], tout en s'opposant à tout renversement gouvernemental, choisissant un « système européen et démocratique ». Critiqué par la majorité des partis d'opposition, le limogeage de Zourabichvili mène de nombreuses figures à demander une alliance politique avec elle, notamment Davit Oussoupachvili du Parti républicain (PR)[141], Konstantine Gamsakhourdia du Parti pour la liberté (PL) et Guia Maïsachvili[142], mais elle refuse de rejoindre un autre parti[143] et le 1er novembre, elle lance le Mouvement Salomé Zourabichvili et ouvre son quartier-général à Tbilissi[144]. +

    Son mouvement organise plusieurs manifestations contre le gouvernement, tel que le pour protester contre les violences policières et le ministre des Affaires intérieures Vano Merabichvili[145] et le 27 novembre contre la réforme des gouvernements locaux qui abolit 1 100 conseils municipaux[146]. En décembre, un sondage de GORBI fait d'elle la troisième personnalité politique la plus populaire dans le pays, derrière Saakachvili et le conservateur Koba Davitachvili (avec 4 % des voix)[147] et quelques mois plus tard, un sondage de Kviris Palitra pour l'élection présidentielle de 2008 lui donne un score de 23,1 % (en seconde place, derrière les 33 % de Saakachvili)[148]. Les autorités la critiquent pour sa tenue comme ministre et l'Audit d'État l'accuse d'abus financier pour avoir couvert les coûts des voyages de journalistes la suivant en voyages officiels[149]. +

    En décembre 2005, Zourabichvili s'engage dans un voyage européen de six semaines, visitant la France, l'Allemagne, l'Autriche, Monaco et la Belgique afin de participer à plusieurs conférences internationales, rencontrer le Haut représentant de l'Union pour les affaires étrangères et la politique de sécurité Javier Solana et organiser des évènements avec les fondations allemandes Konrad Adenauer et Heinrich Böll[150]. Elle rentre en Géorgie le et annonce la formation de l'Initiative pour la démocratie[151], un parti politique qui devient la « Voie de la Géorgie » (VG) le 12 mars lors de son congrès inaugural qui voit 2 000 membres se rassembler à la Salle philharmonique de Tbilissi. Avec son nouveau parti, Zourabichvili critique ce qu'elle décrit comme un « système de facto à parti unique », le manque de dialogue entre gouvernement et société civile, la politique ambiguë de Tbilissi envers la Russie, les réformes électorales qui affaiblissent les petits partis, le boycott gouvernemental envers les chaînes télévisées d'opposition et la faiblesse du Parlement et du système judiciaire face au pouvoir exécutif[152]. L'ancienne ministre critique de même les partis d'opposition pour leur manque de programmes électoraux, leur boycott parlementaire, leur demande de coopération sans idéologie et leur politisation des réformes universitaires entreprises par le gouvernement de Saakachvili[152]. Durant l'affaire de Sandro Guirgvliani, un jeune banquier tué par des dignitaires du ministère des Affaires étrangères, elle fait appel à l'opposition de porter son attention sur le sujet au lieu de « thèmes populistes » et organise des consultations avec les ND, le Parti républicain, le Parti pour la liberté, le Parti conservateur et le Parti travailliste vers une unification de leurs efforts vers la démission de Merabichvili[153]. +

    Aux commandes de la VG, elle supporte une « démocratie réelle et effective fondée sur les droits de l'homme, le système juridique, l'État de droit et une séparation adéquate des pouvoirs », la protection du droit de propriété privée et le marché libre, le renforcement du rôle de la Géorgie comme centre de la Transcaucasie, l'intégration géorgienne à l'OTAN et l'UE et l'implication de la diaspora géorgienne dans le développement économique et culturel du pays[154]. En juillet 2006, durant l'opération géorgienne pour reprendre contrôle de la vallée de Kodori contre le seigneur de guerre Emzar Kvitsiani, elle est la seule membre de l'opposition à se déclarer en faveur de la campagne et est soutenue par le député MNU Nika Gvaramia[155]. +

    Lors de la création de son parti, Salomé Zourabichvili annonce la formation d'un conseil politique mené par le député Guia Tortladzé, ainsi que des plans qui ne se matérialiseront pas sur la formation d'un cabinet fantôme[156]. Elle se voit proche du Parti pour la liberté, des Nouvelles droites et du Parti républicain (ce dernier la considérant comme candidate pour maire de Tbilissi[157]) mais garde ses distances vis-à-vis des partis conservateur et travailliste, tout en s'opposant à tout lien avec le pro-russe Parti pour la Justice. Elle recrute de nombreux jeunes activistes sans passé politique. +

    Le , elle annonce sa candidature pour la mairie de Tbilissi dans les élections municipales d'octobre, causant une fracture au sein de l'opposition qui envisage alors soutenir Koba Davitachvili pour la position[158]. Elle s'oppose aux appels à unifier l'opposition, préférant une coopération basée sur les problèmes individuels. Tandis qu'elle ne s'oppose pas clairement aux élections indirectes du maire de Tbilissi (le système alors envisageant un suffrage universel pour le conseil municipal qui élirait par la suite le maire)[159], elle soutient un appel par l'opposition vers des élections entièrement proportionnelles, sans pour autant signer une lettre jointe annonçant un boycott électoral[160]. Suivant la formation du Groupe des 7 (la coalition unifiant sept partis d'opposition), elle continue son refus de s'unifier au reste des forces d'opposition[161] et ne participe pas dans les consultations du 6 août pour développer une stratégie électorale unie[162]. Le G7 s'effondre bientôt quand Konstantine Gamsakhourdia[163] et les ND annoncent un boycott des élections municipales[164], les Industrialistes nominent l'homme d'affaires Gogui Topadzé comme candidat à la mairie de Tbilissi[165] et les Républicains et Conservateurs s'unifient derrière Koba Davitachvili[166]. +

    Sa position durant les évènements de 2006 pousse Tortladzé à quitter son parti (la VG perd ainsi son seul député)[167]. Durant les élections municipales, elle critique Saakachvili pour son interférence dans le processus[168] et se présente comme candidate pour la circonscription de Nadzaladevi du conseil municipal de Tbilissi contre le footballer Guiorgui Nemsadzé (MNU) et Chalva Natelachvili (Parti travailliste)[169]. Elle est la seule candidate d'opposition à accepter de participer dans des débats sur la chaîne Roustavi 2[170]. Le 5 octobre, Salomé Zourabichvili obtient 2,77 % des votes, vaincue par Nemsadzé[171]. La VG ne dépasse pas la barrière nationale de 4 %, menant à aucun siège remporté à travers le pays[172]. Elle reconnaît sa défaite mais nomme les élections « anti-démocratiques » dans une rencontre avec des diplomates américains, encourageant Washington à pousser vers des réformes démocratiques avant les élections parlementaires de 2008[173]. +

    +

    Manifestations de 2007[modifier | modifier le code]

    +
    Scène des manifestations du 7 novembre 2007.
    +

    Suivant les élections municipales d'octobre 2006, Salomé Zourabichvili augmente ses critiques envers le gouvernement de Saakachvili. Elle accuse le président de « pseudo-patriotisme » dans sa politique belliciste vis-à-vis la Russie[174], demande au gouvernement la création d'un fonds spécial pour aider les déportés géorgiens retournant de Russie à la suite de la crise diplomatique russo-géorgienne de septembre 2006[175], critique la formation de l'Entité provisoire d'Ossétie du Sud sous la gouvernance de Dimitri Sanakoev[176], condamne l'ouverture d'un camp patriotique pour les jeunes dans la zone de conflit d'Abkhazie comme une étape « irresponsable et dangereuse »[177], une critique qui sera répétée dans un rapport du secrétaire général de l'ONU de juillet 2007[178], questionne la version officielle du gouvernement géorgien dans l'affaire du missile de Tsiteloubani (Tbilissi dit alors avoir découvert un missile russe dans une campagne géorgienne) et désapprouve les dépenses militaires en hausse[179]. De même, Zourabichvili se pose contre le chemin de fer Bakou-Tbilissi-Kars comme une concurrence sur les ports de Batoumi et de Poti[180], accuse le gouvernement de vandalisme lors de la démolition d'une église orthodoxe à Khelvatchaouri[181] et refuse l'offre de Saakachvili de participer à la rédaction d'une nouvelle constitution, jugeant un plus grand besoin de discussion sur les problèmes sociaux[182]. +

    Le , l'arrestation de l'ancien ministre de la Défense Irakli Okrouachvili par les autorités enclenche une large vague de manifestations anti-gouvernementales qui pousse l'opposition à s'unifier. Elle rejoint le Groupe des 8, une nouvelle coalition de l'opposition qui est rapidement critiquée par l'administration pour la présence du Parti travailliste et du Forum national, deux partis politiques maintenant des liens avec Moscou et contre l'intégration de la Géorgie dans l'OTAN[183]. Ensemble, le G8 organise des manifestations à travers le pays pour demander la démission de Mikheïl Saakachvili et l'organisation d'élections parlementaires anticipées au printemps 2008[184]. Quand le catholicos-patriarche géorgien Ilia II propose l'établissement d'une monarchie constitutionnelle en Géorgie, elle fait partie des figures politiques qui soutiennent la proposition[185]. +

    Parallèlement, Zourabichvili continue de faire campagne auprès de la communauté internationale. En septembre 2007, elle visite Washington pour rencontrer des think-tank et diplomates américains[186]. Le 11 octobre, elle commence une tournée entre Paris, Bruxelles et Washington[187] avec Davit Oussoupachvili et Konstantine Gamsakhourdia pour se plaindre du caractère totalitaire du gouvernement géorgien auprès des partenaires occidentaux de la Géorgie[188] et le 25 octobre, elle rencontre Javier Solana[189]. À Paris, elle rencontre des diplomates français afin de convaincre la France de retirer son véto sur l'attribution d'un Plan d'action pour l'adhésion à l'OTAN (MAP) à la Géorgie. +

    Le 2 novembre, dans une tentative de sortir le pays de sa crise politique, Zourabichvili et cinq autres chefs de l'opposition entament des négociations avec Nino Bourdjanadzé en vain[190] et la crise culmine le 7 novembre, quand la police disperse violemment les manifestants de l'avenue Roustaveli, blessant plus de 500 personnes, ferme plusieurs chaînes télévisées et déclare l'état d'urgence. Quand Saakachvili annonce sa décision d'organiser une élection présidentielle anticipée, elle remercie les pouvoirs occidentaux pour avoir fait pression sur le gouvernement géorgien[191]. Citant le besoin de dialogue, elle retourne sur la table des négociations avec Bourdjanadzé le 10 novembre sous les auspices de l'Église orthodoxe géorgienne, mais ces discussions sont encore sans résultat[192]. +

    +

    Élection présidentielle de 2008[modifier | modifier le code]

    +
    Levan Gatchetchiladzé.
    +

    Salomé Zourabichvili annonce pour la première fois ses ambitions présidentielles en février 2007[193], tandis qu'un sondage de Rezonansi la place en quatrième position en septembre (derrière Saakachvili, Irakli Okrouachvili et l'activiste Levan Berdzenichvili)[194]. La constitution géorgienne obligeant une résidence en Géorgie de 15 ans, elle porte plainte le auprès de la Cour municipale de Tbilissi, arguant que cette obligation ne devrait pas être imposée sur les réfugiés géorgiens sortant de l'invasion soviétique de 1921[195], un procès qu'elle perd. +

    Le 12 novembre, la VG, le Parti républicain, le Parti conservateur, le Parti du peuple, le Mouvement pour une Géorgie unie et le Forum national s'unifient pour former l'Opposition unie, une coalition anti-Saakachvili qui nomme le député sans étiquette Levan Gatchetchiladzé comme candidat aux élections présidentielles anticipées du . Salomé Zourabichvili est annoncée comme Première ministre potentielle en cas de victoire[196] et le programme de l'opposition envisage l'abolition de la présidence et l'établissement d'un système parlementaire[197]. Durant la campagne présidentielle, elle visite l'Europe avec Guiorgui Khaïndrava, un autre ancien ministre de Saakachvili désormais dans l'opposition[198], et déclare que les chances de la Géorgie de recevoir le MAP vers l'OTAN en 2008 sont « presque zéro »[199]. Le 27 novembre, elle fait appel à Nino Bourdjanadzé, alors présidente par intérim, de mettre fin à l'interdiction sur Imedi TV, la principale chaîne télévisée soutenant l'opposition et fermée durant l'élection présidentielle[200]. +

    L'élection présidentielle est tenue le mais les résultats ne sont pas annoncés avant le 13 janvier, menant à de nombreuses allégations de fraude. Dans la matinée du 6 janvier, Zourabichvili déclare un second tour entre Saakachvili et Gatchetchiladzé[201] mais elle se heurte à Matthew Bryza, diplomate américain qui félicite Saakachvili pour une victoire qui n'est pas encore faite officielle, l'ancienne ministre attribuant le commentaire de Bryza à une amitié personnelle avec le président géorgien[202]. Quand Saakachvili est finalement déclaré victorieux, elle déclare avoir « échoué de protéger les votes » et refuse de le reconnaître comme président légitime[203], tout en admettant la défaite de l'Opposition unie[204]. Le 29 janvier, elle est l'une des signataires d'une déclaration de l'opposition demandant un recompte des voix, des enquêtes sur les fraudes électorales et les évènements du , la libération des prisonniers politiques, la démission de Vano Merabichvili et du procureur général Zourab Bibilachvili, la réorganisation du ministère des Affaires intérieures, des élections parlementaires anticipées, une réforme de la Commission centrale des élections et un système électoral entièrement proportionnel[205]. Bibilachvili sera remplacé le lendemain, tandis que des élections anticipées sont prévues pour le printemps. Quand Badri Patarkatsichvili, l'un des plus grands financiers de l'opposition, meurt en Grande-Bretagne en février 2008, elle dit que « comme tout le monde en Géorgie, je suis aussi sûre qu'il a été assassiné »[206]. +

    Suivant la défaite de Gatchetchiladzé, Zourabichvili devient progressivement l'une des dirigeantes de l'opposition, aux côtés de Davit Gamkrelidzé (Nouvelles droites) et Gatchetchiladzé[207]. Le 6 février, elle visite Washington pour s'adresser à la Commission d'Helsinki sur le développement des évènements politiques en Géorgie, auprès de Matthew Bryza et de l'ambassadeur géorgien aux États-Unis Vasil Sikharoulidzé[208]. Dans son discours devant les dignitaires américains, elle demande aux partenaires occidentaux de la Géorgie d'adopter une nouvelle politique envers le pays, orientée sur la promotion de la démocratie et non d'un gouvernement particulier[209]. Le 10 mars, elle voyage en Estonie avec le conservateur Kakha Koukava et le républicain Davit Oussoupachvili pour rencontrer le président Toomas Hendrik Ilves, un proche allié de Saakachvili[210]. Dans la déclaration du 16 mars de l'Opposition unie, Zourabichvili est nommée représentante de la coalition en Europe[211]. +

    Lors des élections parlementaires de mai 2008, sa VG est l'un des neuf partis politiques à former une nouvelle coalition de l'opposition[212]. Durant la campagne, elle se heurte de nouveau à Bryza, déclarant après une rencontre bilatérale que « La question clé de la réunion est de savoir si Matthew Bryza envisage à nouveau de truquer nos élections avec Saakachvili ou non »[213]. Le 21 mai, la coalition ne remporte que 18 % des suffrages et Zourabichvili fait appel à un boycott et un blocus du bâtiment parlementaire[214]. Plusieurs jours de manifestations s'ensuivent, notamment le 27 mai, quand elle rentre dans les bureaux du Radiodiffuseur public géorgien, accusant le directeur général Levan Koubaneïchvili (qui démissionnera plus tard dans la journée) de suivre les ordres du gouvernement[215]. +

    Le , l'organe de décision de l'opposition (Zourabichvili, Gamkrelidzé et Gatchetchiladzé) cesse ses activités après plusieurs semaines de fracture au sein des forces anti-gouvernementales[216]. +

    +

    Guerre russo-géorgienne et commentaires[modifier | modifier le code]

    +
    Zourabichvili lors d'un débat avec Bernard Guetta en 2008.
    +

    Suivant la guerre russo-géorgienne de 2008, Salomé Zourabichvili cesse temporairement ses activités contre le gouvernement de Saakachvili et soutient la décision du président de restaurer le financement public des partis politiques, ainsi que sa proposition de former un groupe anti-crise avec l'opposition pour superviser la distribution des aides internationales[217]. Elle ne rejoint pas immédiatement les appels de l'opposition pour la démission de Saakachvili en automne 2008, proposant à la place l'établissement d'un gouvernement provisoire pour gérer la crise[218]. Sa position change toutefois et le , elle est l'une des signataires d'une lettre adressée à la Conférence des Donneurs de Bruxelles condamnant l'invasion russe tout en accusant les autorités d'avoir lancé l'opération militaire sur Tskhinvali qui a été suivie par la guerre[219]. Le 6 décembre, elle rejoint les appels à la démission de Saakachvili, l'accusant d'avoir pris des décisions unilatérales qui ont mené au conflit armé, tandis qu'en janvier 2009, elle nomme le gouvernement de « traître » pour avoir négocié un accord avec la compagnie russe Inter RAO sur la gérance de la centrale hydroélectrique d'Engouri (sur territoire géorgien et fournissant l'électricité gratuitement à l'Abkhazie)[220]. Zourabichvili prédit plus tard que le retour de l'Abkhazie et de l'Ossétie du Sud au sein de la Géorgie ne sera pas immédiat et dépendra d'une « grande affaire » entre Bruxelles, Washington et Moscou[221]. +

    +Les commentaires de Zourabichvili sur la guerre d'août 2008 restent controversés. En 2009, elle écrit que Saakachvili devait être tenu responsable pour avoir lancé une campagne militaire sur Tskhinvali et pour avoir agi de manière irresponsable face aux provocations militaires de la Russie, notamment les exercice militaires Kavkaz-2008, tout en posant des questions sur un potentiel « accord bizarre et obscur avec notre ennemi centenaire »[222]. Durant sa candidature aux élections présidentielles de 2018, au huitième anniversaire du début de la guerre, elle déclare[223] :

    +

    « La Russie a lancé la guerre il y a un siècle. Nous avons cédé à la provocation de la Russie et nous nous sommes engagés dans les hostilités. C'est la Géorgie qui a lancé cette partie des hostilités. » +

    +

    Par la suite, elle accuse la « stupidité et l'humeur d'un président fou » d'avoir mené au conflit puis rajoute que Saakachvili et ses proches alliés au sein du gouvernement n'avaient pas pris d'étapes vers la désescalade malgré l'existence d'information sur des préparations de guerre par la Russie. Une série de critiques contre Zourabichvili à la suite de ces commentaires l'oblige à expliquer sa position le  :

    +

    « Quand vous êtes président, c'est votre devoir, surtout quand les Américains et les Européens vous mettent en garde, quand des exercices de grande envergure sont en cours près de nos frontières, quand vous savez que Tskhinvali a été évacué, et que la Russie met en scène une provocation ouverte et le secrétaire américain d'État Condoleezza Rice arrive spécialement pour vous avertir de ne pas céder aux provocations et quand vous cédez encore aux provocations qui conduisent à la perte de territoires, je dis que ce n'est pas un comportement responsable de la part du Président de la Géorgie. » +

    +
    +

    Après la guerre : la crise politique continue[modifier | modifier le code]

    +
    Zourabichvili et Goga Khaïndrava, un autre ancien ministre de Saakachvili en opposition.
    +

    Dans les mois qui suivent la guerre russo-géorgienne, Saakachvili bénéficie d'un large support des pouvoirs occidentaux, ce qui mène à des tensions entre l'opposition et les diplomates européens. Le 16 septembre, elle quitte abruptement une rencontre avec Robert Simmons, le représentant spécial du secrétaire général de l'OTAN, à la suite du refus du secrétaire général Jaap de Hoop Scheffer de rencontrer les dirigeants de l'opposition durant sa visite en Géorgie[224]. Le 30 septembre, elle refuse de participer à une rencontre de l'opposition avec Javier Solana à laquelle participe le Mouvement chrétien-démocrate[225], qu'elle accuse de travailler secrètement avec le MNU[226]. +

    Vers la fin de 2008, Zourabichvili rejoint le Mouvement public pour la liberté et la justice (MPLJ), créé par l'ombudsman Sozar Soubari qui rentre dans l'opposition après avoir accusé le gouvernement de totalitarisme[227]. En 2009, l'opposition est renforcée par trois anciens dignitaires du gouvernement de Saakachvili : Nino Bourdjanadzé (présidente du Parlement), Zourab Noghaïdeli (ancien Premier ministre) et Irakli Alassania (représentant permanent de la Géorgie à l'ONU). En mars, après des mois de désaccords au sein des forces anti-gouvernementales, les dirigeants de l'opposition publient le Manifeste d'unité, un document signé par 13 partis faisant appel à leur coordination pour accomplir le départ de Saakachvili[228]. D'abord opposées à des négociations avec le gouvernement[229], Zourabichvili, Bourdjanadzé et Eka Besselia lancent de larges manifestations le 9 avril. +

    Sur la scène internationale, elle critique l'ambassadeur français Eric Fournier qui avait lui-même critiqué les manifestations[230], puis le secrétaire général du Conseil de l'Europe Terry Davis qui avait fait appel aux protestataires de cesser leurs manifestations[231]. Le , elle rédige un article pour le New York Times accusant Mikheïl Saakachvili de totalitarianisme[232]. Quand Saakachvili refuse l'offre de l'opposition d'une rencontre pour lancer un dialogue, Zourabichvili rencontre le représentant spécial de l'UE Peter Semneby. Aux côtés d'Alassania, Gatchetchiladzé et Kakha Chartava (Forum national), elle rencontre le président le 11 mai[233] mais les discussions sont en vain et Zourabichvili accuse Saakachvili de vivre « dans une réalité virtuelle »[234]. La continuation du dialogue devient un sujet de tensions au sein de l'oppositon : Bourdjanadzé et Irakli Okrouachvili s'opposent à des négociations tandis qu'Alassania supporte la continuation, tandis que Zourabichvili reste neutre[235]. Des rumeurs sur un potentiel accord entre Alassania, Zourabichvili et le gouvernement mènent à d'autres divisions au sein du camp[236]. À partir du 27 mai, les manifestations s'étendent à travers la capitale, Zourabichvili bloquant la Station centrale de Tbilissi[237] et la Mairie de Tbilissi[238]. +

    Le 18 mai, l'ancienne ministre voyage à Bruxelles pour rencontre Javier Solana et lui demander d'intervenir dans la crise politique[239] et le 4 juin, elle dit à Peter Semneby qu'elle est prête à participer à toute négociation pour sortir le pays de la crise[240]. Lors de la visite du vice-président américain Joe Biden le 22 juillet, elle organise une « manifestation de bienvenue » à laquelle Irakli Alassania ne participe pas[241]. Elle rencontrera en mars 2010 Miguel Angel Moratinos, ministre des Affaires étrangères d'Espagne (qui préside alors le Conseil de l'Union européenne) pour réclamer l'aide de Bruxelles dans l'organisation d'élections libres[242]. +

    +
    Zourabichvili se préparant à prononcer un discours le 9 avril 2009.
    +

    Le 15 juin, Saakachvili annonce avoir offert à Zourabichvili le poste d'adjoint au ministre des Affaires intérieures, une offre qu'elle accepte mais qui est retirée quand elle refuse de cesser ses manifestations[243]. Le 29 juin, elle annonce la découverte de deux microphones cachés dans les bureaux de son parti[244]. Les manifestations cessent finalement le , après 107 jours, mais elle continue ses critiques gouvernementales : elle s'oppose à un projet de loi sur la transparence des dons politiques[245], puis à une loi du MNU qui légalise l'utilisation d'armes mortelles contre les manifestants[246] ; quand Batcho Akhalaïa, un proche allié de Vano Merabichvili, est nommé ministre de la Défense en août, elle accuse Saakachvili de vouloir combiner les forces armées au ministère des Affaires intérieures[247]. En janvier 2010, elle condamne le gouvernement géorgien pour son interférence dans l'élection présidentielle ukrainienne en faveur de Ioulia Timochenko[248]. +

    L'opposition se divise en deux vers octobre 2009, un camp supportant la continuation des manifestations et l'autre, mené par l'Alliance pour la Géorgie d'Alassania, voulant se focaliser sur les élections municipales de 2010. Zourabichvili, qui reste neutre dans la division[249], fait appel à l'ONU de placer les élections de 2010 sous son égide[250], puis est la seule dirigeante de l'opposition à porter son soutien à la candidature d'Irakli Alassania pour maire de Tbilissi[251]. Une autre division apparait quand Zourab Noghaïdeli visite Moscou en janvier 2010 : Zourabichvili le condamne et demande l'opposition de cesser toute coopération avec lui[252]. Le 30 mai, Alassania est vaincu par le MNU mais la VG, qui a rejoint l'Alliance pour la Géorgie le [253], remporte un siège au Conseil municipal de la capitale[254]. +

    +

    Aux Nations unies[modifier | modifier le code]

    +

    Le , Salomé Zourabichvili annonce son départ temporaire de la politique géorgienne. Elle quitte la présidence de la VG et est remplacée par Kakha Setouridzé. Zourabichvili part vivre à New York, où elle est nommée coordinatrice du Groupe d'experts du Comité des sanctions sur l'Iran du Conseil de sécurité des Nations unies[255]. Durant cette période, elle est aussi professeur associée à l'Institut d'Études politiques de Paris, ainsi qu'à l'Université Ilia Tchavtchavadzé de Tbilissi. +

    +

    De retour en Géorgie[modifier | modifier le code]

    +

    Nouveau gouvernement, de nouveau dans l'opposition[modifier | modifier le code]

    +
    Zourabichvili lors de la présentation de son autobiographie en 2013.

    +Le gouvernement de Mikheïl Saakachvili est défait dans les élections parlementaires de 2012, qui voient la victoire du Rêve géorgien - Géorgie démocratique (RG-GD), une coalition de plusieurs partis politiques d'opposition sous la direction de l'homme d'affaires Bidzina Ivanichvili. Celui-ci, désormais Premier ministre, déclare en avril 2013 souhaiter le retour de Zourabichvili dans la politique géorgienne, la citant comme potentielle « troisième force » de la politique géorgienne[256]. Salomé Zourabichvili retourne en Géorgie en mai 2013, rencontre Bidzina Ivanichvili le 11 mai[257] et annonce ses ambitions présidentielles dans une lettre à Ivanichvili, malgré la constitution géorgienne interdisant les individus à double citoyenneté de devenir président. Le Premier ministre lui répond [citation nécessaire]:

    +

    « Leur caractère compétitif est l'une des conditions préalables à des élections démocratiques ; pour cette raison, je souhaite qu’il y ait autant de prétendants dignes que possible dans la course. Je crois fermement que vous êtes l'une de ces personnes dignes et personnellement, je serais heureux de voir votre nom sur le bulletin de vote. Ce que je peux faire – j'en appelle une fois de plus à tous les organismes et fonctionnaires de l'État pour qu'ils ne soient guidés que par la constitution, les lois et la certitude morale lorsqu'ils décident des questions liées aux droits politiques des citoyens. » +

    +
    +

    Le , Zourabichvili annonce sa candidature, mais celle-ci est immédiatement rejetée par la Commission électorale centrale à cause de sa double nationalité géorgienne et française[258]. Elle porte plainte auprès de la Cour municipale de Tbilissi[259], déclarant que la Constitution géorgienne n'interdit pas sa candidature[260]. Malgré le soutien qu'elle reçoit de l'ONG ISFED, la Cour maintient la décision de la Commission électorale, à la suite de quoi Zourabichvili déclare que le verdict est la preuve « du manque d'indépendance judiciaire », une position critiquée par Ivanichvili. La Cour d'Appel de Tbilissi maintient la décision le 10 septembre et Zourabichvili ne se présente pas[261]. +

    Dans les premières années du nouveau gouvernement, Salomé Zourabichvili se retrouve dans l'opposition au RG-GD. Durant les élections municipales de 2014, la VG refait surface et nomme des candidats à Tbilissi[262], Batoumi, Roustavi, Ozourgueti, Akhaltsikhé[263], Gourdjaani, Gori, Kareli, Terdjola, Zestaponi, Baghdati, Tchiatoura, Senaki, Martvili et Kobouleti[264]. La liste électorale de son parti à Akhaltsikhé est toutefois disqualifiée quand 5 candidats se retirent et Zourabichvili accuse les autorités de faire pression sur les petits partis[265]. Le , la VG remporte des sièges dans les conseils municipaux d'Ozourgueti, Tchiatoura, Batoumi, Abacha, Mestia et Baghdati[266]. +

    +

    Élections parlementaires de 2016[modifier | modifier le code]

    +

    Salomé Zourabichvili se déclare candidate sans étiquette aux élections parlementaires de 2016 dans la circonscription de Mtatsminda, un quartier affluent de Tbilissi. Dès juillet 2016, les dirigeants du RG-GD indiquent leur intention de soutenir sa candidature[267] et le 16 août, le parti au pouvoir annonce supporter l'ancienne diplomate française, faisant de Mtatsminda la seule circonscription sans candidat du RG-GD dans le pays[268]. Elle doit faire face à 13 candidats, dont plusieurs grands noms de la politique géorgienne comme Nika Rouroua du MNU (ancien ministre de la Culture), Konstantine Prouidzé des Démocrates libres (ancien ministre adjoint de la Santé), Tamar Kordzaïa du Parti républicain (députée RG-GD elle-même depuis 2012, désormais dans l'opposition) et Davit Tevzadzé du Parti Pour la paix de la Géorgie (ancien ministre de la Défense)[269]. +

    Le , elle remporte 44,42 % des votes, avançant vers un second tour contre Nika Rouroua[270]. Durant cette campagne, elle est critiquée à la suite d'un commentaire sur la contre-productivité diplomatique de classifier la Russie de « puissance occupante » dans la loi géorgienne, un commentaire qui mène la Coalition pour une Géorgie euro-atlantique (un groupe de 22 ONG) à faire appel à la continuation de la politique gouvernementale contre l'occupation russe de l'Abkhazie et de l'Ossétie du Sud[271]. +

    Le 30 octobre, elle est élue avec 67,58 % des suffrages exprimés[272]. +

    +

    Députée[modifier | modifier le code]

    +

    Au Parlement, Salomé Zourabichvili est nommée première vice-présidente du Comité des Affaires de la diaspora, un comité dirigé par le député Zviad Kvantchatiradzé[273]. À travers son mandat et malgré son statut de députée sans étiquette, son dossier de vote et ses déclarations publiques sont prochement alignés au RG-GD[274]. +

    En juin 2018, elle est l'une des 17 membres de la commission parlementaire spéciale pour enquêter sur les meurtres de la rue Khorava, une tragédie durant laquelle une bagarre entre adolescents mène à deux morts dans le centre de Tbilissi. Cette commission, présidée par le parti d'opposition Géorgie européenne (GE), publie deux conclusions séparées : une de la majorité GE et une du RG-GD[275]. +

    En tant que députée, Zourabichvili reste impliquée dans la diplomatie géorgienne. Quand Herbert Salber, représentant spécial de l'Union européenne dans le Caucase du Sud, félicite Anatoli Bibilov, dirigeant de facto de la région séparatiste d'Ossétie du Sud, pour son élection comme « Président » (un titre non reconnu par la communauté internationale), elle critique l'« ignorance » de Salber et fait appel au gouvernement de le déclarer persona non grata[276]. +

    +

    Éléction présidentielle de 2018[modifier | modifier le code]

    +

    Salomé Zourabichvili annonce sa candidature potentielle à l'élection présidentielle géorgienne de 2018 le 6 août de la même année[277]. Envisageant une candidature sans étiquette, elle ne reçoit pas immédiatement le support du RG-GD, dont certains membres souhaitent voir un candidat partisan (les noms proposés sont alors l'ancien ministre des Personnes déplacées, Sozar Soubari, le ministre de la Santé, Davit Sergueenko, et la ministre du Développement régional, Maia Tskitichvili[278]), tandis que ses commentaires controversés sur la responsabilité de l'ancien président Saakachvili dans le début de la seconde guerre d'Ossétie du Sud mène le député Dimitri Khoundadzé (RG-GD) à s'opposer à sa candidature[279]. Le 16 août, Zourabichvili lance sa campagne présidentielle depuis Didi Djikhaïchi, le village d'origine de Niko Nikoladzé, entrepreneur et homme politique géorgien du début du XXe siècle et ancêtre de Zourabichvili. Dans son premier discours, elle promet de s'attaquer aux problèmes de la violence conjugale, du retour des émigrants géorgiens via la création d'une agence publique, la négociation d'accords internationaux sur la migration circulaire, de mettre fin au népotisme, de promouvoir un système de sécurité sociale pour les handicapés et les retraités incluant un système de logement public et d'imposer des restrictions sur l'immigration vers la Géorgie. +

    Afin d'enregistrer sa candidature, Zourabichvili doit renoncer à sa citoyenneté française le 31 août[280], tandis que le conseil politique du RG-GD vote officiellement pour soutenir sa candidature le 9 septembre, citant le besoin d'un président sans étiquette dans une république parlementaire[281]. Kakha Kaladzé, le maire de Tbilissi qui lui apporte son soutien le 12 septembre, dit de l'ancienne ministre qu'elle établirait « une tradition correcte de la présidence ». Le premier tour des élections se déroule dans un environnement largement polarisé et Zourabichvili fait face à de nombreux candidats, dont le président du MNU Grigol Vachadze et l'ancien président du parlement géorgien, Davit Bakradze. Irakli Kobakhidze, alors le président du Parlement, devient l'un des dirigeants de sa campagne tandis que Salomé Zourabichvili se pose en contraste au président Guiorgui Margvelachvili, critiquant sa large utilisation de son pouvoir du veto[282]. Selon son programme, elle supporte la protection de la langue abkhaze et la décentralisation du gouvernement[283]. +

    +
    Zourabichvili s'adressant à la mission d'observation électorale de l'OSCE avant le premier tour.
    +

    Durant le premier tour, elle se heurte au clergé géorgien quand elle adopte une position libérale sur la décriminalisation du cannabis. Les métropoles Anton de Vani, Melkisedek d'Oubissi et Margveti, Andria de Gori et Ateni et Petré de Tchqondidi, ainsi que le père Kakhaber Gogotichvili de la Paroisse géorgienne de Moscou sont parmi les plus critiques de Zourabichvili, qui soutient une division claire de l'État et de l'Église et qualifie les commentaires du clergé orthodoxe de violation du Concordat entre le gouvernement géorgien et l'Église orthodoxe géorgienne[284]. Elle note durant la campagne une vague de désinformation et de diffamation contre son image et la Commission nationale des communications demande le retrait de trois publicités la qualifiant de « traitre »[285]. Malgré certains sondages prédisant sa défaite au premier tour[286], elle arrive en tête le 28 octobre avec 38,7 %, faisant face à Grigol Vachadze au second tour. +

    Vachadze reçoit le soutien de l'ancien président Saakachvili, tandis que Zourabichvili est soutenue par les anciens Premiers ministres géorgiens Irakli Garibachvili et Giorgi Kvirikachvili[287], le parti d'extrême-droite Alliance des patriotes (AdP) et la Marche géorgienne, un groupe d'activistes d'extrême-droite[288]. Durant le second tour, l'ancienne diplomate française voit le support du RG-GD grandir : le maire de Tbilissi, Kakha Kaladze, et la ministre de la Justice, Tea Tsouloukiani, figurent parmi les principaux porte-paroles de sa campagne[289] et la chaîne télévisée pro-RG-GD Imedi TV annonce soutenir Zourabichvili pour empêcher le retour du MNU au pouvoir[290], tandis que l'ONG ISFED accuse le gouvernement d'utiliser des ressources administratives en sa faveur[291]. À travers les deux tours de l'élection, elle reçoit la majorité des contributions financières. +

    Zourabichvili lance sa campagne pour le second tour le 8 novembre depuis le village d'Atotsi, sur la ligne administrative de délimitation avec l'Ossétie du Sud, où elle promet de ne pas répondre aux provocations militaires russes en tant que présidente[292]. Elle accuse de plus son opposant Vachadzé d'avoir des liens proches avec les autorités russes et condamne lors d'une rencontre avec des diplomates occidentaux la « propagande de style soviétique » utilisée contre sa campagne. Les ONG géorgiennes, telle que la MDF et TI Georgia notent la nature sexiste de la campagne contre Zourabichvili, le fait que la majorité du discours de haine est utilisé contre elle[293] et l'utilisation d'« agitateurs violents » par le MNU lors de ses évènements publics[294]. Bientôt, des membres de l'ancienne direction militaire du pays, menés par le lieutenant-général Devi Tchankotadze, commencent une campagne contre Salomé Zourabichvili, campagne condamnée par le ministère de la Défense[295], tandis que de nombreuses menaces de mort sont faites contre elle et ses enfants[296]. +

    Le principal accent de sa campagne durant le second tour est le développement régional[297], ainsi que l'intégration au sein de la société géorgienne des groupes ethniquement arméniens et azerbaïdjanais. À Ninotsminda, son commentaire critiquant la remise en masse de la citoyenneté géorgienne à des citoyens turcs en 2013 par le président sortant Saakachvili est qualifié de xénophobe par plusieurs groupes de la société civile[298]. Le , elle remporte le second tour avec 59,2 % des votes, remportant toutes les circonscriptions électorales sauf Telavi, Roustavi, les forces armées en Afghanistan et la diaspora géorgienne[299]. Son opposition l'accuse d'achat de voix et demande à la Cour municipale de Tbilissi d'annuler sa victoire, mais en vain[300]. +

    Elle sera félicitée par de nombreux dirigeants internationaux, dont le président de la Commission européenne, Jean-Claude Juncker, qui qualifie sa victoire de « victoire sur la polarisation »[301], le président arménien Armen Sarkissian[302] et son Premier ministre Nikol Pachinian, le président biélorusse Alexandre Loukachenko, les dirigeants européens, Kersti Kaljulaid, président de la République d'Estonie, Emmanuel Macron, président de la République française[303], Dalia Grybauskaitė, présidente de la République de Lituanie, Donald Tusk, président du Conseil européen, Alan Duncan, représentant du gouvernement britannique, le secrétaire d'État américain Mike Pompeo[304], James Appathurai, représentant spécial du Secrétaire général de l'OTAN, le gouvernement turc[305], Petro Porochenko, président d'Ukraine, et la présidente de l'Assemblée générale des Nations unies, María Fernanda Espinosa Garcés[306]. +

    +

    Présidente de la Géorgie[modifier | modifier le code]

    +

    Investiture[modifier | modifier le code]

    +

    L'élection de Salomé Zourabichvili comme cinquième présidente de la Géorgie et première femme dans cette fonction, ainsi que la transition de la présidence de Guiorgui Margvelachvili sont vus comme des évènements historiques pour la jeune république géorgienne. La rencontre entre Margvelachvili et Zourabichvili au palais présidentiel est décrit comme le premier précédent d'une transition présidentielle démocratique dans l'histoire de la Géorgie[Note 1],[307]. Durant la période de transition, Zourabichvili affirme sa priorité de renforcer les liens de la Géorgie avec le monde occidental lors de sa rencontre avec James Appathurai de l'OTAN[308] et sa conversation téléphonique avec le secrétaire d'État américain Mike Pompeo[309]. Elle demande au gouvernement géorgien de commencer une nouvelle enquête sur la mort du premier président géorgien Zviad Gamsakhourdia en 1993. le 15 décembre, la veille de son investiture, elle visite le Mémorial des Héros de Tbilissi et le Panthéon de Mtatsminda[310]. +

    Le MNU lance une vague de manifestations envisageant à empêcher l'investiture de Zourabichvili à partir du 2 décembre[311]. Ces manifestations se propagent à Tbilissi, Batoumi, Zougdidi et Koutaïssi[312], avant de se conjoindre à Telavi, lieu de la cérémonie d'investiture[313]. Cette ville, ancienne capitale du royaume de Kartl-Kakhétie et perdue par Zourabichvili lors des élections, est choisie dans le cadre de sa promotion du développement régional[314]. Elle est investie le dans une cérémonie en présence de plusieurs dignitaires internationaux et du président Margvelachvili. Dans son discours, elle fait l'éloge de chacun de ses prédecesseurs : de Zviad Gamsakhourdia pour sa lutte pour l'indépendance nationale, d'Edouard Chevardnadzé pour avoir mené la Géorgie sur un chemin pro-occidental, de Mikheïl Saakachvili pour ses réformes contre la corruption et de Guiorgui Margvelachvili pour avoir renforcé la démocratie et la stabilité nationale[315]. +

    Son investiture marque aussi l'entrée en force de la nouvelle constitution de Géorgie qui réduit largement les pouvoirs de la présidence et transforme la Géorgie en république parlementaire. Selon la nouvelle loi suprême du pays, la Présidente n'est plus responsable du fonctionnement des organes de l'État et n'a plus le droit de demander que des questions particulières soient discutées lors des sessions gouvernementales et de participer à ces discussions. À partir de 2024, le chef d'État ne sera plus élu dans un suffrage universel et un collège électoral de 300 membres sera chargé de choisir le président. Le Conseil de Sécurité nationale, mené jusque-là par la Présidence et chargé d'organiser le développement militaire et la défense du pays, est remplacé par le Conseil de Défense national sous la direction du Premier ministre[316]. +

    +

    Nouveau palais présidentiel[modifier | modifier le code]

    +
    Palais des Orbeliani.
    +

    Déjà durant sa campagne présidentielle, Salomé Zourabichvili annonce son projet de déplacer la résidence présidentielle du palais d'Avlabari, servant de siège de la présidence depuis 2009, au palais des Orbeliani, un bâtiment du XIXe siècle situé sur la rue Grigol Atoneli (au centre de Tbilissi) et ayant servi à travers le XXe siècle de résidence nobiliaire, salon académique, centre de propagande pendant la période soviétique de la Géorgie, puis d'ambassade américaine jusqu'en 2004. Ce projet est contesté par le MNU, ainsi que par le député Otar Kakhidzé (Géorgie européenne), tandis que Zourabichvili critique le palais d'Avlabari comme n'étant pas « approprié aux compétences du président »[317]. +

    Une fois investie, la présidente Zourabichvili s'installe dans le palais des Orbeliani le , où elle arrive à pied depuis chez elle et suivie par des journalistes. +

    +

    Budget[modifier | modifier le code]

    +

    La présidente Zourabichvili doit, en plus de pouvoirs largement réduits, faire face à une réduction drastique de son budget : de 14,8 millions de laris en 2018, l'Administration de la Présidente ne reçoit que 6 millions en 2019[318]. Ces réductions incluent l'abolition du Fonds présidentiel, un organe autonome au sein de la présidence finançant des projets civils et privés, ainsi qu'une réduction du staff présidentiel de 140 à 60 employés[319]. En février 2019, son administration annonce l'abolition de 61 positions civiles au sein de l'administration, tandis que juste 38 employés de l'administration de Margvelachvili maintiennent leur position au sein de la nouvelle présidence[320]. Margevalchvili lui-même, ainsi que son épouse Maka Tchatchoua, font campagne contre la fermeture du Fonds présidentiel. +

    Ces mesures du gouvernement du Premier ministre Mamouka Bakhtadzé sont largement critiquées par Guiorgui Abechachvili, chef de l'administration présidentielle sous Margvelachvili, tandis que le député Irakli Abesadzé (GE) lie les réductions budgétaires au président du RG-GD Bidzina Ivanichvili qui, selon lui, tente de réduire l'indépendance institutionnelle de la présidence. Tamar Tchougochvili, vice-présidente du Parlement, affirme que ces changements sont liés aux nouvelles fonctions de la présidence à la suite de l'entrée en force de la nouvelle constitution géorgienne[321], tandis que Zourabichvili ne critique pas le processus[322]. +

    +

    Cabinet[modifier | modifier le code]

    +
    Lacha Jvania est le premier chef de l'administration de Zourabichvili (2018-2019).
    +

    Lacha Jvania, un ancien diplomate et ministre de l'Économie responsable des efforts de reconstruction à la suite de la guerre russo-géorgienne de 2008, devient chef de l'Administration de Salomé Zourabichvili le [323]. Celui-ci mène l'administration durant la période de réorganisation suivant les réductions budgétaires de 2019, puis démissionne le pour rejoindre la Fondation caritative de l'Église orthodoxe géorgienne[324], avant d'être nommé par la présidente comme ambassadeur de la Géorgie en Israël[325]. En décembre 2020, la présidente nomme Natia Soulava, une diplomate géorgienne et jusque-là sa conseillère dans les affaires internationales, comme cheffe de son administration. Dimitri Gabounia, un avocat connu pour son activisme civil lors de la présidence de Saakachvili, devient secrétaire parlementaire de la présidente, chargé des relations de l'administration avec la législature. Gabounia sera remplacé le par l'avocate financière Tamar Tkechelchvili[326], puis par Guiorgui Mskhiladzé quand Tkechelachvili devient ministre-adjoint de la Justice. Khatia Moïstsrapichvili, une ancienne journaliste, sert durant les premiers mois de la nouvelle présidence, comme porte-parole de Zourabichvili, avant d'être limogée quand elle déclare sa solidarité envers Nodar Meladzé, chef éditorial de la chaîne télévisé Roustavi 2 mis à la porte quand celle-ci change de direction[327]. +

    Hors les nominations au sein de son administration, la présidente Zourabichvili fait de nombreuses nominations à travers différentes branches du gouvernement. En décembre 2018, elle nomme trois candidats pour diriger la Commission centrale électorale : la présidente sortante de la commission Tamar Jvania, la dignitaire gouvernementale Mariam Sheleguia et l'activiste civil Vladimer Bojadzé ; Jvania sera élue par la suite par la Commission pour un second mandat[328]. En août 2021, à la suite de la démission de Tamar Jvania suivant les élections parlementaires controversées de 2020, elle nomme Guiorgui Santouriani et Guiorgui Kalandarachvili (deux dignitaires de la Commission) pour la succéder et Kalandarachvili sera élu par le parlement[329]. +

    Le , le Haut Conseil de Justice (HCJ) fait appel à la présidente pour limoger Anna Dolidzé, membre du Conseil, quand celle-ci annonce la formation d'un mouvement politique en violation de la loi[330],[331]. Zourabichvili ne la limoge pas, mais lui demande de démissionner de sa propre volonté[332], ce que Dolidzé fait finalement le . Pour la remplacer, Zourabichvili nomme Tamar Ghvamitchava, une professeure de loi à l'université d'État de Tbilissi, comme membre non-judiciaire du HCJ dans un processus que certains critiquent comme manquant de transparence[333]. +

    Le , elle nomme le Major général Guiorgui Matiachvili comme chef des forces de défense géorgiennes pour remplacer le Lieutenant général Vladimer Tchatchibaïa[334]. +

    +

    Politique intérieure[modifier | modifier le code]

    +

    Crise politique de 2019-2021[modifier | modifier le code]

    +
    Zourabichvili rencontre les ambassadeurs facilitant les négociations entre le gouvernement et l'opposition durant la crise politique.
    +

    Salomé Zourabichvili doit faire face à une crise politique qui commence le , date à laquelle Sergueï Gavrilov, un député communiste de la Douma russe, s'assoit sur le siège du président du Parlement de Géorgie lors d'une conférence de l'Assemblée inter-parlementaire sur l'Orthodoxie, un acte qui mène à une vague de manifestations massives contre ce qui est perçu par une partie de l'opposition comme une orientation pro-russe du gouvernement du RG-GD. Ces manifestations dégénèrent dans la nuit du 20 au 21 juin quand les dirigeants du MNU tentent de rentrer par la force au sein du Parlement, à la suite de quoi les forces de l'ordre dispersent par la force les manifestants. Alors en visite en Biélorussie, Zourabichvili rentre en urgence en Géorgie et condamne la gesture du député russe ainsi que l'adhésion de la Géorgie au sein d'une assemblée vue par la présidente comme un outil de la Russie « pour utiliser la religion dans ses manœuvres politiques »[335]. Lors d'une conférence de presse, la présidente condamne de nouveau les évènements du 20 juin et demande de « tenir responsable » ceux qui ont invité Gavrilov en Géorgie[336]. Le 21 juin, le président du Parlement Irakli Kobakhidzé et le député RG-GD Zakaria Koutsnachvili (Tianeti) démissionnent. +

    Zourabichvili tente de se poser au centre des deux camps et sa rhétorique divise les évènements de la « nuit de Gavrilov » en deux : les premières heures marquées par une « réaction naturelle et spontanée » de la population contre la prise du siège parlementaire par le député russe, puis la tentative par les dirigeants de l'opposition de prendre contrôle du bâtiment du Parlement par la force dans la nuit[337]. Parallèlement, elle demande à la Russie de ne pas interférer dans les affaires internes de la Géorgie, ainsi que de ne pas prendre retribution sur les citoyens géorgiens vivant en Russie[338], tandis qu'elle condamne le journaliste géorgien anti-russe Guiorgui Gabounia quand celui-ci insulte en direct Vladimir Poutine et les membres de sa famille[339]. +

    La crise politique continue à travers 2019 et la présidente soutient ouvertement une proposition de transformer le système électoral parlementaire mixte en système entièrement proportionnel pour les élections législatives de 2020, une proposition qui échoue en novembre quand certains députés RG-GD votent contre des amendments constitutionnels en sa faveur[340]. À travers les tensions, elle critique les tentatives de « déstabilisation » du pays et de « discréditation » des institutions nationales comme n'étant qu'en faveur des intérêts russes. Elle offre ainsi de se poser comme médiatrice entre les partis politiques[341] puis félicite les dirigeants politiques à la suite des Accords du envisageant une réforme électorale[342]. Ces accords sont rapidement suivis par un appel de l'opposition à Zourabichvili pour qu'elle gracie plusieurs prisonniers considérés par certains comme prisonniers politiques, dont Guiorgui Rouroua, Guigui Ougoulava et Irakli Okrouachvili[343], un appel soutenu par plusieurs membres du Parlement européen[344]. D'abord opposée à une telle mesure, elle finit par gracier Ougoulava et Okrouachvili le pour assurer le vote de l'opposition en faveur de la réforme électorale et pour « préserver la voie européenne de la Géorgie », un acte condamné par plusieurs membres du gouvernement mais salué par les dirigeants de l'opposition et certains législateurs américains et européens[345],[346]. Le , elle signe les amendements constitutionnels renforçant le système partiellement proportionnel pour les élections parlementaires du mois d'octobre[347] et sa décision de gracier Ougoulava et Okrouachvili est notée comme une étape vers la dépolarisation de la Géorgie dans le rapport du Parlement européen de septembre 2019 sur l'exécution de l'Accord d'Association UE-Géorgie[348]. Dans un discours devant l'Assemblée parlementaire du Conseil de l'Europe en janvier 2020, elle compare la polarisation à un « cancer de la société »[349]. +

    +
    Zourabichvili félicite les partis pour l'accord du 8 mars 2020.
    +

    La question de la grâce de Guiorgui Rouroua reste un sujet de tensions entre Zourabichvili et l'opposition, rapidement rejointe par les sénateurs américains Jim Risch et Jeanne Shaheen et les parlementaires européens Andrius Kubilius et Anna Fotyga. Durant ces débats, elle critique les appels publics des diginitaires étrangers et reste fermement contre la libération de Rouroua jugeant son passé de membre de Mkhedrioni, un groupe paramilitaire responsable du coup d'État de 1991-1992[350]. +

    Salomé Zourabichvili annonce la tenue des élections parlementaires d'octobre 2020 le 31 août[351] et reste distante des campagnes électorales. La veille des élections, elle condamne néanmoins lors d'un discours à la nation les attaques contre l'armée, la police et le secteur médical faites durant les mois précédents[352]. Le 1er novembre, un jour après la tenue des élections, elle reconnait les résultats officiels qui voient une nouvelle victoire du RG-GD, malgré des accusations de fraude électorale par plusieurs partis d'opposition[353]. De plus, elle critique les manifestations du 5 novembre contre la Commission centrale électorale[354]. En décembre 2020, elle inaugure la première session du nouveau Parlement avec un discours déclarant la « fin des idéologies », se posant contre le communisme, l'ultralibéralisme et l'ultrapatriotisme[355]. Quand la majorité de l'opposition déclare un boycott parlementaire, la présidente demande au RG-GD de ne pas se laisser tenter par une direction unipartisane et de refuser d'accepter la démission des députés de l'opposition[356]. Tea Tsouloukiani, membre influente du RG-GD, admettra plus tard avoir été influencée par l'appel de la présidente quand le parti au pouvoir vote contre la reconnaissance de ces démissions[357]. +

    La crise politique continue à s'envenimer le quand le Premier ministre Guiorgui Gakharia démissionne à la suite de son opposition à l'arrestation de Nika Melia, président du MNU. Melia est rapidement arrêté sous les ordres du nouveau Premier ministre Irakli Gharibachvili et Zourabichvili critique « le timing et la forme » de cette arrestation[358]. Elle se pose néanmoins en point de contact avec les dirigeants occidentaux qui tentent de s'impliquer dans les déroulements en Géorgie et organise des discussions avec les présidents Gitanas Nauseda de Lituanie, Andrzej Duda de Pologne et Charles Michel du Conseil européen. Elle accueille ce dernier en Géorgie le 1er mars, date à laquelle commencent des négociations officielles entre le RG-GD et les partis d'opposition sous la médiation européenne au palais des Orbeliani[359]. Durant les semaines de négociations qui suivent, la présidente critique à de nombreuses reprises les deux côtés (elle critique ainsi les manifestations du 2 mars et les arrestations qui s'ensuivent[360], la « myopie politique » de l'opposition et le refus du RG-GD de consulter l'opposition dans les questions d'importance nationale) et rencontre Christian Danielsson (représentant personnel de Charles Michel dans les négociations) plusieurs fois. Lors de son discours au parlement du , elle accuse les deux camps de « manquer de courage »[361]. +

    Le 19 avril, Salomé Zourabichvili annonce être prête à gracier Guiorgui Rouroua si l'opposition s'accorde à signer un accord négocié par Charles Michel[362], une déclaration qui mène à la signature de l'Accord du et est suivie par un acte de clémence pour Rouroua[363], la fin du boycott parlementaire[364] et la visite surprise de Charles Michel en Géorgie le 20 avril, une visite durant laquelle il annonce avec Zourabichvili le commencement de nouveaux projets d'infrastructure européens dans le pays[365]. Michel et Zourabichvili rédigent ensemble un éditorial sur Euronews le 19 mai déclarant que le « futur de la Géorgie est européen »[366]. +

    La signature de l'accord du 19 avril ouvre les portes vers de nombreuses consultations entre la présidente et les dirigeants de l'opposition, comme lors du débat national sur l'adoption d'une nouvelle loi augmentant les pénalités civiles contre les manifestants s'affrontant aux forces de l'ordre (une loi qu'elle finira par signer)[367]. Le 29 juin, l'accord échoue quand le RG-GD retire sa signature par opposition à la clause prévoyant de nouvelles élections parlementaires dans le cas où le parti reçoit moins de 43 % des suffrages lors des élections municipales d'octobre 2021 et Zourabichvili est la première figure que Charles Michel rencontre dans ce cadre[368]. +

    +
    Zourabichvili vote lors du second tour des élections municipales de 2021.
    +

    Lors des élections municipales, Salomé Zourabichvili déclare lors d'une entrevue avec le Journal du dimanche la « nécessité d'un gouvernement de coalition », une phrase critiquée par le RG-GD[369]. +

    +
    Retour de Mikheïl Saakachvili en Géorgie[modifier | modifier le code]
    +

    Mikheïl Saakachvili, qui a quitté la Géorgie en 2013, et a été condamné par la Cour municipale de Tbilissi à six ans de prison pour abus de pouvoir, détournement d'argent et implication dans une tentative de meurtre d'un député d'opposition, annonce son retour illégalement[réf. nécessaire] dans le pays le , la veille des élections municipales. Zourabichvili critique alors l'opposition pour envisager des manifestations avant même la publication des résultats électoraux, ainsi que le RG-GD pour avoir organisé des conférences de presse via les organes du parti au lieu d'avoir laissé la communication officielle lors de ces déroulements aux institutions gouvernementales[370]. Lorsque le ministère des Affaires intérieures annonce dans la même soirée avoir interpellé et arrêté Saakachvili, la présidente déclare refuser d'utiliser son droit de grâce en mémoire d'Irina Enoukidzé[Note 2] et de ceux qui ont péri lors de la présidence de Saakachvili. Elle accuse alors Saakachvili d'avoir tenté de déstabiliser le pays avant les élections, mais fait appel au RG-GD de mettre en force de nouvelles réformes judiciaires[371]. +

    Le 8 novembre, 89 députés du parlement ukrainien adressent une lettre à Zourabichvili demandant le retour immédiat de Saakachvili en Ukraine[372]. +

    Le 17 novembre, à la suite de la publication de vidéos montrant le traitement de Saakachvili par la garde pénitentiaire, Salomé Zourabichvili demande au gouvernement de préserver la dignité de l'ancien président, qualifiant les insultes de « catégoriquement inacceptable ». Tout en s'opposant au transfert de Saakachvili dans un hôpital civil durant sa grève de la faim, elle critique l'abolition du conseil des docteurs s'assurant de son observation par le ministère de la Justice[373]. Le lendemain, quand les autorités annoncent son transfert à l'Hôpital militaire de Gori, elle soutient cette décision[374]. +

    Tandis qu'elle reste opposée à un acte de clémence envers Saakachvili, elle désigne en décembre 2021 son prédécesseur Guiorgui Margvelachvili comme médiateur avec Saakachvili[375]. +

    +
    Processus d'accord national[modifier | modifier le code]
    +

    En réponse à la crise politique, Salomé Zourabichvili annonce durant le Sommet pour la démocratie organisé par le président américain Joe Biden un processus pour « trouver le moyen de parvenir à une compréhension commune de l'histoire récente, pour aider à guérir les douleurs du passé et aller de l'avant ». Ce processus, qu'elle nomme l'Accord national, reçoit la bénédiction de l'Église orthodoxe géorgienne[375] et est inauguré le 16 décembre 2021 lors d'une récéption dédiée aux partis politiques au palais des Orbeliani[376]. Des dizaines de figures politiques représentant le parti au pouvoir et l'opposition participent à cette récéption, qui est décrite comme « inhabituelle pour les élites politiques géorgiennes dominées par l'inimitié » par Civil Georgia[376]. Durant cette réception, elle condamne la division nationale, la « polarisation sévère sur toute question » qu'elle cite comme une cause de la vague d'émigration et le manque d'unité nationale pour faire face aux conflits séparatistes[376]. La présidente décrit le processus comme un « projet géorgien » sans intervention directe de l'étranger (un contraste avec les précédentes tentatives occidentales de négocier la fin de la crise politique)[376]. +

    +
    Salomé Zourabichvili au Parlement.
    +

    Nika Melia du MNU, qui refuse de participer à la récéption du 16 décembre, apporte son support envers le processus d'accord national le 21 décembre mais annonce en même temps une grève de la faim pour réclamer la libération de Mikheïl Saakachvili[377]. Ce dernier applaudit aussi l'initiative mais fait appel à des manifestations massives contre le gouvernement[376]. Irakli Kobakhidzé, président du parti majoritaire, nomme quant à lui la « justice » comme la base de toute réconciliation entre forces politiques nationales[376]. +

    Le processus d'accord national a été décrit comme « non structuré », tandis que la présidente qualifie la première étape du processus comme un stade d'écoute : elle rencontre durant les premières semaines du processus des dizaines de figures politiques représentant les partis politiques géorgiens, ainsi que plusieurs organisations non-gouvernementales. Le , elle annonce une Déclaration de la Jeunesse du palais des Orbeliani, une lettre ouverte signée par des étudiants réclamant que les forces politiques s'unissent pour faciliter l'intégration de la Géorgie au sein de l'Union européenne[378]. +

    Lors de son adresse parlementaire du 14 mars, la présidente critique publiquement les autorités ainsi que l'opposition, accusant les deux côtés d'être plus préoccupés par leurs intérêts politiques que par la perspective européenne du pays[379]. +

    En mars 2023, elle déclare son intention de ne pas briguer de second mandat en 2024[380]. +

    +
    Désaccords avec le gouvernement et tentative de destitution[modifier | modifier le code]
    +

    Bénéficiant du support du RG-GD durant l'élection présidentielle de 2018, Salomé Zourabichvili est souvent assimilée au parti au pouvoir durant les premières années de sa présidence, malgré son statut non-partisan. Elle devient toutefois progressivement de plus en plus critique envers le gouvernement. Le , accusant le RG-GD de « manquer de courage », elle le critique pour n'avoir pas impliqué la présidence et l'opposition dans sa décision d'annoncer la candidature de la Géorgie à l'adhésion au sein de l'Union européenne en 2024. En août, elle critique le gouvernement pour avoir abandonné l'Accord du avec l'opposition, négocié par l'UE[381], puis qualifie d'« incompréhensible » la décision du Premier ministre Irakli Gharibachvili de refuser une ligne de crédit européenne[382]. De même, sa position sur le détournement du vol Ryanair 4978 est bien plus critique que celle du ministère géorgien des Affaires étrangères[383]. En novembre, elle qualifie d'« étape incompréhensible » la nomination de deux nouveaux membres au Haut Conseil de Justice considérés comme partisans du RG-GD. +

    +
    De gauche à droite : Kakha Kaladzé (maire de Tbilissi), Zourabichvili et Carl Hartzell (ambassadeur européen), mai 2022.
    +

    Le 27 décembre 2021, la présidente critique publiquement la proposition d'abolir le Bureau d'Inspecteur d'État, une agence gouvernementale indépendante[384]. Cette agence est alors sous l'attention publique pour son enquête sur le traitement de Saakachvili en prison par les autorités pénitentiaires[384]. Le Parlement vote la suppression du Bureau le 30 décembre et Zourabichvili signe néanmoins le projet de loi le 13 janvier 2022[385]. Quelques semaines plus tard, Irakli Kobakhidzé, président du RG-GD, accuse la présidente d'interférer dans les affaires du Parlement quand elle critique la décision de terminer les mandats de trois députés d'opposition[386]. Kobakhidzé l'accusera plus tard d'ingérence dans les affaires judiciaires du pays quand elle critique le système judiciaire de la Géorgie[387]. +

    Les tensions entre l'administration de Zourabichvili et le parti au pouvoir s'aggravent à la suite du début de l'invasion russe de l'Ukraine, la présidente prenant une position fermement anti-russe, tandis que le gouvernement tombe dans une crise diplomatique avec l'Ukraine[388]. Le 24 février, au lendemain de l'invasion, elle convoque une session extraordinaire du Parlement, mais le RG-GD bloque la convocation en refusant d'ouvrir les portes du Parlement[389]. Quand elle demande de s'adresser au Parlement le 5 mars, le RG-GD lui force un délai de neuf jours et suivant son adresse du 14 mars, le parti l'accuse de violer la Constitution pour avoir inviter personnellement le chargé d'affaires ukrainien Andri Kasianov[390]. Zourabichvili condamne à plusieurs reprises les commentaires critiques de membres du gouvernement géorgien envers des dignitaires occidentaux, dont plusieurs membres du Parlement européen et les ambassadeurs américain et européen. Dans une adresse à la nation, elle accuse le gouvernement de Gharibachvili d'avoir coûté au pays son statut de réformateurs parmi les potentiels candidats à l'adhésion européenne et critique de même l'arrestation du journaliste anti-gouvernemental Nika Gvaramia, tout en refusant de le gracier[391]. Elle révèle dans une interview avec l'agence géorgienne Palitranews le 2 juin n'avoir plus aucune communication avec le gouvernement[392]. +

    La crise la plus profonde entre les deux côtés arrive quand la présidente est invitée à visiter Paris et Bruxelles par Emmanuel Macron et Charles Michel le 26 février, deux jours après le début de l'invasion. Le gouvernement lui refuse alors l'autorisation de voyager à l'étranger, lui demandant d'annuler ses visites prévues en France, Belgique, Allemagne et Pologne[393]. Elle voyage néanmoins en France et à Bruxelles pour rencontrer la direction européenne, hors de l'aide diplomatique de son pays[393]. Quand la présidente révèle la tentative du gouvernement géorgien de bloquer ses voyages diplomatiques, le RG-GD annonce le 15 mars une plainte contre elle auprès de la Cour constitutionnelle : elle est accusée d'avoir quitté le pays sans l'autorisation du gouvernement, ainsi que d'avoir refusé de nommer des ambassadeurs proposés par le Ministère des Affaires étrangères[390]. Le Parlement est obligé d'adopter une nouvelle loi le 14 avril qui l'autoriserait à porter plainte contre la présidence[394], tandis que plusieurs ONG défendent Zourabichvili en démontrant que l'Article 52 de la Constitution géorgienne l'autorise à effectuer des voyages diplomatiques sans autorisation gouvernementale[395]. Le 6 juin, le RG-GD annonce déposer sa plainte auprès de la Cour constitutionnelle pour ce qu'il décrit comme un refus de la présidente de nommer plusieurs ambassadeurs[396], une revendication niée par l'administration de Zourabichvili qui confirme que chaque candidat présenté par le gouvernement depuis le 1er janvier 2021 a été confirmé par la présidente[397]. Le 31 août 2022, elle nomme Davit Bakradzé comme représentant permanent aux Nations unies, après avoir critiqué ses compétences quelques semaines plus tôt[398]. +

    +
    Zourabichvili s'adressant aux députés du Parlement de 1990-1992.
    +

    Le 22 juin, elle oppose son veto à un projet de loi élargissant les pouvoirs de surveillance du gouvernement, le premier veto de sa présidence. Elle est en effet opposée à la surveillance de masse comme une violation des droits de l'homme[399]. En 2021, un document divulgué du Service de sécurité d'État révèle un plan pour espionner la présidente et son équipe[400]. +

    Les relations entre la présidence et le gouvernement de Gharibachvili restent le sujet de tensions. Une session parlementaire extraordinaire convoquée par la présidente le 15 juillet pour adresser les réformes urgentes nécessaires pour l'adhésion à l'Union européenne est annulée par le Parlement[401]. Le premier ministre l'a comparé à une « ennemie du pays » et a bloqué une seconde série de voyages diplomatiques de la présidente en juin en France, Pologne et Ukraine[402]. Salomé Zourabichvili est devenu la cible de plusieurs accusations de la part d'un groupe de députés ayant quitté le RG-GD en été 2022 pour poursuivre une politique plus hostile envers l'Union européenne[403]. Le 1er juillet, Tea Katoukia, ambassadrice de Géorgie en France et considérée comme une alliée de Zourabichvili, démissionne, citant comme raison de nombreuses pressions de la bureaucratie diplomatique[404]. Le 6 août, elle refuse de nommer Guiorgui Kalandarichvili pour un nouveau mandat comme président de la Commission électorale centrale, largement vu comme un allié du gouvernement, ce qui mène à une critique de la part de la Commission[405]. +

    Dans le contexte de l'invasion de l'Ukraine par la Russie de 2022, et alors que l'adhésion de la Géorgie à l'Union européenne a été mis en suspens, notamment en raison de son retard en raison de son manque de progrès sur le respect des droits de l'homme, des manifestations ont lieu contre un projet de loi du gouvernement du Premier ministre Irakli Garibachvili à partir de mars 2023, concernant le vote d'une nouvelle loi sur les agents étrangers considérée comme pro-russe[406],[407]. Les critiques disent que le projet de loi représente un virage autoritaire et pourrait nuire à ses espoirs d'adhésion à l'Union européenne. Ils considèrent que la loi étouffe la liberté de la presse. La présidente Salomé Zourabichvili apporte son soutien aux manifestants, affirmant que "la voie de l'intégration européenne doit être protégée."[408] Elle annonce qu'elle opposera son veto au projet de loi, adopté en première lecture le 6 mars, avec 76 voix pour et 13 contre, au parlement[409]. Le projet de loi est finalement retiré par le gouvernement le 9 mars 2023[410]. +

    Le , Zourabichvili gracie Nika Gvaramia, avocat, homme politique d'opposition et ancien ministre sous la présidence de Mikheil Saakachvili, condamné en à trois ans et demi de prison et emprisonné pour avoir « nui aux intérêts financiers d’une chaîne de télévision qu’il avait auparavant dirigée »[411],[412]. +

    Le , le parti au pouvoir Rêve géorgien saisit la Cour constitutionnelle afin d'entamer un procédure de destitution à l'encontre de la présidente Salomé Zourabichvili[413]. Le président du parti Irakli Kobakhidzé, estime que Zourabichvili a violé la constitution en réalisant une tournée dans certains pays de l'Union européenne pour soutenir la candidature du pays à l'entrée dans celle-ci, malgré l'avis contraire du gouvernement, responsable de la politique étrangère et qui lui avait notamment interdit de se rendre dans dix pays, dont l’Ukraine[414]. Zourabichvili dénonce la procédure de destitution, estimant que cela vise à « tuer l’avenir européen de la Géorgie et la démocratie ». La Cour constitutionnelle autorise l'ouverture de la procédure le suivant[415]. C’est la première fois dans l’histoire de la Géorgie qu’un président fait l'objet d'une procédure de destitution. Le , le Parlement rejette finalement la destitution avec 86 députés pour et 1 contre, l'opposition ayant boycotté le vote[416]. +

    +

    Développement régional[modifier | modifier le code]

    +

    Une promesse de sa campagne électorale, le développement économique des régions de Géorgie est l'une des priorités de la présidence de Zourabichvili, une priorité néanmoins ralentie par la pandémie de Covid-19. À la suite de cette pandémie et de la réouverture du tourisme interne, la présidente lance la campagne « Découvrez la Géorgie » avec pour but d'encourager les Géorgiens de Tbilissi de passer leurs vacances dans les régions géorgiennes[417]. +

    À travers son mandat, Zourabichvili doit aussi répondre aux défis socio-économiques et politiques des régions. En avril 2021, après des semaines de manifestations contre le projet de centrale hydroélectrique à Namakhvani (Iméréthie), elle propose la création d'un groupe d'experts composé de représentants de plusieurs secteurs pour étudier les avantages et risques écologiques de la centrale, une offre qui est toutefois rendue inutile quand le gouvernement annule le contrat de construction de la centrale. Salomé Zourabichvili est une partisane de l'utilisation de l'hydroélectricité, qualifiant le développement de centrales hydroélectriques de « garantie » pour l'indépendance énergétique du pays et niant les préoccupations environnementales qui y sont liées[418]. +

    +

    Politique culturelle[modifier | modifier le code]

    +
    Zourabichvili visitant le Museum of Modern Art de New York.
    +

    Salomé Zourabichvili a cité la culture comme un outil pour l'intégration de la Géorgie au sein de l'Union européenne. Ainsi, elle a poussé avec succès la remise de la European Heritage Award de 2019 à Moutso, un village médiéval de la région montagnarde de Khevsoureti, déclarant à Paris que « Moutso est la Géorgie, Moutso est l'Europe »[419]. De même, elle a soutenu et mis sous ses auspices les fouilles archéologiques polonaises de Koutaïssi qui cherchent à confirmer l'ancienneté de la Colchide. En juillet 2019, elle visite Munich pour demander à la direction de la Fédération internationale de basket-ball de faire de la Géorgie l'un des hôtes du Championnat d'Europe de basket-ball 2022, une visite qui finit avec la victoire de la Géorgie dans l'appel d'offres. En septembre 2019, elle lance plusieurs projets de coopération culturelle avec les États-Unis, rencontrant des représentants de la cinématographie américaine et du Museum of Modern Art de New York[420]. +

    Dans cette sphère, Zourabichvili considère la tolérance religieuse et ethnique comme l'une des valeurs principales de la Géorgie et propose ainsi d'intégrer la tolérance géorgienne dans la liste de patrimoine culturel immatériel de l'UNESCO[421]. En mars 2019, lors d'une visite de la ville de Gardabani (à majorité ethnique azérie), elle déclare être « fière que la Géorgie soit un endroit où des personnes d'origines et de confessions diverses vivent en paix »[422]. Elle a de même poussée pour l'intégration des minorités ethniques au sein de la société géorgienne en soutenant des programmes d'enseignement de la langue géorgienne en Samtskhé-Djavakheti, région majoritairement arménienne[423]. Lors des tensions de Bouknari de janvier 2021 qui voient des groupes chrétiens et musulmans s'affronter en Gourie sur la construction d'une mosquée, elle critique les deux côtés et souligne l'importance de la « diversité religieuse » en Géorgie[424]. +

    En décembre 2019, la présidente Zourabichvili, lors d'un discours sur l'établissement d'un centre de kartvélologie, doit faire face à une vague de critiques quand elle cite la culture comme la plus puissante arme géorgienne pour influencer le Caucase. Son commentaire sur le sujet, incluant la phrase « nous n'avons ni armée ni économie », est condamnée par le ministre de la Défense Irakli Gharibachvili[425], le chef des forces armées géorgiennes Vladimer Tchatchibaïa (qui dit alors que l'armée géorgienne est la plus forte de la région) et plusieurs groupes d'opposition, dont le MNU, le Parti républicain et Lelo pour la Géorgie. Ces critiques sont repoussées par l'Administration de la Présidente, qui accuse l'opposition de tenter de créer une fissure entre la présidence et le RG-GD[426]. +

    +

    Santé[modifier | modifier le code]

    +

    La lutte contre le cancer est l'un des points focaux de la politique de santé de la présidence de Zourabichvili. Dans ce cadre, elle a fait appel à une plus grande coopération avec la branche européenne de l'Organisation mondiale de la santé[427]. +

    +
    Pandémie de Covid-19[modifier | modifier le code]
    +
    Zourabichvili portant un masque durant la pandémie.
    +

    Le premier cas de Covid-19 en Géorgie est confirmé le , à la suite de quoi le gouvernement géorgien de Guiorgui Gakharia entame des mesures restrictives et ouvre un conseil de coordination composé de certains ministres et de l'administration de la présidente. Le 19 mars, Salomé Zourabichvili participe à la rencontre du Conseil de Sécurité nationale sur la pandémie[428] et le 21 mars, alors que le pays voit un total de 49 cas et à la suite d'une demande de Gakharia, la présidente déclare l'état d'urgence à travers le pays, donnant au gouvernement le pouvoir de restreindre la liberté de mouvement et d'imposer une quarantaine sur certaines municipalités infectées dans le pays[429]. Le Parlement de Géorgie approuve la déclaration d'état d'urgence avec 115 voies (sur 150), un résultat rare auquel l'opposition participe[430]. Le 21 avril, Zourabichvili étend l'état d'urgence jusqu'au [431]. +

    +
    Zourabichvili déclare l'état d'urgence.
    +

    À travers la pandémie, la présidente supporte fortement les restrictions imposées par le gouvernement et condamne ce qu'elle considère comme être un « populisme » contre les mesures restrictives anti-pandémiques. Lors de la fête de Pâques d'avril 2020, Zourabichvili se trouve opposée à la direction de l'Église orthodoxe géorgienne et fait appel à la population de ne pas se rendre dans les églises[432]. Le , lors de son adresse parlementaire, la présidente critique l'affaire Pozner (un scandale qui voit un journaliste russo-américain et plusieurs de ses amis venus en Géorgie pour célébrer son anniversaire en violation de nombreuses règles locales) et fait appel au gouvernement de mettre en force les mesures restrictives à tout moment, y compris lors de fêtes religieuses[433]. Lors de la réouverture limitée de l'économie du pays en juin 2020, la présidente organise une campagne encourageant les Géorgiens à s'engager dans le tourisme intérieur et à voyager à travers les régions géorgiennes. +

    Dans les premiers mois de la pandémie, elle entretient plusieurs appels téléphoniques avec des chefs d'État et de gouvernement étrangers, en commençant par les présidents d'Arménie Serge Sarkissian et d'Azerbaïdjan Ilham Aliyev le [434]. Elle condamne de plus les cyberattaques et la campagne de désinformation organisées par la Russie contre le Laboratoire Richard Lugar de Tbilissi, chargé des efforts géorgiens contre la pandémie[435]. +

    Au contraire du gouvernement Gakharia, le Premier ministre Irakli Gharibachvili refuse de mettre en place des restrictions strictes. Le 3 novembre 2021, Zourabichvili critique l'Église pour n'avoir pas approuvé formellement la vaccination et demande au gouvernement d'introduire plusieurs mesures pour encourager la vaccination contre le Covid-19, dont l'introduction de passes sanitaires et retirer les personnes non-vaccinées du système de santé universelle en leur faisant payer leur traitement[436]. Le 1er décembre, les passes sanitaires deviennent obligatoires pour avoir accès à plusieurs catégories d'espace public. +

    +

    Questions sociales[modifier | modifier le code]

    +
    Récéption en l'honneur de femmes d'affaires européennes au palais des Orbeliani.
    +

    En tant que première femme élue à la présidence de la Géorgie, Salomé Zourabichvili a défendu les droits des femmes et l'égalité des sexes via différentes tribunes politiques, notamment organisant plusieurs rencontres et participant à plusieurs conférences dédiées à l'autonomisation des femmes. Elle accueille en octobre 2019 un groupe de femmes d'affaires venant de France et de Belgique au palais des Orbeliani et déclare alors que la « contribution des femmes dans les cercles politiques, culturels, entrepreneuriaux et éducationnels est clé au développement national ». En février 2021, durant la visite d'Ann Linde en Géorgie en tant que présidente-en-fonction de l'OSCE, Zourabichvili annonce un plan d'organiser une conférence internationale pour les femmes impliquées dans la résolution de conflit à Tbilissi[437]. Suivant les élections municipales de 2021, elle critique le manque de femmes élues dans les conseils municipaux. Le 17 juin 2022, Salomé Zourabichvili organise la Conférence internationale des femmes de Tbilissi, un congrès de femmes en politique, culture, business, société civile et journalisme pour adresser le rôle de la femme dans la résolution des conflits[438]. +

    Sous sa présidence, la question des droits de la communauté LGBTQ est un sujet de débats nationaux, en particulier autour de la Marche de la Fierté de Tbilissi de 2019 qui est annulée par les autorités par crainte de violence des groupes d'extrême-droite. Elle déclare alors son opposition à « toute discrimination » mais elle se retrouve opposée par l'organisation Tbilisi Pride quand elle rajoute que « le pays doit faire face à assez de controverses et n'a pas besoin de plus de provocations venant de n'importe quel côté du débat LGBTQ », l'organisation critiquant l'égalisation entre « citoyens pacifiques et fondamentalistes agressifs ». Plus tard, lors d'un discours à Strasbourg, elle lie les « traditions religieuses et le puritanisme soviétique » au caractère anti-LGBTQ d'une partie de la société géorgienne, mais souligne que le débat est exagéré considérant qu'il n'existe pas de cas connu de discrimination venant de la part des autorités. Un an après les protestations anti-LGBTQ du 5 juillet 2021 qui mènent à de la violence contre de nombreux journalistes, la présidente condamne le « manque de justice » et accuse les groupes d'extrême-droite d'être liés à la Russie[439]. +

    La présidente Zourabichvili soutient l'adoption de règles contre la diffamation et le discours de haine, la Géorgie ayant décriminalisé la diffamation en 2004. Lors de son discours du Nouvel An 2019, elle souligne le besoin de protéger « simultanément la liberté d'expression et la dignité humaine », déclarant que la protection contre les fausses informations et le discours de haine est nécessaire « pour retourner la paix à une société divisée par la polarisation et pour empêcher toute menace à notre démocratie »[440]. Ces remarques seront plus tard partagées par le catholicos-patriarche Ilia II et le président du parlement Irakli Kobakhidzé[441]. Cette mesure est toutefois critiquée par plusieurs groupes de la société civile et plusieurs ONG démontrent leur opposition lors d'une rencontre au palais des Orbeliani. Zourabichvili a néanmoins continuée à pousser en faveur de réglementations contre la diffamation, critiquant le « bas taux de responsabilité, ainsi que des réseaux sociaux souvent contrôlés par des pouvoirs étrangers »[442] et citant la loi contre la manipulation de l'information de France comme un exemple à suivre. +

    +

    Scandale des grâces de 2019[modifier | modifier le code]

    +
    Zourabichvili signant des actes de grace en 2019.
    +

    Salomé Zourabichvili a longtemps critiqué la politique d'amnistie de son prédécesseur Guiorgui Margvelachvili qui, selon elle, abuse de son droit de grâce en libérant des milliers de prisonniers durant sa présidence pour des raisons politiques. À la place, la présidente considère le droit de grâce comme un pouvoir réservé pour des « cas individuels »[443]. S'opposant à l'existence de la Commission des grâces en tant qu'agence opérant sous la présidence, elle ne nomme pas de successeurs aux membres de la commission dont les mandats expirent à la fin de la présidence de Margvelachvili, puis suspend ses activités en janvier 2019. En février, lors de son discours annuel au parlement, elle soutient le transfert de la Commission au sein du ministère de la Justice. +

    Le , Salomé Zourabichvili gracie 34 prisonniers en commémoration du Jour de Sainte-Marie. Une fuite dans les médias révèle que parmi ces 34 individus figurent Ramaz Devadzé (en prison pour le meurtre d'un policier en 2014)[444], Aslan Bejanidzé (en prison pour le meurtre d'un homme de 18 ans) et Zourab Nadiradzé (un ancien dignitaire du gouvernement de Zviad Gamsakhourdia recherché par les autorités pour une accusation de meurtre qu'il réfute et en exil depuis en République tchèque)[445]. Cette découverte est suivie par une vague de critiques par des membres du gouvernement, dont Artchil Talakvadzé (président du Parlement), Tea Tsouloukiani (ministre de la Justice), Kakha Kaladzé (maire de Tbilissi), Guiorgui Gakharia (ministre des Affaires intérieures), Guia Volski (chef de la majorité parlementaire), Nino Lomdjaria (défenseur public) et Sophio Kiladzé (présidente du Comité parlementaire des droits de l'homme). De l'opposition, la députée Irma Nadirachvili (GE) la nomme « irresponsable », Guigui Ougoulava (GE) demande sa destitution par le parlement et Roman Gotsiridzé (MNU) l'accuse de corruption. Durant le scandale, la présidente refuse de répondre aux questions, citant le droit discrétionnaire de la présidence sur la grâce. +

    Zourabichvili nie néanmoins toute allégation de corruption au sein de son administration, ainsi que les liens entre la grâce de ces prisonniers et son secrétaire parlementaire Dimitri Gabounia, un ancien avocat de défense. Tandis que Nadirachvili demande la mise en prison de Gabounia, ce dernier nie avoir joué un rôle dans la décision présidentielle, condamne les grâces accordées, menace de porter plainte contre diffamation et accuse Angui Khoutsichvili, adjoint au chef de l'Administration présidentielle, d'être plus impliqué dans le scandale[446]. La députée Salomé Samadachvili (MNU) fait appel à une enquête parlementaire, mais la GE demande une enquête du Bureau du Procureur, une enquête qui commence le [447]. +

    +
    Zourabichvili s'adressant à la presse durant le scandale.
    +

    Le 18 septembre, Zourabichvili signe un moratoire sur les grâces en attendant de réformer le processus[448]. Elle demande au Parlement de réévaluer les règles de grâce et commence des consultations avec Artchil Talakvadzé et Tea Tsouloukiani[449]. Le 26 novembre, elle signe un décret changeant la ligne directive du pouvoir de grâce mise en place en 2014[450]. Les nouvelles règles réduisent largement le nombre de grâces présidentielles, prennent en compte le motif criminel, le dommage causé à la société et la santé du prisonnier, obligent le président à reconsidérer un acte de clémence si un crime a été commis dans le cadre de violence conjugale, contre un mineur ou contre un membre des forces de l'ordre, retardent le droit de demander la grâce présidentielle d'un individu condamné à la prison à vie de 15 à 20 ans après le début de sa peine, obligent un criminel condamné à plus de cinq ans de prison à servir au moins les deux tiers de sa peine avoir d'être gracié et abolissent le droit de grâce pour les criminels non violents qui n'ont pas servi au moins une partie de leur peine, tout en adoucissant l'attitude envers les crimes moins sérieux[451]. Son administration promet de travailler sur un programme pour une nouvelle Commission des grâces. +

    +

    Relations avec l'Église[modifier | modifier le code]

    +

    En tant que présidente, les relations entre Salomé Zourabichvili et l'Église orthodoxe géorgienne, la plus puissante institution religieuse de Géorgie liée au gouvernement via le Concordat entre l'État et l'Église de 2002 et plus de 25 millions de laris de subventions publiques annuelles, varient à de nombreuses reprises. Elle condamne plusieurs fois ce qu'elle décrit comme des « tentatives par certaines forces politiques de présenter des faux désaccords entre l'État et l'Église » et supporte officiellement le Concordat de 2002. +

    D'un autre côté, ces relations sont distinguées par la campagne notable d'une partie du clergé géorgien contre la candidature de Zourabichvili lors de l'élection présidentielle de 2018 et son support envers la décriminalisation du cannabis. Durant sa campagne et malgré un appel par le catholicos-patriarche Ilia II pour que le clergé reste politiquement neutre[452], plusieurs métropoles, évêques et prêtres condamnent Zourabichvili avant son élection, tandis qu'elle s'oppose publiquement à l'interférence de l'Église au sein des affaires du gouvernement. En janvier 2020, elle refuse de signer un acte de grâce pour le diacre Guiorgui Mamaladzé, en prison pour tentative de meurtre d'une dignitaire de l'Église, mais dont la clémence est officiellement demandée par le Saint Synode[453]. +

    +
    Zourabichvili durant une messe dédiée aux victimes ukrainiennes de l'invasion russe de 2022.
    +

    Salomé Zourabichvili souligne ses critiques envers l'Église durant la pandémie de Covid-19 : elle demande aux autorités religieuses d'accepter de célébrer la messe de Pâques dans de différentes circonstances en 2019[454], avant d'accuser certains membres du clergé de comportement « absolument inacceptable » pour leurs sentiments contre la vaccination, comparant la déclaration de certains prêtres orthodoxes à une « interférence dans les affaires de santé publique qui risque d'avoir de graves ramifications à travers la société »[455]. Refusant d'abord de décrire sa position sur l'autocéphalie de l'Église ukrainienne avant celle du Patriarcat géorgien (qui ne la reconnait pas), elle change son opinion durant l'invasion russe de l'Ukraine et fait appel à la reconnaissance de celle-ci[456]. +

    Parallèlement, Zourabichvili est la première cheffe d'État géorgienne à signer des accords bilatéraux avec le Vatican, inaugurant une série de coopérations culturelle, éducationnelle et scientifique lors d'une visite en juin 2021[Note 3],[457]. Un an plus tard, le 27 juin 2022, la chapelle Sixtine accueille un concert de chants religieux géorgiens parrainé par la présidente, le pape François et le catholicos géorgien, inaugurant ainsi la coopération culturelle bilatérale[458]. +

    +

    Politique internationale[modifier | modifier le code]

    +

    Vers l'Europe[modifier | modifier le code]

    +
    Nouvelle vision[modifier | modifier le code]
    +
    Conférence de presse de Zourabichvili et le président Steinmeier d'Allemagne.
    +

    Élue présidente de la Géorgie, un pays qui bénéficie du Partenariat oriental, de l'Accord d'Association avec l'UE, d'un accord de libre-échange et d'un régime sans visa avec l'Union européenne, Salomé Zourabichvili est une forte supportrice de l'adhésion de son pays à l'UE, une priorité qu'elle cite déjà en tant que présidente-élue en novembre 2018[459]. Son arrivée au pouvoir correspond toutefois aux négociations de Brexit, une situation qui rend toute chance de discussions sur la candidature de la Géorgie plus difficile. Zourabichvili, qui sert de professeur sur le futur européen à Sciences Po, considère néanmoins Brexit comme une opportunité vers plus de possibilités pour les pays cherchant à devenir candidats pour l'adhésion, déclarant en mai 2020 que l'« Europe avance en temps de crises » et que le départ de la Grande-Bretagne peut donner naissance à une « nouvelle Europe » avec plus de formats de coopération en éducation, culture, transport, sécurité et défense. En mars 2019, elle soutient publiquement l'appel du président français Emmanuel Macron vers une « renaissance européenne »[460]. +

    +Sa vision sur l'adhésion géorgienne à l'UE est décrite dans un éditorial qu'elle rédige pour Civil Georgia en septembre 2019[461] :

    +

    « Pour la Géorgie, le choix est clair : ce n'est que le retour en Europe. Non seulement rejoindre l'Europe est une garantie pour la préservation de notre souveraineté nationale, c'est un retour à notre famille dont nous avons été séparés par une occupation soviétique de 70 ans. Rejoindre l'Europe est une garantie de stabilité et de croissance de notre démocratie. » +

    +
    +

    Les divisions entre Zourabichvili et le RG-GD sont particulièrement claires dans les questions liées aux relations entre la Géorgie et l'Europe. C'est ainsi qu'elle gracie les opposants Guigui Ougoulava et Irakli Okrouachvili en mai 2020 malgré les critiques du gouvernement, citant le risque que leur emprisonnement aurait pu porter sur la perspective européenne du pays, qu'elle encourage le président du Conseil européen Charles Michel à mener des négociations entre le RG-GD et l'opposition pour sortir le pays de sa crise politique en 2021 et qu'elle critique le Premier ministre Irakli Gharibachvili pour sa décision de refuser une ligne de crédit européenne en septembre 2021. À la suite de l'annonce du RG-GD sur la candidature officielle de la Géorgie à l'adhésion en Union européenne pour 2024, la présidente critique le gouvernement ouvertement pour n'avoir pas consulté la société civile, l'opposition parlementaire ou encore la présidence avant de prendre une telle décision[462]. Avant la candidature de 2024, Zourabichvili a néanmoins fait appel envers une plus grande coopération avec la Banque européenne pour la reconstruction et le développement afin de mettre en force les réformes nécessaires[463]. +

    +
    Conférence de presse entre Zourabichvili et Antonio Tajani.
    +

    Citant le manque de consensus au sein des forces politiques européennes vis-à-vis un nouvel élargissement de l'UE, Zourabichvili a fait mention d'un processus ad hoc dans lequel la Géorgie pourrait commencer à négocier et fermer les chapitres de l'acquis avant d'annoncer une candidature officielle, ainsi que d'une adhésion de facto selon laquelle le pays pourrait intégrer progressivement les agences et programmes européens. Dans ce cadre, elle a fait appel à plus de coopération pour des réformes environnementales, ainsi que pour les droits du travail. En janvier 2021, lors d'une rencontre avec le président du Parlement européen David Sassoli, elle demande aux pays européens d'égaliser les frais de scolarité entre étudiants géorgiens et européens[464]. +

    La première visite officielle de Salomé Zourabichvili en tant que présidente se déroule en janvier 2019 à Bruxelles, un choix stratégique pour symboliser son orientation pro-européenne[465]. Durant cette visite, elle rencontre le président du Conseil Donald Tusk, avec qui elle s'accorde sur le besoin de réformes judiciaires, et le président de la Commission européenne Jean-Claude Juncker, qui salue alors le « rythme accéléré » des réformes démocratiques géorgiennes. C'est à Bruxelles qu'elle annonce la transformation de la Conférence internationale de Batoumi (un évènement annuel) en conférence dédiée aux 10 ans du Partenariat oriental, soulignant ainsi ce qu'elle décrit comme « le statut de la Géorgie comme le bon élève du partenariat »[466]. C'est toujours lors de cette visite que Zourabichvili aborde la question du rôle de l'UE dans la Mer Noire, juste deux mois après l'incident du détroit de Kertch. La présidente cherche régulièrement depuis à encourager une plus grande présence européenne dans la mer Noire, demandant l'établissement de plusieurs lignes de ferry et discutant des possibilités de coopération dans le secteur avec les présidents Dalia Grybauskaite de Lituanie et Rouman Radev de Bulgarie[467]. +

    Durant les premiers mois de sa présidence, Zourabichvili visite les trois pays baltes pour rencontrer ses homologues Dalia Grybauskaitė de Lituanie, Kersti Kaljulaid d'Estonie et Raimonds Vējonis de Lettonie. Ces trois derniers annoncenent leur soutien officiel envers l'adhésion de la Géorgie au sein de l'UE durant ces visites[468],[469], tandis qu'elle préside avec Grybauskaitė sur la signature d'un accord bilatéral sur la coopération en cybersécurité[470]. Elle visite de même la Pologne en mai 2019 et rencontre le président Andrzej Duda, qui réitère alors le support polonais envers la Géorgie en Europe[471]. À Tbilissi, elle accueille en visite officielle les présidents Nikos Anastasiades de Chypre (avril 2019)[Note 4],[472], Janos Ader de Hongrie (septembre 2019)[473] et Frank-Walter Steinmeier d'Allemagne (octobre 2019)[474]. En 2021, elle devient la première cheffe d'État à payer une visite officielle en Autriche (octobre)[475] et à Chypre (novembre ; durant cette dernière, le président Anastasiades apporte son soutien officiel à l'intégration de la Géorgie au sein de l'UE)[476]. +

    +
    Zourabichvili et Emmanuel Macron (2021).
    +

    En tant qu'ancienne diplomate française, la présidente porte proche attention aux relations de la Géorgie avec Paris, connu comme étant le principal opposant à l'élargissement européen. Sa première visite bilatérale se déroule en France en février 2019, durant laquelle elle tient des rencontres avec le président du Sénat français Gérard Larcher, le groupe IFRI et le président Macron, avec qui elle signe la Déclaration du dialogue structuré Dimitri Amilakhvari, envisageant des discussions bilatérales officielles entre les gouvernements géorgien et français dans plusieurs secteurs[477]. Zourabichvili s'est déclaré être un « pont entre les sociétés » des deux pays, tandis que Macron s'est engagé à approfondir les liens bilatéraux dans l'entraînement de travail et les questions de jeunesse[478]. Le , Zourabichvili et Macron prêtent tous les deux hommage à l'émigration politique géorgienne de 1921 lors d'une cérémonie officielle sous l'Arc de Triomphe[479], tandis que la présidente géorgienne décore à titre posthume les Géorgiens Dimitri Amilakhvari, Konstantine Andronikov et Ilia Melia pour avoir contribué à la préservation des liens franco-géorgiens malgré l'occupation soviétique[480],[481]. Durant l'élection présidentielle française de 2022, elle apporte son soutien à Emmanuel Macron contre Marine Le Pen[482]. +

    Tandis que la pandémie de Covid-19 menace les ambitions géopolitiques de l'Union européenne, la présidente de la Commission européenne Ursula von der Leyen rédige une lettre pour la présidente géorgienne dans laquelle elle s'engage à lancer des discussions sur « les nouvelles étapes des relations entre l'UE et la Géorgie après une conclusion réussie des 10 ans du Partenariat oriental »[483]. Cette lettre est suivie par une visite en janvier 2021 de Zourabichvili à Bruxelles, sa première visite à l'étranger depuis le début de la pandémie. Depuis le début de 2021, Charles Michel, dans sa capacité en tant que président du Conseil européen, a visité la Géorgie trois fois et a ouvert les portes envers le commencement de grands projets d'infrastructure européens sur la mer Noire[365]. +

    +
    Sommet de Petra[modifier | modifier le code]
    +
    Zourabichvili rencontre Volodymyr Zelensky en mai 2019.
    +

    Une fois au pouvoir, Zourabichvli cherche à renforcer l'acheminement de la Géorgie au sein de l'Union européenne en présentant une vision sur une étape nouvelle pour faire succession au Partenariat oriental, les priorités diplomatiques de Tbilissi étant trop radicalement différentes de celles de l'Arménie, de l'Azerbaïdjan et de la Biélorussie qui ne cherchent pas à rejoindre l'UE. Dans ce cadre, elle tente de se rapprocher de la Moldavie et de l'Ukraine, considérés avec la Géorgie comme les pays les plus avancés vers l'intégration européenne du Partenariat. Le , elle assiste à l'investiture du nouveau président ukrainien Volodymyr Zelensky à Kiev, un geste rare considérant les relations difficiles entre l'Ukraine et la Géorgie depuis la nomination de l'ancien président fugitif de Géorgie Mikheïl Saakachvili au sein du gouvernement ukrainien (puis son expulsion controversée d'Ukraine). Durant leur rencontre, Zourabichvili déclare vouloir unifier les efforts des deux pays sur leur route euro-atlantique[484]. +

    Les relations ukraino-géorgiennes font de nouveau chute en avril 2020 quand Zelensky nomme Saakachvili vice-Premier ministre d'Ukraine (une position pour laquelle il ne reçoit pas la confirmation parlementaire). Le 28 avril, Zourabichvili condamne la manœuvre ukrainienne comme un geste « incompréhensible et inacceptable » et demande au gouvernement ukrainien de reconsidérer sa décision et de se concentrer plutôt sur la rédaction de programmes conjoints à proposer à Bruxelles[485]. Critiquant Kiev pour la nomination d'un ancien président géorgien condamné par contumace par le système judiciaire géorgien, elle supporte la décision du gouvernement de Guiorgui Gakharia de rappeler l'ambassadeur de Géorgie en Ukraine quand Saakachvili est nommé à une position économique dans l'administration de Zelensky. +

    Le , lors de la crise diplomatique entre la Russie et l'Ukraine qui voit des milliers de soldats russes s'amasser sur la frontière russo-ukrainienne, Zourabichvili demande au gouvernement géorgien de mettre terme à la crise diplomatique entre Tbilissi et Kiev en renvoyant l'ambassadeur géorgien en Ukraine. Zourabichvili et Zelensky s'accordent lors d'une conversation téléphonique le 15 avril de reprendre leur programme de rédaction de plans communs vers l'intégration euro-atlantique des deux pays[486] et le 23 juin, Zourabichvili visite l'Ukraine lors de la première visite officielle d'un chef d'État géorgien à Kiev en une décennie[487]. +

    +
    Les présidents Zourabichvili, Sandu (Moldavie), Zelensky (Ukraine) et Michel (Conseil européen) à la suite de la signature de la déclaration de Petra.
    +

    Une fois la crise diplomatique ukraino-géorgienne apaisée, Zourabichvili propose le lors de la visite en Géorgie de Charles Michel d'organiser un sommet présidentiel entre la Moldavie, l'Ukraine et la Géorgie dans le cadre de la Conférence internationale de Batoumi prévue pour le mois de juillet. Le 17 juillet, dans la matinée du sommet, Zourabichvili gracie deux citoyens ukrainiens (dont un agent de sécurité de Saakachvili) en prison pour avoir franchi la frontière géorgienne, menant à des spéculations que Zelensky aurait conditionné sa présence à ces grâces[488]. Salomé Zourabichvili, Volodymyr Zelensky et la présidente Maïa Sandu de Moldavie se rencontrent sur les ruines de la forteresse géorgienne de Petra au bord de la mer Noire et signent en présence de Charles Michel la Déclaration de Petra envisageant une voie commune des trois pays vers l'intégration européenne. +

    +
    Perspective européenne[modifier | modifier le code]
    +

    À la suite de l'invasion russe de l'Ukraine, elle visite Paris puis Bruxelles afin de sécuriser l'appui de l'UE envers la Géorgie et d'avancer l'intégration des trois pays de l'Association Trio[388]. Le 2 mars, le gouvernement géorgien annonce la « décision de faire acte de candidature immédiatement pour l'entrée dans l'UE » en y ajoutant que Bruxelles doit examiner urgemment cette candidature[489]. Durant ce processus, elle fait appel au gouvernement de créer un ministère pour l'intégration européenne qui serait mené par un représentant de l'opposition[379]. Quand la Commission européenne présente le questionnaire d'adhesion à la Géorgie le 11 avril, elle critique le gouvernement de Gharibachvili pour ne pas avoir ouvert le processus à toutes les forces politiques[490]. En juin, elle effectue une visite d'État en Italie et obtient de Rome la garantie de son support dans le processus d'adhésion de la Géorgie[491]. +

    Le 23 juin 2022, la Géorgie, à défaut de recevoir la candidature comme l'Ukraine et la Moldavie, se voit accorder la « perspective européenne » par le Conseil européen. Dans son discours annonçant la décision, le président français Emmanuel Macron applaudit les efforts de la présidente Zourabichvili, laissant de côté le gouvernement de Gharibachvili[492]. Depuis, elle reste critique de son gouvernement pour ne pas prendre de mesures efficaces vers la mise en œuvre des soi-disant « 12 recommandations » que la Commission européenne demande de la Géorgie pour recevoir la candidature[493]. +

    +

    Vers l'OTAN[modifier | modifier le code]

    +

    Salomé Zourabichvili soutient l'adhésion de la Géorgie à l'OTAN, tandis que son investiture coïncide avec la promulgation de l'article 78 de la Constitution qui instruit l'État de poursuivre un parcours vers l'intégration euro-atlantique. Sa vision du rôle de la Géorgie au sein de l'alliance nord-atlantique est surlignée lors d'un discours à la cérémonie de fermeture des exercices militaires Géorgie-OTAN de mars 2019 à la base militaire de Krtsanissi, où elle démontre l'importance de la participation des forces géorgiennes dans les missions internationales et mentionne l'adhésion à l'OTAN comme « le seul choix pour la Géorgie ». Parmi les partenaires de l'OTAN, Salomé Zourabichvili voit dans la Géorgie le pays le « plus prêt à l'adhésion », tout en notant que le pays n'obtiendrait pas le Plan d'action pour l'adhésion (MAP) dans le futur proche, malgré les demandes constantes de la Géorgie[494]. Elle souligne néanmoins que l'adhésion de la Géorgie à l'OTAN n'est pas une mesure « ciblée contre qui que ce soit »[495], indiquant ainsi son opposition à la vision géopolitique de la Russie qui considère l'élargissement de l'Alliance dans l'ancien monde soviétique une attaque contre sa sécurité. +

    +
    Zourabichvili au bord du Commandant Birot, navire français à Batoumi (novembre 2019).
    +

    La présidente Zourabichvili visite le siège de l'OTAN une première fois le lors de sa première visite officielle à l'étranger, durant laquelle elle rencontre le secrétaire-général Jens Stoltenberg qui mentionne la Géorgie comme un « partenaire unique » et annonce son support envers l'approfondissement des liens bilatéraux[496]. Deux semaines plus tard, elle se rend en Afghanistan, où la Géorgie opère l'une des plus larges présences militaires dans le cadre de la Mission Resolute Support, et rencontre le président Ashraf Ghani et le général Austin S. Miller[497]. +

    Zourabichvili soutient plus de coopération avec l'OTAN dans les domaines de la cybersécurité et de la défense de la Mer Noire (en collaboration avec les projets d'infrastructures régionaux qu'elle demande à l'Union européenne). Le , elle a une conversation téléphonique avec Jens Stoltenberg afin d'affirmer le rôle croissant de la Mer Noire comme un corridor suivant la pandémie de Covid-19[498]. Par la suite, elle salue la hausse de la présence de navires militaires de l'OTAN sur la Mer Noire[499]. En janvier 2021, elle retourne à Bruxelles et rencontre une nouvelle fois Stoltenberg suivant l'adoption du Paquet substantiel OTAN-Géorgie renouvelé, mais demande à l'Alliance d'être « plus ambitieux », en réponse à quoi Stoltenberg demande des « réformes plus convaincantes » de la part de la Géorgie[500]. Elle a aussi demandé la participation de la Géorgie au sommet de Bruxelles de 2021[501], mais le gouvernement géorgien n'y est pas invité. +

    Sous sa présidence, le mandat de James Appathurai comme représentant spécial du secrétaire général pour le Caucase du Sud se termine après dix ans. Le , elle le décore de l'Ordre de la Toison d'or, une médaille dédiée aux amis étrangers de la Géorgie[502]. Le 19 octobre, elle rencontre son successeur, le diplomate espagnol Javier Colomina Píriz, avec qui elle souligne l'importance de la sécurité de la mer Noire[503]. +

    +
    Zourabichvili et le secrétaire d'État américain Mike Pompeo.
    +

    En mai 2019, Salomé Zourabichvili cause une controverse en se prononçant contre l'idée d'une base militaire américaine en Géorgie lors d'une entrevue avec Voice of America, une déclaration jugée par certains anti-occidentale[504]. Elle explique sa position en considérant qu'une potentielle base militaire américaine serait un risque de terrorisme et une possible provocation dans une région déjà instable. Elle affirme néanmoins que le développement des relations bilatérales de la Géorgie avec Washington sont la « première priorité » du gouvernement géorgien[505] et demande l'adoption d'un accord de libre-échange avec les États-Unis lors de la visite du secrétaire d'État américain Mike Pompeo le [506]. +

    +

    Conflit russo-géorgien[modifier | modifier le code]

    +

    La Géorgie fait face depuis la chute de l'URSS à des conflits séparatistes en Abkhazie et en Ossétie du Sud, ouvertement soutenus par la Fédération russe depuis la guerre russo-géorgienne de 2008. En tant que présidente, Salomé Zourabichvili a accusé la Russie de menacer la stabilité géorgienne, notamment via l'occupation militaire des deux régions et les activités russes sur les lignes administratives de la Géorgie propre avec l'Abkhazie et l'Ossétie du Sud, dont le processus de frontièrisation (l'installation de fortifications militaires et fils barbelés sur ce que la Russie considère comme les frontières entre la Géorgie et ses deux républiques sécessionnistes)[507]. Lors de la Conférence de Batoumi pour la Défense et la Sécurité de 2019, la présidente décrit l'occupation russe des deux régions comme « une tension constante avec la Russie, des incidents sans fin qui courent le risque d'exploser en situations plus dangereuses et que la Géorgie tente constamment d'éviter »[508]. Elle a souvent souligné le besoin de ne pas « tomber dans la déstabilisation » et a déclaré que sa responsabilité est de ne pas répondre aux provocations[509]. Elle a néanmoins critiqué le gouvernement géorgien pour son silence sur certaines questions, comme l'affaire de Bitchvinta de juillet 2022, un scandale voyant la Russie tenter de faire pression sur les autorités séparatistes d'Abkhazie pour qu'elles cèdent la propriété de terrains clés en bord de mer dans la ville de Bitchvinta, quelque chose que le président a appelé une forme d'annexion[510]. +

    +Zourabichvili a également porté son attention sur la situation humanitaire dans les deux régions, y compris la violation des droits de l'homme dans les municipalités de Gali (Abkhazie) et Akhalgori (Ossétie du Sud) à majorité ethniquement géorgienne, tout en décrivant l'occuption militaire russe comme une « tragédie pour les deux côtés de la ligne d'occupation ». Dans son discours devant l'Assemblée parlementaire du Conseil de l'Europe en janvier 2020, elle affirme que :

    +

    « Les citoyens de l'autre côté de la ligne administrative souffrent de la privation des droits de l'homme, du manque de services de santé adéquats, de l'interdiction de l'enseignement dans la langue maternelle géorgienne ainsi que des restrictions à l'enseignement en langues abkhaze ou ossète à travers la politique de russification. Les violations à caractère ethnique se sont intensifiées contre ce qui est maintenant une très petite minorité géorgienne dans l'enclave de Gali. Des citoyens vivant de notre côté de la ligne administrative dans des villages qui ont été morcelés, sont kidnappés, rançonnés, dans certains cas torturés voire tués pour n'avoir pas respecté une frontière qui n'a pas d'existence légale et qui d'un jour à l'autre apparait soudainement dans leur arrière-cour ou traverse un village et ses cimetières traditionnels. » +

    +
    +
    Zourabichvili et les membres du gouvernement géorgien au cimetière militaire de Moukhatgverdi.
    +

    Zourabichvili soutient la préservation de la langue abkhaze, officiellement en danger d'extinction. Son administration a ainsi traduit la constitution géorgienne en abkhaze, a financé la publication d'un magazine en abkhaze et a nommé l'entrée du palais des Orbeliani la salle Amra (« soleil » en abkhaze)[511], mais ces étapes sont condamnées par le gouvernement séparatiste d'Abkhazie qui l'accuse d'instrumentaliser la langue abkhaze[512]. La présidente a aussi fait appel à une « nouvelle vision à offrir aux Abkhazes et aux Ossètes », incluant des mesures de confiance pour rétablir les liens entre les communautés divisées. Elle s'oppose toutefois à un dialogue direct avec les gouvernements séparatistes. +

    Elle fait face à plusieurs vagues de désinformation venant d'agences de presse russes, notamment quand un site russe publie une fausse lettre de la Commission européenne remerciant la présidente géorgienne d'avoir accepté d'accueillir des réfugiés du conflit syrien[513]. En avril 2021, elle accuse la Russie d'être directement responsable de la mort de quatre Géorgiens d'Abkhazie qui se noient dans l'Engouri en tentant de franchir la ligne administrative illégalement[514]. Grigori Karassine, diplomate russe, a souvent critiqué la position anti-russe de Zourabichvili[515], tandis que celle-ci a parfois indiqué son opinion sur le besoin d'une « nouvelle relation avec la Russie basée sur le respect de la souveraineté, quelque chose qui demande de l'audacité » : elle a indiqué envisager de visiter Moscou pour le Jour de la Victoire si elle est suivie par les partenaires occidentaux de la Géorgie et l'Ukraine[516] et laissé entendre n'être pas opposée à une visite du ministre russe des Affaires étrangères Sergueï Lavrov en Géorgie dans le cadre de la présidence de la Géorgie du Conseil de l'Europe en 2020[517]. +

    En qualité de présidente, elle fait appel à un nouveau format de dialogue politique pour résoudre le conflit[518], arguant que les discussions internationales de Genève (DIG) entre Tbilissi, Moscou, Sokhoumi et Tskhinvali sont ineffectives et ne sont consacrées qu'à des discussions techniques. Notamment, Zourabichvili a demandé l'institution d'un format similaire au Format Normandie[516], qui rassemble les présidents d'Ukraine, Russie et France et le chancelier d'Allemagne pour négocier la résolution du conflit russo-ukrainien. Ce thème devient le centre de la diplomatie de Zourabichvili en Europe et elle renforce cet appel lors de l'emprisonnement du docteur géorgien Vaja Gaphrindachvili en Ossétie du Sud, déclarant que les DIG n'ont qu'une nature bureaucratique qui ne peut résoudre des problèmes politiques[516]. Elle critique aussi les rencontres dans le cadre du mécanisme de prévention et de règlement des incidents (IPRM ; inactif avec l'Abkhazie, instable avec l'Ossétie du Sud) comme étant ineffectives. +

    Zourabichvili fait appel publiquement à de nombreuses reprises à la Russie de respecter les accords de cessez-le-feu du (selon lesquels la Russie doit retirer ses troupes hors de la vallée de Kodori, d'Akhalgori et des enclaves géorgiennes autour de Tskhinvali)[519] et de laisser la mission d'observation de l'Union européenne (EUMM) opérer sur la totalité des régions séparatistes[520]. Tandis qu'elle est contre la restauration des relations diplomatiques entre Moscou et Tbilissi, Zourabichvili soutient un dialogue avec la fédération de Russie avec pour conditions l'établissement d'une liste de problèmes à régler, l'implication des partenaires occidentaux de la Géorgie dans toute discussion et la fin de la frontièrisation. +

    +
    Zourabichvili rencontre Guterres à Paris en juin 2021.
    +

    La présidente utilise son statut diplomatique pour demander aux alliés de la Géorgie de faire du conflit russo-géorgien une priorité dans leurs dialogues avec Moscou, demandant ainsi à la Serbie[521], l'Allemagne, la France et les États-Unis (entre autres) de se poser comme médiateurs[522]. Salomé Zourabichvili a souvent fait appel à l'intervention de la communauté internationale pour régler les plus graves tensions dans les zones séparatistes. Elle s'adresse à l'ONU, à l'UE, au Conseil de l'Europe et à l'OSCE pour faciliter la libération de Vaja Gaphrindachvili en novembre 2019[523] puis convoque les ambassadeurs occidentaux au palais des Orbeliani pour demander leur intervention le 20 décembre[524] (dix jours avant son éventuelle libération), demande à l'OMS et la HCDH de réagir face à la confiscation de médicaments géorgiens d'Ossétie du Sud en février 2020[525], puis rencontre le secrétaire général de l'ONU Antonio Guterres pour demander son aide dans la libération du prisonnier géorgien Zaza Gakheladzé de Tskhinvali en juin 2021[526]. +

    +
    Invasion russe de l'Ukraine[modifier | modifier le code]
    +
    Duda et Zourabichvili à Tbilissi le 3 février 2022.
    +

    Devant des tensions croissantes entre la Russie et l'Ukraine au début de 2022, Zourabichvili a pris très tôt position en faveur de l'Ukraine et contre la Russie. Le 3 février, elle reçoit le président polonais Andrzej Duda à Tbilissi où elle a accusé Moscou de menacer la sécurité européenne par des actions agressives, des menaces, des cyberattaques et l'activation des forces militaires russes à la frontière ukrainienne et sur la mer Noire[527]. Duda demandera plus tard à l'OTAN d'inviter Zourabichvili et le président ukrainien Volodymyr Zelenskyy au sommet de Madrid de juin 2022[528]. Sa rhétorique anti-russe s'intensifie lorsque Moscou reconnaît l'indépendance des régions séparatistes ukrainiennes de Donetsk et Louhansk, appelant l'Occident à renforcer ses sanctions contre la Russie. Elle a également profité de ces semaines pour faire pression sur les capitales occidentales afin qu'elles incluent les conflits séparatistes de la Géorgie sur la table des négociations avec la Russie[529]. +

    Après le lancement de l'invasion le 24 février, elle est devenue la première figure publique de Géorgie à condamner l'attaque et à être solidaire avec l'Ukraine[530]. Le même jour, elle convoque une session parlementaire extraordinaire et demande une session étendue du Conseil de sécurité nationale, tous deux rejetés par le parti au pouvoir[531]. Elle effectue également une série d'appels téléphoniques avec des dirigeants occidentaux, dont Emmanuel Macron, Charles Michel[532], Frank-Walter Steinmeier[533] et Mark Rutte[534], ainsi que Zelenskyy lui-même[535]. Le 28 février, elle se rend à Paris et à Bruxelles, rencontrant Macron, Michel et Ursula von der Leyen[536], pour manifester la solidarité de la Géorgie envers l'Ukraine et faire pression sur les dirigeants européens pour qu'ils avancent sur la voie de l'intégration des trois pays du Trio associé. Lors d'une tournée de presse, elle qualifie la Russie de « régime totalitaire et dictatorial » et fait appele l'Occident à faire plus, accusant l'Europe d'une longue inaction au fil des ans[537]. +

    Son activisme, en contraste frappant avec l'« approche pragmatique » envers la Russie souvent critiquée par Kyiv du gouvernement de Gharibachvili, a été salué par le département d'État américain[538] et divers responsables américains[539]. Elle se rend aux Etats-Unis et en Allemagne en avril pour demander plus d'unité européenne face à la crise[540]. Soulignant sa conviction que l'Ukraine gagnerait la guerre, elle a fait appel à Zelenskyy de s'abstenir de rappeler son ambassadeur en Géorgie[379]. Zourabichvili est la seule femme politique à assister aux funérailles des volontaires géorgiens morts au combat en Ukraine[541], tout en soutenant la reconnaissance de l'autocéphalie de l'Église orthodoxe ukrainienne. Un sondage de mars fait par le Caucasus Research Resources Center a fait d'elle la politicienne la plus populaire dans le contexte de la guerre russo-ukrainienne, étant soutenue par 64 % de la population, contre 41 % pour le Premier ministre[542]. +

    +

    Situation régionale[modifier | modifier le code]

    +

    Zourabichvili visite l'Azerbaïdjan le lors de sa première visite régionale, une visite durant laquelle elle rencontre son homologue Ilham Aliyev pour discuter des relations énergétiques et dans le secteur de transportation avant de visiter les villages géorgiens au nord-ouest de l'Azerbaïdjan[543]. C'est lors de cette visite qu'elle mentionne une première fois le problème de la frontière bilatérale qui reste sans délimitation officielle : tandis que Bakou et Tbilissi se sont accordés sur plus de 65 % de la frontière, il reste plusieurs points de tensions, notamment le complexe du monastère de David Garedja qui est divisé entre les deux pays. Le , des gardes-frontières azerbaïdjanais bloquent temporairement l'accès à une partie du complexe un jour après une visite locale par Zourabichvili qui réitère alors le besoin de délimiter les frontières, un incident qui voit la première présence armée azérie sur place depuis un accord bilatéral de 2012[544]. L'incident est réfuté par la présidente, qui confirme avoir été accompagnée de trois dignitaires azerbaïdjanais lors de sa visite, mais Salomé Zourabichvili utilise les tensions pour demander le rétablissement de la commission bilatérale sur la délimitation des frontières. Le , Tbilissi et Bakou remettent en fonction la commission, qui est présidée du côté géorgien par le ministre-adjoint des Affaires étrangères Lacha Darsalia[545]. +

    Zourabichvili visite l'Arménie en mars 2019 et approche là aussi la question de la délimitation des frontières avec le président arménien Armen Sarkissian[546]. Celui-ci visite la Géorgie en avril 2021 et la présidente géorgienne lui offre de faciliter le rapprochement d'Erevan vers l'Union européenne. +

    Lors des tensions entre l'Arménie et l'Azerbaïdjan de juillet 2020, Zourabichvili fait appel à la paix[547], à la suite de quoi elle développe un programme pour créer une plateforme pour la paix transcaucasienne, une idée qu'elle propose au gouvernement azerbaïdjanais le [548]. Quand la guerre éclate au Nagorno-Karabakh le 27 septembre, la présidente déclare la neutralité de la Géorgie, réitère son offre d'organiser des négociations pour résoudre le conflit à Tbilissi et propose de renforcer le groupe de Minsk et de transférer ses activités en Géorgie, tout en critiquant les pouvoirs étrangers facilitant la propagation de fausses nouvelles insinuant une position pro-arménienne ou pro-azerbaïdjanaise de Tbilissi. Le 3 octobre, Zourabichvili prend part à la rencontre du Conseil de Sécurité nationale et soutient l'interdiction du transport militaire via le territoire géorgien. Dans une conférence de presse qui s'ensuit, elle souligne que la Géorgie ne laisserait pas la Russie utiliser le territoire géorgien dans ce cadre[549]. Plus tard, elle propose une rencontre entre étudiants arméniens et azerbaïdjanais à l'Université internationale de Koutaïssi[550]. +

    Avec la signature d'un accord pour la paix entre Erevan et Bakou, elle déclare le début d'une « nouvelle ère » pour le Caucase et le commencement d'un nouveau chapitre de coopération au sein de la Transcaucasie[551]. En décembre 2020, elle propose l'établissement d'une Plateforme pour le Caucase afin de mettre la Géorgie au premier plan dans les questions de développement régional et positionne la Géorgie comme le représentant de Bruxelles dans la région[552]. En juin 2021, le gouvernement géorgien se pose comme médiateur pour la libération de prisonniers de guerre arméniens par Bakou et la remise des coordonnées des mines antipersonnel par Erevan, un fait que la présidente caractérise comme le « retour de l'UE dans le Caucase »[553]. +

    Face à la proposition par la Turquie de créer un format « 3+3 » (Géorgie, Arménie, Azerbaïdjan et Turquie, Russie, Iran) pour le développement économique du Caucase, Zourabichvili rejette tout format n'incluant pas directement l'Union européenne. +

    +

    Avec l'Asie[modifier | modifier le code]

    +
    Zourabichvili au Japon.
    +

    Les relations de l'administration de Zourabichvili avec l'Asie sont principalement basées sur le commerce et la vision de la Géorgie comme un corridor du commerce entre l'Europe et le continent asiatique par la présidente. Elle entame ainsi des négociations pour des accords de libre-échange avec le Japon et l'Inde, pousse vers une plus grande implication de la Géorgie au sein de TRACECA (dont via le projet de construction du port d'Anaklia), supporte une plus grande coopération de la Géorgie avec l'Association des nations de l'Asie du Sud-Est via l'aide de la Malaisie[554] et accueille le ministre chinois des Affaires étrangères Wang Yi dans la première visite de haut niveau d'un dignitaire de la RPC en Géorgie afin de négocier des détails des liens commerciaux[555]. +

    La présidente visite le Japon en octobre 2019 afin de participer à la cérémonie d'intronisation de l'empereur Naruhito. Durant cette visite, elle rencontre le Premier ministre Shinzō Abe, la présidente de la Chambre des conseillers Akiko Santō et la gouverneure de Tokyo Yuriko Koike dans le but d'établir de proches liens politiques, culturels et économiques avec le pays[556]. +

    +

    En quête vers une alliance des petits pays[modifier | modifier le code]

    +
    Zourabichvili rencontre le président Jóhannesson.
    +

    Durant la pandémie de Covid-19, Salomé Zourabichvili commence à développer les bases d'un réseau pour rassembler les petits pays et trouver des positions communes entre eux face aux défis mondiaux. En septembre 2020, lors d'une adresse devant l'Assemblée générale des Nations unies, elle propose l'utilisation des petites nations telle que la Géorgie pour trouver des solutions globales au changement climatique[557]. +

    Dans ce cadre, elle discute d'une alliance entre petits pays avec le roi Philippe de Belgique en janvier 2021[558]. Elle renforce de même les relations de la Géorgie avec d'autres petites nations à partir de 2021 : elle visite la Macédoine du Nord en mai 2021 pour signer un accord de libéralisation des visas avec son homologue Stevo Pendarovski[559], Monaco en juin 2021 pour approfondir les liens commerciaux avec la principauté[560], puis le Vatican où elle signe les premiers accords bilatéraux entre le Saint-Siège et Tbilissi. Milo Đukanović, président du Monténégro, visite la Géorgie en octobre 2021 et s'accorde avec Zourabichvili de partager bilatéralement les expériences géorgienne et monténégrine sur l'intégration euro-atlantique[561]. +

    +

    Popularité[modifier | modifier le code]

    +

    Les sondages politiques sont rares en Géorgie et traditionnellement organisés par deux organisations publiques américaines, la National Democratic Institute (NDI) et l'International Republican Institute (IRI). +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Sondages d'opinion sur Salomé Zourabichvili +
    OrganisationDatesPositiveMoyenneNégative +
    National Democratic Instituteavril 201928 %27 %40 % +
    National Democratic Institutejuillet 201912 %40 %36 % +
    International Republican Instituteseptembre 201923 %-70 % +
    National Democratic Institutedécembre 201913 %33 %49 % +
    International Republican Institutejuin 202036 %-61 % +
    National Democratic Institutedécembre 202114 %29 %46 % +
    National Democratic Institutefévrier 202224 %42 %24 % +
    International Republican Institutemars 202252 %-45 % +
    +
    +

    Décorations[modifier | modifier le code]

    + +

    Publications[modifier | modifier le code]

    +
    • Une femme pour deux pays, Edition Grasset, Paris, 2006.
    • +
    • საქართველოსკენ, Litera, Tbilisi, 2006.
    • +
    • Les cicatrices des nations, Edition Francois Bourin, Paris, 2008.
    • +
    • La tragédie géorgienne, Edition Grasset, Paris, 2009.
    • +
    • L’exigence démocratique, Edition Francois Bourin, Paris, 2010.
    • +
    • Cahiers CERI Sciences Po N°4: La démocratisation en Géorgie à l’épreuve des élections, Paris, 2007
    • +
    • Penser l’Europe : What borders for Europe ?, Paris, 2007.
    • +
    • Cahier de Chaillot, Institute for security studies of the European Union (N° 102), Paris, 2007.
    +

    Annexes[modifier | modifier le code]

    +

    Articles connexes[modifier | modifier le code]

    + +

    Liens externes[modifier | modifier le code]

    +

    +

    + +

    Notes et références[modifier | modifier le code]

    +

    Notes[modifier | modifier le code]

    +
      +
    1. En 1992, Zviad Gamsakhourdia est renversé dans un coup d'État, en 2003 Edouard Chevardnadzé démissionne à la suite de la révolution des roses et en 2013, Mikheïl Saakachvili quitte le pays avant l'investiture de Margvelachvili. +
    2. +
    3. Irina Enoukidzé est la mère de Sandro Guirgvliani, un jeune homme tué en 2006 sous ordre du ministère des Affaires intérieures. +
    4. +
    5. Les liens entre l'Église orthodoxe géorgienne et le monde catholique sont historiquement restreints depuis la large influence russe sur le clergé géorgien datant de la période soviétique. +
    6. +
    7. La première visite d'un président chypriote en Géorgie. +
    8. +
    +

    Références[modifier | modifier le code]

    +
    +
      +
    1. a b c d e et f (en) Nora Boustany, « A Georgian Reborn, Still Straddling Two Cultures », sur The Washington Post, (consulté le ) +
    2. +
    3. « Mort de Lévan Zourabichvili », La Tribune de la Liberté,‎ , p. 16 (lire en ligne) +
    4. +
    5. (en) « Georgian president: in my childhood I never thought I'd return to France as a president », sur Agenda.ge, (consulté le ) +
    6. +
    7. (ka) « სალომე ზურაბიშვილის დედა, ზეინაბ კედია გარდაიცვალა », sur Fortuna.ge,‎ (consulté le ) +
    8. +
    9. Alain Piffaretti, « Leuville-sur-Orge, berceau de la communauté géorgienne francilienne », sur Les Echos, (consulté le ) +
    10. +
    11. François Zourabichvili, Deleuze: A Philosophy of the Event, Edinburgh, Edinburgh University Press, (ISBN 978 0 7486 4562 6), p. 38 +
    12. +
    13. (en) « President Zourabichvili Attends Service in Saint Nino Orthodox Church in Paris », sur President.gov.ge, (consulté le ). +
    14. +
    15. a b c d e f g h et i (en) « SALOMÉ ZOURABICHVILI, ALUMNA AND PRESIDENT », sur Sciences Po, (consulté le ) +
    16. +
    17. Richard Descoings, Sciences Po: de la Courneuve à Shanghai, Presses de la Fondation nationale des sciences politiques, (ISBN 978-2-7246-0990-5, OCLC ocm86113501, lire en ligne) +
    18. +
    19. (en) Ulrich Huygevelde, « SALOMÉ ZOURABICHVILI : GÉORGIE-UE : UNE ADHÉSION SANS LE NOM ? », sur EURadio, (consulté le ) +
    20. +
    21. a et b (en) « French Envoy Becomes Georgia’s Foreign Minister », sur Civil Georgia, (consulté le ). +
    22. +
    23. (en) « French Granted Georgian Citizenship, Set to Become Georgia’s Foreign Minister », sur Civil Georgia, (consulté le ). +
    24. +
    25. (ka) « რას ნიშნავს საგარეო საქმეთა მინისტრის პოსტზე სალომე ზურაბიშვილის დანიშვნა », sur Radio Tavisupleba,‎ (consulté le ). +
    26. +
    27. (en) « Georgia Reshuffles Diplomatic Corps », sur Civil Georgia, (consulté le ). +
    28. +
    29. a et b (en) « Georgia Continues the Reshuffling of Diplomatic Corps », sur Civil Georgia, (consulté le ). +
    30. +
    31. (en) « Georgian Foreign Minister Briefs Foreign Diplomats over Abkhazia », sur Civil Georgia, (consulté le ). +
    32. +
    33. (en) « Georgian Diplomatic Corps Discusses Foreign Policy Priorities », sur Civil Georgia, (consulté le ) +
    34. +
    35. (en) « Georgia’s Ambassador to China Appointed », sur Civil Georgia, (consulté le ). +
    36. +
    37. (en) « China Grants 604,000 USD to Georgia », sur Civil Georgia, (consulté le ). +
    38. +
    39. (en) « Georgia Eases Visa Requirements », sur Civil Georgia, (consulté le ). +
    40. +
    41. (en) « Georgia Eased Visa Requirements », sur Civil Georgia, (consulté le ). +
    42. +
    43. (en) « Abashidze Accuses Tbilisi of Incursion Attempt », sur Civil Georgia, (consulté le ). +
    44. +
    45. (en) « Georgia Calls for International Efforts to Solve Adjara Crisis », sur Civil Georgia, (consulté le ). +
    46. +
    47. (en) « PM Meets Foreign Diplomats », sur Civil Georgia, (consulté le ). +
    48. +
    49. (en) « Tbilisi Tries to Tackle Adjarian Conundrum with International Efforts », sur Civil Georgia, (consulté le ). +
    50. +
    51. (en) « Foreign Minister Visits Russia », sur Civil Georgia, (consulté le ). +
    52. +
    53. (en) « Russian, Georgian Foreign Ministers Pledge Cooperation », sur Civil Georgia, (consulté le ). +
    54. +
    55. (en) « Georgia Criticizes CoE’s Stance over Adjara », sur Civil Georgia, (consulté le ). +
    56. +
    57. (en) « Georgian Foreign Minister to Meet CoE Secretary General », sur Civil Georgia, (consulté le ) +
    58. +
    59. (en) « Georgia Angered over CoE », sur Civil Georgia, (consulté le ). +
    60. +
    61. (en) « Georgia, CoE Conflict “Over” », sur Civil Georgia, (consulté le ). +
    62. +
    63. (en) « Russian, Georgian Foreign Ministers Pledge Cooperation », sur Civil Georgia, (consulté le ). +
    64. +
    65. a et b (en) « Georgian, Russian Foreign Ministers Hold Talks », sur Civil Georgia, (consulté le ). +
    66. +
    67. a et b (en) « Georgian Foreign Minister Speaks on Tbilisi-Moscow Ties », sur Civil Georgia, (consulté le ). +
    68. +
    69. (en) « Government Softens Stance over Outlawing Russian Bases », sur Civil Georgia, (consulté le ). +
    70. +
    71. (en) « Zourabichvili Comments on CIS », sur Civil Georgia, (consulté le ). +
    72. +
    73. (en) « Lavrov Refuses to Honor Fallen Soldiers During Visit », sur Civil Georgia, (consulté le ). +
    74. +
    75. (en) « Ties Further Strained Ahead of Lavrov’s Visit », sur Civil Georgia, (consulté le ). +
    76. +
    77. (en) « Tbilisi, Moscow Agree to Intensify Talks », sur Civil Georgia, (consulté le ). +
    78. +
    79. (en) « Russia, Georgia to Activate Talks over Border, Visa Issues », sur Civil Georgia, (consulté le ). +
    80. +
    81. (en) « Russian Foreign Minister Visits Georgia », sur Civil Georgia, (consulté le ). +
    82. +
    83. (en) « Georgian Foreign Minister Comments on Border Monitoring », sur Civil Georgia, (consulté le ). +
    84. +
    85. (en) « Georgia, U.S. Call for Extension of OSCE Border Operation », sur Civil Georgia, (consulté le ). +
    86. +
    87. (en) « Georgia Concerned over Possible Suspension of OSCE Border Monitoring », sur Civil Georgia, (consulté le ). +
    88. +
    89. (en) « Georgia Seeks EU Assistance in Border Monitoring », sur Civil Georgia, (consulté le ). +
    90. +
    91. (en) « Moscow Claims Tbilisi Triggers EU, Russia ‘Confrontation’ », sur Civil Georgia, (consulté le ). +
    92. +
    93. (en) « Conflict Settlement, Border Monitoring Top Georgia-OSCE Relations », sur Civil Georgia, (consulté le ). +
    94. +
    95. (en) « Lithuanian Experts to Assess Georgia’s Border Security Needs », sur Civil Georgia, (consulté le ). +
    96. +
    97. (en) « Ukraine Ready to Send Observers to Russo-Georgian Border », sur Civil Georgia, (consulté le ). +
    98. +
    99. (en) « Georgian Foreign Minister Meets EU Foreign Policy Chief », sur Civil Georgia, (consulté le ). +
    100. +
    101. (en) « Georgia Pushes For Russian Military Bases Pullout », sur Civil Georgia, (consulté le ). +
    102. +
    103. (en) « Tbilisi Offers to Resume Talks with Moscow over Military Bases », sur Civil Georgia, (consulté le ). +
    104. +
    105. (en) « U.S. Secretary of State Meets With Georgian Foreign Minister », sur Civil Georgia, (consulté le ). +
    106. +
    107. a et b (en) « Georgian President Speaks of Recent Pardoning, Anti-vaxxer Clerics, and Foreign Policy », sur Civil Georgia, (consulté le ). +
    108. +
    109. (en) « Tbilisi Offers Moscow Joint Anti-Terrorism Center », sur Civil Georgia, (consulté le ). +
    110. +
    111. (en) « Moscow, Tbilisi Consider Setting up Joint Anti-Terrorism Center », sur Civil Georgia, (consulté le ). +
    112. +
    113. (en) « Parliament to Discuss Resolution Against Russian Bases Today », sur Civil Georgia, (consulté le ). +
    114. +
    115. (en) « Zourabichvili Outlines Georgia’s Position Ahead of Lavrov’s Visit », sur Civil Georgia, (consulté le ). +
    116. +
    117. (en) « Zourabichvili Speaks of Factors Helping Progress in Talks over Military Bases », sur Civil Georgia, (consulté le ). +
    118. +
    119. (en) « Tbilisi, Moscow Agree on Bases Pullout », sur Civil Georgia, (consulté le ). +
    120. +
    121. (en) « Russia, Georgia Upbeat over Talks on Military Bases », sur Civil Georgia, (consulté le ). +
    122. +
    123. (en) « Georgian Leader Boycotts Moscow Visits, as Tbilisi, Moscow Fail to Agree on Bases », sur Civil Georgia, (consulté le ). +
    124. +
    125. (en) « Russia Refuses to Pull Out Bases by 2008 », sur Civil Georgia, (consulté le ). +
    126. +
    127. (en) « Lavrov Comments on Bases », sur Civil Georgia, (consulté le ). +
    128. +
    129. (en) « Officials Say Tbilisi, Moscow Nearing Accord on Bases », sur Civil Georgia, (consulté le ). +
    130. +
    131. (en) « Zourabichvili Explains Refusal on Binding Commitment not to Station Foreign Forces », sur Civil Georgia, (consulté le ). +
    132. +
    133. (en) « AGREEMENTS SIGNED ON RUSSIAN MILITARY WITHDRAWAL FROM GEORGIA », sur Jamestown Foundation, (consulté le ). +
    134. +
    135. (en) « Military Equipment to Leave Batumi Base on July 30 », sur Civil Georgia, (consulté le ). +
    136. +
    137. a b et c (en) « Shooting Incident Blocks Possible Breakthrough in South Ossetia », sur Civil Georgia, (consulté le ). +
    138. +
    139. (en) « Crisis Deepens in Abkhazia – Update », sur Civil Georgia, (consulté le ). +
    140. +
    141. (en) « Russia Warns to Intervene to Stop “Seizure of Power” in Abkhazia », sur Civil Georgia, (consulté le ). +
    142. +
    143. (en) « Georgia Protests Deployment of Russian Peacekeepers in Sokhumi », sur Civil Georgia, (consulté le ). +
    144. +
    145. (en) « Foreign Minister, EU Envoy Discuss Abkhazia », sur Civil Georgia, (consulté le ). +
    146. +
    147. (en) « Russia Sends Mission to Abkhazia », sur Civil Georgia, (consulté le ). +
    148. +
    149. (en) « PM: Talks over Rail Resumption via Abkhazia ‘Untimely’ », sur Civil Georgia, (consulté le ). +
    150. +
    151. (en) « Russian Foreign Minister to Visit Georgia in January », sur Civil Georgia, (consulté le ). +
    152. +
    153. (en) « Abkhaz Official: Bagapsh Ready for Talks with Saakashvili », sur Civil Georgia, (consulté le ). +
    154. +
    155. (en) « Tbilisi Wants Checkpoint at Border between North and South Ossetia », sur Civil Georgia, (consulté le ). +
    156. +
    157. (en) « Tskhinvali Rejects Russo-Georgian Checkpoint at Roki Pass », sur Civil Georgia, (consulté le ). +
    158. +
    159. (en) « Georgia Slams Russian Diplomat », sur Civil Georgia, (consulté le ). +
    160. +
    161. (en) « Tbilisi Protests Appointment of Ex-Russian Official as South Ossetia Security Chief », sur Civil Georgia, (consulté le ). +
    162. +
    163. (en) « Tbilisi in Search for Favorable Peace Process Format for South Ossetia », sur Civil Georgia, (consulté le ). +
    164. +
    165. (ru) « "Россия перед выбором": интервью главы МИД Грузии Саломэ Зурабишвили ИА REGNUM Подробности: https://regnum.ru/news/polit/382323.html Любое использование материалов допускается только при наличии гиперссылки на ИА REGNUM. », sur Regnum,‎ (consulté le ). +
    166. +
    167. (en) « Zourabichvili Describes 2006 as Crucial for Conflict Resolution », sur Civil Georgia, (consulté le ). +
    168. +
    169. (en) « Georgian Foreign Minister Addresses OSCE », sur Civil Georgia, (consulté le ). +
    170. +
    171. (en) « Pulling Back Troops, Georgia Calls for European Help », sur Civil Georgia, (consulté le ). +
    172. +
    173. (en) « Georgian Foreign Minister Visits Bulgaria », sur Civil Georgia, (consulté le ). +
    174. +
    175. (en) « Zourabichvili Outlines Georgia’s Priorities in Relations with OSCE », sur Civil Georgia, (consulté le ). +
    176. +
    177. (en) « Georgian Foreign Minister Criticizes OSCE over S.Ossetia », sur Civil Georgia, (consulté le ). +
    178. +
    179. (en) « Georgia Urges EU to Press Russia over Border Security Issues », sur Civil Georgia, (consulté le ). +
    180. +
    181. (en) « Georgia, Venice Commission Work over South Ossetia Status », sur Civil Georgia, (consulté le ). +
    182. +
    183. (en) « Tbilisi Expects No Breakthrough in Geneva Talks », sur Civil Georgia, (consulté le ). +
    184. +
    185. (en) « Georgian Foreign Minister Reviews 2004 », sur Civil Georgia, (consulté le ). +
    186. +
    187. (en) « EU Boosts Ties with Georgia », sur Civil Georgia, (consulté le ). +
    188. +
    189. (en) « Zourabichvili Pushes Georgian ENP Action Plan in Talks with Straw », sur Civil Georgia, (consulté le ). +
    190. +
    191. (en) « Solana, Zourabichvili Discuss EU-Georgian Ties », sur Civil Georgia, (consulté le ). +
    192. +
    193. (en) « NATO Secretary General Visits Georgia », sur Civil Georgia, (consulté le ). +
    194. +
    195. (en) « Governmental Groups to Coordinate IPAP Implementation », sur Civil Georgia, (consulté le ). +
    196. +
    197. (en) « NATO and Georgia sign transit agreement », sur NATO.int, (consulté le ). +
    198. +
    199. (en) « Major U.S. Aid to Boost Georgia’s Infrastructure », sur Civil Georgia, (consulté le ). +
    200. +
    201. (en) « Georgia Sends More Troops to Iraq », sur Civil Georgia, (consulté le ). +
    202. +
    203. (en) « Georgian Foreign Minister Visits Czech Republic », sur Civil Georgia, (consulté le ). +
    204. +
    205. (en) « Austrian, Georgian Foreign Ministers Discuss Cooperation », sur Civil Georgia, (consulté le ). +
    206. +
    207. (en) « Georgian Foreign Minister Visits Poland », sur Civil Georgia, (consulté le ). +
    208. +
    209. (en) « Georgia, Lithuania Call on Baltic, Caucasus States for Closer Ties », sur Civil Georgia, (consulté le ). +
    210. +
    211. (en) « Georgian, Ukrainian Foreign Ministers Discuss GUUAM », sur Civil Georgia, (consulté le ). +
    212. +
    213. (en) « GUAM Leaders Pledge to Boost Regional Cooperation », sur Civil Georgia, (consulté le ). +
    214. +
    215. (en) « Georgian, Ukrainian Foreign Ministers to Visit Kyrgyzstan », sur Civil Georgia, (consulté le ). +
    216. +
    217. (en) « Georgian Foreign Minister Visits Azerbaijan », sur Civil Georgia, (consulté le ) +
    218. +
    219. a b et c (en) « Foreign Minister, MPs at Odds over Georgia’s UN Membership Fee », sur Civil Georgia, (consulté le ). +
    220. +
    221. (en) « MPs, Foreign Minister at Odds Again », sur Civil Georgia, (consulté le ). +
    222. +
    223. (en) « Burjanadze Wants MFA to Explain Recalling of Ambassador », sur Civil Georgia, (consulté le ). +
    224. +
    225. (en) « New Ambassadorial Nomination Sparks Controversy in Parliament », sur Civil Georgia, (consulté le ). +
    226. +
    227. (en) « MPs Refuse to Vote on Disputed Ambassadorial Nomination », sur Civil Georgia, (consulté le ). +
    228. +
    229. (en) « Deputy Foreign Minister Resigns, Slams Ruling Party », sur Civil Georgia, (consulté le ). +
    230. +
    231. (en) « Saakashivli Urges Diplomatic Corps to Attract Investments », sur Civil Georgia, (consulté le ). +
    232. +
    233. (en) « MPs from Ruling Party Criticize Foreign Minister », sur Civil Georgia, (consulté le ). +
    234. +
    235. (en) « MPs, Foreign Ministry Exchange Criticism », sur Civil Georgia, (consulté le ). +
    236. +
    237. (en) « Georgian Foreign Minister Faces Dismissal », sur Civil Georgia, (consulté le ). +
    238. +
    239. (en) « MP Quits Ruling Party », sur Civil Georgia, (consulté le ). +
    240. +
    241. (en) « PM Postpones U.S. Visit, Amid Calls to Sack Foreign Minister », sur Civil Georgia, (consulté le ). +
    242. +
    243. (en) « Saakashvili Meets Zourabichvili », sur Civil Georgia, (consulté le ). +
    244. +
    245. (en) « Zourabichvili Plans to Set up Public Movement », sur Civil Georgia, (consulté le ). +
    246. +
    247. (en) « Foreign Minister Zourabichvili Sacked », sur Civil Georgia, (consulté le ). +
    248. +
    249. (en) « Sacked Foreign Minister Speaks Out Against Parliament », sur Civil Georgia, (consulté le ). +
    250. +
    251. (en) « State Minister Khaindrava Says Zourabichvili’s Dismissal Mistake », sur Civil Georgia, (consulté le ). +
    252. +
    253. (en) « MPs Want Foreign Minister to Brief on Bases », sur Civil Georgia, (consulté le ). +
    254. +
    255. (en) « Opposition MP Speaks Against Joint Anti-Terrorist Center », sur Civil Georgia, (consulté le ). +
    256. +
    257. (en) « France ‘Applauds’ Zourabichvili’s Work as Foreign Minister », sur Civil Georgia, (consulté le ). +
    258. +
    259. (en) « U.S. Ready to Work with New Foreign Minister », sur Civil Georgia, (consulté le ). +
    260. +
    261. (en) « Lavrov Comments on Ties with Georgia », sur Civil Georgia, (consulté le ). +
    262. +
    263. (en) « Saakashvili Sets Priorities to New Foreign Minister », sur Civil Georgia, (consulté le ). +
    264. +
    265. (en) « President Convenes National Security Council », sur Civil Georgia, (consulté le ). +
    266. +
    267. (en) « New Rights Opposition Slams Zourabichvili’s Dismissal », sur Civil Georgia, (consulté le ). +
    268. +
    269. (en) « Official: No Shifts in Georgia’s Foreign Policy », sur Civil Georgia, (consulté le ). +
    270. +
    271. (en) « New Foreign Minister Appointed », sur Civil Georgia, (consulté le ) +
    272. +
    273. (en) « Georgia to Replace Ambassadors in USA, Spain », sur Civil Georgia, (consulté le ). +
    274. +
    275. (en) « Georgia Replaces Ambassadors », sur Civil Georgia, (consulté le ). +
    276. +
    277. (en) « Thousands Rally in Support of Zourabichvili », sur Civil Georgia, (consulté le ). +
    278. +
    279. (en) « Zourabichvili Gears Up for Politics », sur Civil Georgia, (consulté le ). +
    280. +
    281. (en) « Republicans Express Will for Zourabichvili to Join Party », sur Civil Georgia, (consulté le ). +
    282. +
    283. (en) « Zourabichvili Denies Merger with Two Opposition Parties », sur Civil Georgia, (consulté le ). +
    284. +
    285. (en) « Zourabichvili Plans to Run in Parliamentary Elections », sur Civil Georgia, (consulté le ). +
    286. +
    287. (en) « Ex-Foreign Minister Launches Public Movement », sur Civil Georgia, (consulté le ). +
    288. +
    289. (en) « Demonstrators Protest Against Police ‘High-Handed Tactics’ », sur Civil Georgia, (consulté le ). +
    290. +
    291. (en) « Demonstrators Protest Against Draft Law on Local Self-Governance », sur Civil Georgia, (consulté le ). +
    292. +
    293. (en) « Survey: Saakashvili, National Movement Unchallenged », sur Civil Georgia, (consulté le ). +
    294. +
    295. (en) « Ex-Foreign Minister Speaks of Foreign, Domestic Politics », sur Civil Georgia, (consulté le ). +
    296. +
    297. (en) « State Audit Notes ‘Financial Wrongdoings’ in MFA », sur Civil Georgia, (consulté le ). +
    298. +
    299. (en) « Ex-Foreign Minister Zourabichvili Launches Political Party », sur Civil Georgia, (consulté le ). +
    300. +
    301. (en) « Zourabichvili Returns from Europe, Gears up for Local Elections », sur Civil Georgia, (consulté le ) +
    302. +
    303. a et b (en) « New Party Offers Issue-Based Cooperation with Opposition », sur Civil Georgia, (consulté le ). +
    304. +
    305. (en) « Opposition to Keep Pressure on Interior Minister », sur Civil Georgia, (consulté le ). +
    306. +
    307. (en) « Q&A with Salome Zourabichvili », sur Civil Georgia, (consulté le ) +
    308. +
    309. (en) « MP Wants ‘U.S. Patriot Act-style’ Law in Georgia », sur Civil Georgia, (consulté le ). +
    310. +
    311. (en) « New Opposition Party Holds Inaugural Assembly », sur Civil Georgia, (consulté le ). +
    312. +
    313. (en) « Paper: Opposition Parties in Search of Forms for Cooperation », sur Civil Georgia, (consulté le ) +
    314. +
    315. (en) « MP Calls for Opposition’s Tbilisi Mayor Single Candidate », sur Civil Georgia, (consulté le ). +
    316. +
    317. (en) « Ex-Foreign Minister Signals Tbilisi Mayor Ambition », sur Civil Georgia, (consulté le ). +
    318. +
    319. (en) « Opposition Leader: Teaming up is an Urgent Measure », sur Civil Georgia, (consulté le ). +
    320. +
    321. (en) « Opposition Teams Up to Attack Authorities over Multiple Issues », sur Civil Georgia, (consulté le ). +
    322. +
    323. (en) « Opposition Consults on Elections », sur Civil Georgia, (consulté le ). +
    324. +
    325. (en) « Opposition Scrambles to Prepare for Elections », sur Civil Georgia, (consulté le ). +
    326. +
    327. (en) « New Rights Boycott Elections after Patarkatsishvili Refuses to Run », sur Civil Georgia, (consulté le ). +
    328. +
    329. (en) « Industrialist Party Nominates Tbilisi Mayoral Candidate », sur Civil Georgia, (consulté le ). +
    330. +
    331. (en) « Four Candidates Eye Tbilisi Mayoral Post », sur Civil Georgia, (consulté le ). +
    332. +
    333. (en) « MP Quits Zourabichvili’s Party », sur Civil Georgia, (consulté le ). +
    334. +
    335. (en) « Politicians Comment on Elections », sur Civil Georgia, (consulté le ). +
    336. +
    337. (en) « Calm Campaign Ahead of Polls », sur Civil Georgia, (consulté le ). +
    338. +
    339. (en) « Paving “Georgia’s Way” », sur Civil Georgia, (consulté le ). +
    340. +
    341. (en) « CEC Announces Tbilisi Election Results », sur Civil Georgia, (consulté le ). +
    342. +
    343. (en) « Election Results », sur Civil Georgia, (consulté le ). +
    344. +
    345. (en) « U.S. Official Meets Opposition Leaders », sur Civil Georgia, (consulté le ). +
    346. +
    347. (en) « Opposition Leaders Comment on Tensions with Russia », sur Civil Georgia, (consulté le ). +
    348. +
    349. (en) « MPs Set up Commission to Study Treatment of Georgians in Russia », sur Civil Georgia, (consulté le ). +
    350. +
    351. (en) « Ex-Foreign Minister Skeptical over Tbilisi’s S.Ossetia Tactic », sur Civil Georgia, (consulté le ). +
    352. +
    353. (en) « ‘Patriotic Camp’ Launched in Abkhaz Conflict Zone », sur Civil Georgia, (consulté le ). +
    354. +
    355. (en) « Politicians Comment on UN Abkhazia Report », sur Civil Georgia, (consulté le ). +
    356. +
    357. (en) « Opposition Slams Authorities for ‘Failure to Tackle Air Raid’ », sur Civil Georgia, (consulté le ). +
    358. +
    359. (en) « Opposition Leader Fears Regional Rail Link will Harm Georgia’s Ports », sur Civil Georgia, (consulté le ). +
    360. +
    361. (en) « Opposition Outcry over Church Demolition », sur Civil Georgia, (consulté le ). +
    362. +
    363. (en) « Zourabichvili: New Constitution Not a Priority », sur Civil Georgia, (consulté le ). +
    364. +
    365. (en) « Ruling Party Plays Anti-Russian Card – Opposition Says », sur Civil Georgia, (consulté le ). +
    366. +
    367. (en) « National Council of Unified Public Movement », sur Civil Georgia, (consulté le ). +
    368. +
    369. (en) « Politicians Comment on Constitutional Monarchy Proposal », sur Civil Georgia, (consulté le ). +
    370. +
    371. (en) « Opposition to Address Nixon Center », sur Civil Georgia, (consulté le ). +
    372. +
    373. (en) « Opposition Leaders to Visit Berlin, Paris, Brussels, Washington », sur Civil Georgia, (consulté le ). +
    374. +
    375. (en) « Opposition Stresses its Moderate Credentials », sur Civil Georgia, (consulté le ). +
    376. +
    377. (en) « Opposition Leaders to Meet Solana », sur Civil Georgia, (consulté le ). +
    378. +
    379. (en) « Burjanadze Meets Opposition », sur Civil Georgia, (consulté le ). +
    380. +
    381. (en) « Crisis Recedes as Election Season Begins to Unfold », sur Civil Georgia, (consulté le ). +
    382. +
    383. (en) « Opposition, Government Agree on Talks », sur Civil Georgia, (consulté le ). +
    384. +
    385. (en) « Ex-Foreign Minister Zourabichvili Unveils Presidential Ambitions », sur Civil Georgia, (consulté le ). +
    386. +
    387. (en) « Republicans to Nominate Presidential Candidate in May », sur Civil Georgia, (consulté le ). +
    388. +
    389. (en) « Ex-Foreign Minister Struggles for Presidential Bid », sur Civil Georgia, (consulté le ). +
    390. +
    391. (en) « Opposition Names Gachechiladze to Run for President », sur Civil Georgia, (consulté le ). +
    392. +
    393. (en) « In Quotes: Pundits on Opposition Presidential Candidate », sur Civil Georgia, (consulté le ). +
    394. +
    395. (en) « Opposition, Ruling Party Fail to Resume Talks », sur Civil Georgia, (consulté le ). +
    396. +
    397. (en) « Georgia’s NATO MAP Chances ‘Complicated’ – Ruling Party MP », sur Civil Georgia, (consulté le ). +
    398. +
    399. (en) « Opposition Politician Calls on Burjanadze to Act on Imedi TV », sur Civil Georgia, (consulté le ). +
    400. +
    401. (en) « CEC Starts Posting Vote Tallies », sur Civil Georgia, (consulté le ). +
    402. +
    403. (en) « Bryza Meets Opposition Leaders », sur Civil Georgia, (consulté le ). +
    404. +
    405. (en) « ‘We will not Stop’ – Opposition Tells Thousands at Rally », sur Civil Georgia, (consulté le ). +
    406. +
    407. (en) « ‘We Failed to Protect Votes’ – Opposition Leader », sur Civil Georgia, (consulté le ). +
    408. +
    409. (en) « Opposition Memorandum – January 28 », sur Civil Georgia, (consulté le ). +
    410. +
    411. (en) « Reaction to Patarkatsishvili’s Death », sur Civil Georgia, (consulté le ). +
    412. +
    413. (en) « Conciliatory Moment Passes, as Opposition Makes Demands », sur Civil Georgia, (consulté le ). +
    414. +
    415. (en) « Opposition Leader Visits U.S. », sur Civil Georgia, (consulté le ). +
    416. +
    417. (en) « U.S. Congressional Panel Hearing on Georgia », sur Civil Georgia, (consulté le ). +
    418. +
    419. (en) « Opposition Leaders Visit Estonia », sur Civil Georgia, (consulté le ). +
    420. +
    421. (en) « Opposition’s Appeal to International Community », sur Civil Georgia, (consulté le ). +
    422. +
    423. (en) « Nine-Party Opposition Bloc », sur Civil Georgia, (consulté le ). +
    424. +
    425. (en) « U.S. Official Meets Opposition Leaders », sur Civil Georgia, (consulté le ). +
    426. +
    427. (en) « Opposition Coalition, Labor Party Reaffirm Boycott Plan », sur Civil Georgia, (consulté le ). +
    428. +
    429. (en) « Public TV Board Chair Resigns », sur Civil Georgia, (consulté le ). +
    430. +
    431. (en) « Opposition Coalition Takes Timeout », sur Civil Georgia, (consulté le ). +
    432. +
    433. (en) « Opposition Figures Ready to Cooperate with Authorities on Key Issues », sur Civil Georgia, (consulté le ). +
    434. +
    435. (en) « Opposition Figure Calls for Saakashvili’s Resignation », sur Civil Georgia, (consulté le ). +
    436. +
    437. (en) « Opposition Calls for Democratization in Joint Appeal to Donors », sur Civil Georgia, (consulté le ). +
    438. +
    439. (en) « Opposition Cries Foul Over Enguri HPP Deal », sur Civil Georgia, (consulté le ). +
    440. +
    441. (en) Salome Zourabichvili, « What Lessons Should Georgians Draw From War Probe Findings? », sur Radio Free Europe/Radio Liberty, (consulté le ). +
    442. +
    443. (en) « Salome Zurabishvili’s August War Remarks Draw Criticism from Political Parties », sur Civil Georgia, (consulté le ). +
    444. +
    445. (en) « Timeline of Salome Zurabishvili’s Remarks on August War », sur Civil Georgia, (consulté le ). +
    446. +
    447. (en) « Opposition Politician Walks Out of Meeting with NATO Officials », sur Civil Georgia, (consulté le ). +
    448. +
    449. (en) « Solana Meets Opposition, CSO Leaders », sur Civil Georgia, (consulté le ). +
    450. +
    451. (en) « Some Opposition Leaders React on CDM’s Proposal », sur Civil Georgia, (consulté le ). +
    452. +
    453. (en) « Public Defender Sets up New Movement », sur Civil Georgia, (consulté le ). +
    454. +
    455. (en) « 13 Parties Agree to Jointly Organize Protest Rallies », sur Civil Georgia, (consulté le ). +
    456. +
    457. (en) « Ruling Party Offers Opposition Talks on Three Issues », sur Civil Georgia, (consulté le ). +
    458. +
    459. (en) « Opposition Wants to Intensify Contacts with Diplomats after French Ambassador’s Remarks », sur Civil Georgia, (consulté le ). +
    460. +
    461. (en) « Opposition Leaders Criticize CoE Chief Remarks », sur Civil Georgia, (consulté le ). +
    462. +
    463. (en) « A Fresh Start of Georgia », sur New York Times, (consulté le ). +
    464. +
    465. (en) « Saakashvili, Opposition to Meet on Monday », sur Civil Georgia, (consulté le ). +
    466. +
    467. (en) « After Talks Opposition Calls for Boosting Protests », sur Civil Georgia, (consulté le ). +
    468. +
    469. (en) « Newspaper: Opposition ‘Split’ on Tactic », sur Civil Georgia, (consulté le ). +
    470. +
    471. (en) « Alasania Tells Protesters to Respect Leaders’ Decisions », sur Civil Georgia, (consulté le ). +
    472. +
    473. (en) « Opposition Resorts to Railway Blocking », sur Civil Georgia, (consulté le ) +
    474. +
    475. (en) « Protesters Rally at Municipality », sur Civil Georgia, (consulté le ). +
    476. +
    477. (en) « Opposition Leader to Meet Solana », sur Civil Georgia, (consulté le ). +
    478. +
    479. (en) « EU Envoy Meets Opposition Leaders », sur Civil Georgia, (consulté le ). +
    480. +
    481. (en) « Some Opposition Parties to ‘Welcome’ Biden with Rally », sur Civil Georgia, (consulté le ). +
    482. +
    483. (en) « EU Delegation Meets Opposition », sur Civil Georgia, (consulté le ). +
    484. +
    485. (en) « Zourabichvili’s Bid for Deputy Interior Minister’s Post Seems to Fail », sur Civil Georgia, (consulté le ). +
    486. +
    487. (en) « Opposition Party Says its Office Bugged », sur Civil Georgia, (consulté le ). +
    488. +
    489. (en) « ‘Strict’ Regulations on Party Funding Mulled », sur Civil Georgia, (consulté le ). +
    490. +
    491. (en) « Opposition Condemns Rally-Related Bill », sur Civil Georgia, (consulté le ). +
    492. +
    493. (en) « Opposition Slams Akhalaia’s Appointment as Defense Minister », sur Civil Georgia, (consulté le ). +
    494. +
    495. (en) « Authorities Under Attack over ‘Ukrainian Meddling’ », sur Civil Georgia, (consulté le ). +
    496. +
    497. (en) « Opposition Meets to Discuss Tactics », sur Civil Georgia, (consulté le ) +
    498. +
    499. (en) « Opposition Calls for Elections Under UN Aegis », sur Civil Georgia, (consulté le ). +
    500. +
    501. (en) « Alasania Launches Campaign for Mayor », sur Civil Georgia, (consulté le ). +
    502. +
    503. (en) « Opposition Configuration Vague Ahead of Polls », sur Civil Georgia, (consulté le ). +
    504. +
    505. (en) « Zourabichvili’s Party Joins Alliance for Georgia », sur Civil Georgia, (consulté le ). +
    506. +
    507. (en) « Distribution of Seats in Tbilisi City Council », sur Civil Georgia, (consulté le ). +
    508. +
    509. (en) « Reports: GDDG to Endorse Salome Zurabishvili as Presidential Candidate », sur Civil Georgia, (consulté le ). +
    510. +
    511. (en) « Local Elections Boost Alliance of Patriots’ Ambitions for Parliamentary Polls », sur Civil Georgia, (consulté le ). +
    512. +
    513. (en) « Ex-Foreign Minister Zourabichvili Says ‘Thinking’ over Running for President », sur Civil Georgia, (consulté le ). +
    514. +
    515. (en) « Reports: GDDG to Endorse Salome Zurabishvili as Presidential Candidate », sur Civil Georgia, (consulté le ). +
    516. +
    517. (en) « Court Upholds CEC's Ruling Rejecting Zourabichvili’s Bid to Run in Election », sur Civil Georgia, (consulté le ). +
    518. +
    519. (en) « Ex-Head of CEC Joins Presidential Race », sur Civil Georgia, (consulté le ). +
    520. +
    521. (en) « Dozens Apply to Run for President », sur Civil Georgia, (consulté le ). +
    522. +
    523. (en) « 14 Apply to Run for Tbilisi Mayor », sur Civil Georgia, (consulté le ). +
    524. +
    525. (en) « Mayoral Candidates », sur Civil Georgia, (consulté le ). +
    526. +
    527. (en) « Gamgebeli Candidates », sur Civil Georgia, (consulté le ). +
    528. +
    529. (en) « Watchdog Groups Call for Probe into Reported Pressure of Opposition Candidates », sur Civil Georgia, (consulté le ). +
    530. +
    531. (en) « Round-Up of Local Elections’ Preliminary Results », sur Civil Georgia, (consulté le ). +
    532. +
    533. (en) « Parliament Speaker to Stand for Reelection as Majoritarian MP in Tbilisi », sur Civil Georgia, (consulté le ). +
    534. +
    535. (en) « GDDG Names Majoritarian MP Candidates in Tbilisi », sur Civil Georgia, (consulté le ). +
    536. +
    537. (en) « List of Majoritarian MP Candidates », sur Civil Georgia, (consulté le ). +
    538. +
    539. (en) « Majoritarian MP Elections Preliminary Results », sur Civil Georgia, (consulté le ). +
    540. +
    541. (en) « NGO Coalition Calls for Clarity in Russia Policy », sur Civil Georgia, (consulté le ). +
    542. +
    543. (en) « Preliminary Runoff Results Give Big Lead to GDDG », sur Civil Georgia, (consulté le ). +
    544. +
    545. (en) « GDDG Names Nominees for Legislative Positions », sur Civil Georgia, (consulté le ). +
    546. +
    547. (en) « GDDG Not to Field a Candidate for Presidential Polls, Parliament Speaker Says », sur Civil Georgia, (consulté le ). +
    548. +
    549. (en) « Opposition, Ruling MPs Diverge on Teen Murder Probe Report », sur Civil Georgia, (consulté le ). +
    550. +
    551. (en) « Georgian Politicians Express Fury over EU Representative’s Remarks », sur Civil Georgia, (consulté le ). +
    552. +
    553. (en) « GDDG Not to Field a Candidate for Presidential Polls, Parliament Speaker Says », sur Civil Georgia, (consulté le ). +
    554. +
    555. (en) « GDDG to Agree Presidential Candidate Later This Week, Parliament Speaker Says », sur Civil Georgia, (consulté le ). +
    556. +
    557. (en) « Senior GDDG Lawmaker Calls for Fielding a Party Candidate for Presidential Polls », sur Civil Georgia, (consulté le ). +
    558. +
    559. (en) « Zurabishvili States Her French Citizenship Terminated », sur Civil Georgia, (consulté le ). +
    560. +
    561. (en) « Presidential Elections 2018: Weekly Digest No.1 », sur Civil Georgia, (consulté le ). +
    562. +
    563. (en) « Salome Zurabishvili Launches Presidential Campaign, Outlines Priorities », sur Civil Georgia, (consulté le ). +
    564. +
    565. (en) « Presidential Elections 2018: Weekly Digest No.2 », sur Civil Georgia, (consulté le ). +
    566. +
    567. (en) « Orthodox Patriarch weighs in on Zurabishvili Controversy, Calls for Political Neutrality », sur Civil Georgia, (consulté le ). +
    568. +
    569. (en) « Presidential Elections 2018: Weekly Digest No.3 », sur Civil Georgia, (consulté le ). +
    570. +
    571. (en) « Rustavi 2 TV’s Public Opinion Poll Gives Lead to Opposition Candidates », sur Civil Georgia, (consulté le ). +
    572. +
    573. (en) « Former GD Prime Ministers Express Support to Zurabishvili », sur Civil Georgia, (consulté le ). +
    574. +
    575. (en) « Parties Choose Camps as Runoffs Near », sur Civil Georgia, (consulté le ). +
    576. +
    577. (en) « Georgian Dream Ponders Strategy, as Ivanishvili Meets Party Council », sur Civil Georgia, (consulté le ). +
    578. +
    579. (en) « „იმედი“ მუშაობის საგანგებო რეჟიმზე გადადის », sur Imedi News,‎ (consulté le ). +
    580. +
    581. (en) « ISFED Releases Second Interim Report on Pre-Election Environment », sur Civil Georgia, (consulté le ). +
    582. +
    583. (en) « Salome Zurabishvili Resumes Campaign, Visits Occupation Line », sur Civil Georgia, (consulté le ). +
    584. +
    585. (en) « Study: Hate Speech in Pre-Election Period », sur Civil Georgia, (consulté le ). +
    586. +
    587. (en) « Facts of possible pressure and violence, misuse of administrative resources and interference with campaigning in the third interim report of ISFED », sur ISFED, (consulté le ). +
    588. +
    589. (en) « საქართველოს შეიარაღებული ძალების გენერალური შტაბის ხელმძღვანელობის განცხადება », sur MOD.gov.ge,‎ (consulté le ). +
    590. +
    591. (en) « Zurabishvili Claims Death Threats Received, Blames UNM », sur Civil Georgia, (consulté le ). +
    592. +
    593. (en) « Salome Zurabishvili Continues Campaign Meetings », sur Civil Georgia, (consulté le ). +
    594. +
    595. (en) « Presidential Elections 2018: Weekly Digest No.4 », sur Civil Georgia, (consulté le ). +
    596. +
    597. (en) « Zurabishvili Wins Nearly all Districts in Georgia, Loses Afghanistan, Foreign Vote », sur Civil Georgia, (consulté le ). +
    598. +
    599. (en) « Opposition Files to Court to Annul Zurabishvili Candidacy », sur Civil Georgia, (consulté le ). +
    600. +
    601. (en) « EU Presidents Congratulate Zurabishvili on Election », sur Civil Georgia, (consulté le ). +
    602. +
    603. (en) « Նախագահ Արմեն Սարգսյանը շնորհավորական ուղերձ է hղել Վրաստանի նորընտիր նախագահ Սալոմե Զուրաբիշվիլիին », sur President.am,‎ (consulté le ). +
    604. +
    605. (en) « Presidential election in Georgia (29 November 2018) », sur France Diplomacy, (consulté le ). +
    606. +
    607. (en) « The United States congratulates Salome Zourabichvili on her election as President of Georgia (November 30) », sur US Embassy in Georgia, (consulté le ). +
    608. +
    609. (en) « No: 326, 29 November 2018, Press Release Regarding the Presidential Elections in Georgia », sur MFA.gov.tr, (consulté le ). +
    610. +
    611. (en) « Foreign Leaders Congratulate Zurabishvili on Election Victory », sur Civil Georgia, (consulté le ). +
    612. +
    613. (en) « Margvelashvili Meets Zurabishvili at Presidential Palace », sur Civil Georgia, (consulté le ). +
    614. +
    615. (en) « James Appathurai: More NATO in Georgia Next Year », sur Civil Georgia, (consulté le ). +
    616. +
    617. (en) « Secretary Pompeo, President-elect Zurabishvili Speak by Phone », sur Civil Georgia, (consulté le ). +
    618. +
    619. (en) « Zurabishvili Sworn-in as New President », sur Civil Georgia, (consulté le ). +
    620. +
    621. (en) « Opposition Coalition Rallies, Calls for Early Parliamentary Elections », sur Civil Georgia, (consulté le ). +
    622. +
    623. (en) « Opposition Holds Protest Rallies on Inauguration Day », sur Civil Georgia, (consulté le ). +
    624. +
    625. (en) « Telavi Municipality Tells Opposition to Move the Inauguration Protest », sur Civil Georgia, (consulté le ). +
    626. +
    627. (en) « Presidential Inauguration to be Held in Telavi », sur Civil Georgia, (consulté le ). +
    628. +
    629. (en) « President Zurabishvili’s Inauguration Speech », sur Civil Georgia, (consulté le ). +
    630. +
    631. (en) « New Constitution Enters into Force », sur Civil Georgia, (consulté le ). +
    632. +
    633. (ka) « სალომე ზურაბიშვილი პრეზიდენტობისთვის იბრძოლებს », sur Imedi News,‎ (consulté le ). +
    634. +
    635. (en) « https://civil.ge/archives/270971 », sur Civil Georgia, (consulté le ). +
    636. +
    637. (en) « Cuts Planned in Presidential Administration’s Budget, Staff », sur Civil Georgia, (consulté le ). +
    638. +
    639. (en) « 61 Civil Servants to Leave President’s Administration – Reports », sur Civil Georgia, (consulté le ). +
    640. +
    641. (en) « "s%20administration https://rustavi2.ge/en/news/120337 », sur Rustavi 2, (consulté le ). +
    642. +
    643. (ka) « https://rustavi2.ge/ka/news/120350 », sur Rustavi 2,‎ (consulté le ). +
    644. +
    645. (en) « President Appoints Head of Administration, Parliamentary Secretary », sur Civil Georgia, (consulté le ). +
    646. +
    647. (en) « Chief of President’s Administration to Step Down », sur Civil Georgia, (consulté le ). +
    648. +
    649. (en) « New Ambassadors to France, Israel Appointed », sur Civil Georgia, (consulté le ). +
    650. +
    651. (ka) « საქართველოს პრეზიდენტს ახალი საპარლამენტო მდივანი ჰყავს », sur President.gov.ge,‎ (consulté le ). +
    652. +
    653. (en) « Presidential Administration Confirms Spokesperson’s Dismissal », sur Civil Georgia, (consulté le ). +
    654. +
    655. (en) « President Names Three Candidates for CEC Chair », sur Civil Georgia, (consulté le ). +
    656. +
    657. (en) « CEC Chairpersonship, Membership Candidates Selected », sur Civil Georgia, (consulté le ). +
    658. +
    659. (en) « HCoJ Requests President to Recall Anna Dolidze », sur Civil Georgia, (consulté le ). +
    660. +
    661. (en) « The Daily Dispatch – 22 June », sur Civil Georgia, (consulté le ). +
    662. +
    663. (en) « Anna Dolidze Quits High Council of Justice amid Conflict-of-Interest Controversy », sur Civil Georgia, (consulté le ). +
    664. +
    665. (en) « The Daily Dispatch – July 23 », sur Civil Georgia, (consulté le ). +
    666. +
    667. (en) « New Chief of Georgian Defense Forces Appointed », sur Civil Georgia, (consulté le ). +
    668. +
    669. (en) « Ruling party on the defensive over Russian MP in the Parliament Speaker Seat », sur Civil Georgia, (consulté le ). +
    670. +
    671. (en) « Georgian President Comments on Last Night’s Unrest in Tbilisi », sur Civil Georgia, (consulté le ). +
    672. +
    673. (en) « Address by President Zurabishvili and Q&A », sur Council of Europe, (consulté le ). +
    674. +
    675. (en) « President Zurabishvili Calls for De-escalation », sur Civil Georgia, (consulté le ). +
    676. +
    677. (en) « Government Decries ‘Provocation’, Protesters Gather, as Rustavi 2 TV Anchor Insults Putin. Channel Off Air Citing Threats », sur Civil Georgia, (consulté le ). +
    678. +
    679. (en) « President, PM Regret Downvoting Constitutional Amendments », sur Civil Georgia, (consulté le ). +
    680. +
    681. (en) « Georgian Dream, Opposition Reach Consensus over Electoral Reform », sur Civil Georgia, (consulté le ). +
    682. +
    683. (en) « Georgian Leaders Hail Electoral Reform Agreement », sur Civil Georgia, (consulté le ). +
    684. +
    685. (en) « Georgian Opposition Releases Joint Statement », sur Civil Georgia, (consulté le ). +
    686. +
    687. (en) « MEPs Appeal Georgian President to Consider Pardoning Gigi Ugulava », sur Civil Georgia, (consulté le ). +
    688. +
    689. (en) « Georgian Dream, Opposition on President’s Decision to Pardon Ugulava, Okruashvili », sur Civil Georgia, (consulté le ). +
    690. +
    691. (en) « RISCH, SHAHEEN COMMENT ON PROGRESS OF GEORGIA’S MARCH 8 AGREEMENT », sur United States Senate Committee on Foreign Relations, (consulté le ). +
    692. +
    693. (en) « Georgian Parliament Passes Constitutional Changes on Electoral Reform », sur Civil Georgia, (consulté le ). +
    694. +
    695. (en) « REPORT on the implementation of the EU Association Agreement with Georgia », sur European Parliament, (consulté le ). +
    696. +
    697. (en) « Salome Zurabichvili: ‘Georgia has consolidated its democratic institutions’ », sur Parliamentary Assembly of the Council of Europe, (consulté le ). +
    698. +
    699. (en) « U.S. Senator Suggests Georgian President to Pardon Rurua, Zurabishvili Declines », sur Civil Georgia, (consulté le ). +
    700. +
    701. (en) « Georgia’s Parliamentary Election Date Set for October 31 », sur Civil Georgia, (consulté le ). +
    702. +
    703. (en) « President Zurabishvili Addresses Nation Ahead of Elections », sur Civil Georgia, (consulté le ). +
    704. +
    705. (ka) « პრეზიდენტი - საქართველომ შეძლო და ჩაატარა მშვიდობიანი, სამართლიანი, უსაფრთხო, დემოკრატიული არჩევნები », sur President.gov.ge,‎ (consulté le ). +
    706. +
    707. (en) « ARCHIVED: Georgia’s October 31, 2020 Parliamentary Election Live Blog », sur Civil Georgia, (consulté le ). +
    708. +
    709. (en) « Georgian Parliament Opens Amid Opposition Boycott », sur Civil Georgia, (consulté le ). +
    710. +
    711. (ka) « საქართველოს პრეზიდენტის მიმართვა », sur President.gov.ge,‎ (consulté le ). +
    712. +
    713. (en) « Suspense, Awkward Moments as Parliament Spring Season Opens », sur Civil Georgia, (consulté le ). +
    714. +
    715. (en) « Salome Zourabichvili – President of Georgia HARDtalk », sur BBC Hardtalk, (consulté le ). +
    716. +
    717. (en) « EU Mediation: PM Garibashvili, Opposition Agree to Continue Dialogue », sur Civil Georgia, (consulté le ). +
    718. +
    719. (ka) « საქართველოს პრეზიდენტი - ნუთუ მართლა არ გვესმის, რა მასშტაბის განაცხადი გაკეთდა გუშინ, რა დონის მხარდაჭერის გამოვლენა იყო, და რომ ეს დამოკიდებულება ჩვენგან პასუხს, ანუ პასუხისმგებლობის აღებას ითხოვს », sur President.gov.ge,‎ (consulté le ). +
    720. +
    721. (en) « President Talks Unity, Euro-Atlantic Path, Namakhvani in April 9 Address to Parliament », sur Civil Georgia, (consulté le ). +
    722. +
    723. (en) « President to Pardon Rurua if Parties Agree on Compromise », sur Civil Georgia, (consulté le ). +
    724. +
    725. (en) « Statement by the Delegation of the European Union to Georgia on the implementation of the EU-mediated agreement of 19 April », sur Delegation of the European Union to Georgia, (consulté le ). +
    726. +
    727. (en) « Georgian Dream, Opposition, Except for UNM, EG, Sign EU Proposal », sur Civil Georgia, (consulté le ). +
    728. +
    729. a et b (en) « President Michel Visits Tbilisi, Meets Georgian Leaders », sur Civil Georgia, (consulté le ). +
    730. +
    731. (en) Salome Zourabichvili et Charles Michel, « Georgia's future is European View », sur Euronews, (consulté le ). +
    732. +
    733. (en) « President Criticizes ‘Rushed’ Administrative Code Amendments, Refrains from Veto », sur Civil Georgia, (consulté le ). +
    734. +
    735. (en) « Statement by president Charles Michel on the political situation in Georgia », sur European Council, (consulté le ). +
    736. +
    737. « La présidente de Géorgie, Salomé Zourabichvili : "Nous ne sommes plus l'arrière-cour de la Russie" », sur Le Journal du dimanche, (consulté le ). +
    738. +
    739. (en) « President Warns Against Unrest Amid Reports of Saakashvili’s Arrival », sur Civil Georgia, (consulté le ). +
    740. +
    741. (en) « Zurabishvili Vows to ‘Never’ Pardon Saakashvili », sur Civil Georgia, (consulté le ). +
    742. +
    743. (ru) « Депутаты Верховной Рады обратились к президенту и премьер-министру Грузии », sur Gordon Ukraine,‎ (consulté le ). +
    744. +
    745. (ka) « პრეზიდენტი: ნებისმიერი სახელმწიფოსთვის ყოფილი პრეზიდენტის დაპატიმრება დიდი გამოწვევაა - ქვეყნის სიმშვიდისათვის მაქსიმალურად უნდა იყოს გააზრებული ნებისმიერი სიტყვა, თუ ქმედება », sur Présidence de Géorgie,‎ (consulté le ). +
    746. +
    747. (ka) « საქართველოს პრეზიდენტის განცხადება », sur Présidence de Géorgie,‎ (consulté le ). +
    748. +
    749. a et b (en) « Renewed Talks of National Accord: Are Things Different Now? », sur Civil Georgia, (consulté le ). +
    750. +
    751. a b c d e et f (en) « At New Year Reception, Zurabishvili Talks ‘National Accord’ », sur Civil Georgia, (consulté le ). +
    752. +
    753. (en) « UNM Leader Announces Mass Hunger Strike », sur Civil Georgia, (consulté le ). +
    754. +
    755. (en) « Full Text: President Zurabishvili’s Independence Day Speech », sur Civil Georgia, (consulté le ). +
    756. +
    757. a b et c (en) « In Parliament, President Slams Ruling Georgian Dream, Opposition », sur Civil Georgia, (consulté le ). +
    758. +
    759. « Salomé Zourabichvili: rejoindre l’Union européenne à tout prix », sur LEFIGARO, (consulté le ) +
    760. +
    761. (en) « Zurabishvili Scolds Georgian Dream Over Quitting EU-Brokered Deal », sur Civil Georgia, (consulté le ). +
    762. +
    763. (en) « Zurabishvili Says EU Aid Refusal ‘Incomprehensible’ », sur Civil Georgia, (consulté le ). +
    764. +
    765. (ka) « მიუღებელია “რაინეარის” რეისის იძულებითი დაშვება და ჟურნალისტის დაკავება — ზურაბიშვილი », sur Netgazeti,‎ (consulté le ). +
    766. +
    767. a et b (en) « President Against Rushed Review of Bill Abolishing State Inspector », sur Civil Georgia, (consulté le ) +
    768. +
    769. (en) « President OKs Dissolving State Inspector, Controversial Court Law Changes », sur Civil Georgia, (consulté le ). +
    770. +
    771. (en) « Kobakhidze Lashes Out at EU Ambassador », sur Civil Georgia, (consulté le ). +
    772. +
    773. (en) « GD Chair Lambasts President over Independence Day Speech », sur Civil Georgia, (consulté le ). +
    774. +
    775. a et b (en) « Georgia’s President Hints Divergence from PM’s Ukraine Rhetoric », sur Civil Georgia, (consulté le ). +
    776. +
    777. (en) « Georgia’s Ruling Party Rejects Parliamentary Session on Ukraine », sur Civil Georgia, (consulté le ). +
    778. +
    779. a et b (en) « Georgian Gov’t to Sue President in Constitutional Court », sur Civil Georgia, (consulté le ). +
    780. +
    781. (en) « President Slams Gov’t Over ‘Spoiled Work’ in Brussels », sur Civil Georgia, (consulté le ). +
    782. +
    783. (en) « President Talks Forthcoming Legal Dispute With Gov’t, GD Stance on Ukraine », sur Civil Georgia, (consulté le ). +
    784. +
    785. a et b (en) « Georgia’s President Says Gov’t Refused her Visits in Europe », sur Civil Georgia, (consulté le ). +
    786. +
    787. (en) « GD Adopts Key Legal Changes to Sue President », sur Civil Georgia, (consulté le ). +
    788. +
    789. (en) « Watchdog says President’s Europe Visit Did Not Violate Constitution », sur Civil Georgia, (consulté le ). +
    790. +
    791. (en) « Georgian Govt Sues President Over Ambassadorial Appointments », sur Civil Georgia, (consulté le ). +
    792. +
    793. (en) « Georgia’s President Contradicts Government on Diplomatic Appointments », sur Civil Georgia, (consulté le ). +
    794. +
    795. (en) « President Selects Davit Bakradze as Ambassador to UN Despite Misgivings », sur Civil Georgia, (consulté le ). +
    796. +
    797. (en) « President Vetoes Controversial Surveillance Bill », sur Civil Georgia, (consulté le ). +
    798. +
    799. (en) « Probe Into Alleged Mass Wiretapping Ineffective, Watchdogs Say », sur Civil Georgia, (consulté le ). +
    800. +
    801. (en) « Georgian Dream Sees No Reason for Special Parliamentary Session, says Ruling Party MP », sur Civil Georgia, (consulté le ). +
    802. +
    803. (en) « Zurabishvili Says Gov’t Makes Hard to Defend EU Candidacy », sur Civil Georgia, (consulté le ). +
    804. +
    805. (en) « GD Split-off MPs: EU Candidacy “Mousetrap” for Govt », sur Civil Georgia, (consulté le ). +
    806. +
    807. (en) « Ambassador to France Quits, Citing Pressure », sur Civil Georgia, (consulté le ). +
    808. +
    809. (en) « Election Commission Accuses President of Political Bias in Nominations », sur Civil Georgia, (consulté le ). +
    810. +
    811. «Agents étrangers»: les Géorgiens dans la rue pour contrer «la loi russe», sur LEFIGARO, (consulté le ) +
    812. +
    813. « En Géorgie, plusieurs milliers de manifestants défilent contre la loi sur les « agents étrangers » », Le Monde.fr,‎ (lire en ligne, consulté le ) +
    814. +
    815. « Cette loi digne de l’ère soviétique déclenche des manifestations monstres en Géorgie », sur Le HuffPost, (consulté le ) +
    816. +
    817. « Manifestations en Géorgie contre une loi controversée : la présidente soutient les manifestants », sur France 24, (consulté le ) +
    818. +
    819. « Géorgie : le parti au pouvoir retire son projet de loi sur les "agents de l'étranger" », sur France 24, (consulté le ) +
    820. +
    821. RFI, « En Géorgie, un célèbre journaliste pro-opposition gracié par la présidente », sur RFI, (consulté le ) +
    822. +
    823. « En Géorgie, la présidente gracie un journaliste de l’opposition », Le Monde.fr,‎ (lire en ligne, consulté le ) +
    824. +
    825. Ouest-France, « Géorgie : le parti au pouvoir veut la destitution de la présidente proeuropéenne », sur Ouest-France.fr, (consulté le ) +
    826. +
    827. « En Géorgie, le parti au pouvoir veut destituer la présidente pro-européenne - Le Temps », Le Temps,‎ (ISSN 1423-3967, lire en ligne, consulté le ) +
    828. +
    829. « Géorgie : la Cour constitutionnelle autorise l'ouverture d'une procédure de destitution contre la présidente », sur Le Figaro, (consulté le ) +
    830. +
    831. « En Géorgie, le parti au pouvoir échoue à destituer la présidente pro-occidentale », Le Monde.fr,‎ (lire en ligne, consulté le ) +
    832. +
    833. (en) « The Daily Dispatch – June 15 », sur Civil Georgia, (consulté le ). +
    834. +
    835. (en) « Georgia’s Energy Independence Linked with HPPs, says President », sur Civil Georgia, (consulté le ). +
    836. +
    837. (en) « Europe’s top heritage award winners celebrated in Paris », sur Europa Nostra, (consulté le ). +
    838. +
    839. (en) Salome Zourabichvili, « President Salome Zurabishvili: ‘Putting Georgia on the World Map – One Year of Active Diplomacy’ », sur Civil Georgia, (consulté le ) +
    840. +
    841. « Salomé Zourabichvili : « L’Europe de demain aura besoin de tous, de la Grande-Bretagne à la Géorgie » », sur Le Monde, (consulté le ). +
    842. +
    843. (en) « Georgian Leaders Congratulate Azerbaijani Co-Citizens on Nowruz Celebrations », sur Civil Georgia, (consulté le ). +
    844. +
    845. (en) « Zurabishvili Visits Samtskhe-Javakheti, Stresses Importance of Learning Georgian Language », sur Civil Georgia, (consulté le ). +
    846. +
    847. (en) « საქართველოს პრეზიდენტი - არავის აქვს უფლება ჩრდილი მიაყენოს ჩვენს ისტორიულ მონაპოვარს, შემწყნარებლობასა და ტოლერანტობას », sur President.gov.ge,‎ (consulté le ) +
    848. +
    849. (ka) « „ქართული ჯარი არის ძლიერი და ჩვენ გვყავს გმირი სამხედროები“ - ირაკლი ღარიბაშვილი », sur MOD.gov.ge,‎ (consulté le ). +
    850. +
    851. (en) « President Zurabishvili under Fire over Army-related Remarks », sur Civil Georgia, (consulté le ). +
    852. +
    853. (en) « WHO Regional Director for Europe Concludes Georgia Visit », sur Civil Georgia, (consulté le ). +
    854. +
    855. (en) « COVID-19 in Georgia Live Blog – March 2020 / Archived », sur Civil Georgia, (consulté le ). +
    856. +
    857. (en) « Georgia Declares State of Emergency to Halt Coronavirus Spread », sur Civil Georgia, (consulté le ). +
    858. +
    859. (en) « Georgian Parliament Authorizes State of Emergency over Coronavirus », sur Civil Georgia, (consulté le ). +
    860. +
    861. (en) « COVID-19: Georgia Extends State of Emergency until May 22 », sur Civil Georgia, (consulté le ). +
    862. +
    863. (en) « COVID-19: Georgian President Urges Citizens to “Abide by Law and Stay Home” », sur Civil Georgia, (consulté le ). +
    864. +
    865. (en) « President Talks Unity, Euro-Atlantic Path, Namakhvani in April 9 Address to Parliament », sur Civil Georgia, (consulté le ). +
    866. +
    867. (en) « COVID-19 in Georgia Live Blog – April 2020 / Archived », sur Civil Georgia, (consulté le ). +
    868. +
    869. (en) « Russia Speaks against Lugar Center », sur Civil Georgia, (consulté le ). +
    870. +
    871. (ka) « პრეზიდენტის განცხადება », sur Présidence de Géorgie,‎ (consulté le ). +
    872. +
    873. (en) « OSCE Chairperson-in-Office Visits Georgia », sur Civil Georgia, (consulté le ). +
    874. +
    875. (en) « U.S. Assistant State Secretary Visits Tbilisi », sur Civil Georgia, (consulté le ). +
    876. +
    877. (en) « President Slams Gov’t Inaction Over Russia-friendly Far-right », sur Civil Georgia, (consulté le ). +
    878. +
    879. (en) « Patriarch’s Freedom of Speech Remarks Draw Mixed Reaction from Politicians, CSOs », sur Civil Georgia, (consulté le ). +
    880. +
    881. (en) « Media Watchdogs Want Clarity over Political Leaders’ Defamation-related Remarks », sur Civil Georgia, (consulté le ). +
    882. +
    883. (en) « President Zurabishvili Hosts First Press Conference », sur Civil Georgia, (consulté le ). +
    884. +
    885. (en) « President Zurabishvili Addresses the Parliament », sur Civil Georgia, (consulté le ). +
    886. +
    887. (en) « President under Fire over Pardoning Inmate Charged for Police Murder », sur Civil Georgia, (consulté le ). +
    888. +
    889. (ka) « პრეზიდენტმა კიდევ ერთი მკვლელობისთვის მსჯავრდებული შეიწყალა », sur Imedi News,‎ (consulté le ). +
    890. +
    891. (en) « President’s Parliamentary Secretary Denies Involvement in Recent Presidential Pardon », sur Civil Georgia, (consulté le ). +
    892. +
    893. (ka) « საქართველოს პროკურატურის განცხადება », sur Bureau du Procureur de Géorgie,‎ (consulté le ). +
    894. +
    895. (en) « Facing Criticism, President Suspends Pardons », sur Civil Georgia, (consulté le ). +
    896. +
    897. (en) « New Inmate Pardoning Rule Discussed at President’s Administration », sur Civil Georgia, (consulté le ). +
    898. +
    899. (en) « 2019: The Year in Review », sur Civil Georgia, (consulté le ). +
    900. +
    901. (en) « President Zurabishvili Signs New Inmate Pardoning Rule », sur Civil Georgia, (consulté le ). +
    902. +
    903. (en) « Orthodox Patriarch weighs in on Zurabishvili Controversy, Calls for Political Neutrality », sur Civil Georgia, (consulté le ). +
    904. +
    905. (en) « Irakli Shotadze – Prosecutor who Came in from the Cold? », sur Civil Georgia, (consulté le ). +
    906. +
    907. (en) « COVID-19: Georgian President Urges Citizens to “Abide by Law and Stay Home” », sur Civil Georgia, (consulté le ). +
    908. +
    909. (en) « Georgian President Speaks of Recent Pardoning, Anti-vaxxer Clerics, and Foreign Policy », sur Civil Georgia, (consulté le ). +
    910. +
    911. (en) « Georgia’s President Backs Autocephaly of Ukrainian Church », sur Civil Georgia, (consulté le ). +
    912. +
    913. (ka) « საქართველოს პრეზიდენტმა ვატიკანში რომის პაპთან აუდიენცია გამართა », sur Présidence de la Géorgie,‎ (consulté le ). +
    914. +
    915. (en) « Sistine Chapel Hosts Georgian Concert », sur Civil Georgia, (consulté le ). +
    916. +
    917. (en) Katy Dartford, « Euronews speaks to Georgia’s new President-elect, Salome Zurabishvili », sur Euronews, (consulté le ). +
    918. +
    919. Salome Zourabichvili, « Salomé Zourabichvili : « L’Europe de demain aura besoin de tous, de la Grande-Bretagne à la Géorgie » », sur Le Monde, (consulté le ). +
    920. +
    921. (en) Salome Zourabichvili, « President Salome Zurabishvili: „Forward on the Road to Europe“ », sur Civil Georgia, (consulté le ). +
    922. +
    923. (en) « The Dispatch – April 9/10: Memories of Choice », sur Civil Georgia, (consulté le ). +
    924. +
    925. (ka) « EBRD-ის პრეზიდენტი საქართველოს პრეზიდენტს - EBRD მზადაა შავი ზღვის როლის გაძლიერების კუთხით საქართველოსთან თანამშრომლობის გაღრმავებისათვის », sur Présidence de Géorgie,‎ (consulté le ). +
    926. +
    927. (ka) « პრეზიდენტმა ევროპარლამენტის პრეზიდენტთან ქართველი და ევროკავშირის ქვეყნების სტუდენტების სწავლის საფასურის გათანაბრების საკითხი დააყენა », sur Présidence de Géorgie,‎ (consulté le ). +
    928. +
    929. (en) « President Zurabishvili Meets Tusk, Juncker in Brussels », sur Civil Georgia, (consulté le ). +
    930. +
    931. « SALOMÉ ZOURABICHVILI : GÉORGIE-UE : UNE ADHÉSION SANS LE NOM ? », sur EU Radio, (consulté le ). +
    932. +
    933. (bg) « България и Грузия ще работят за увеличаване на свързаността, икономическия обмен и туризма в Черноморския регион », sur Présidence de Bulgarie,‎ (consulté le ). +
    934. +
    935. (en) « Press Statement of H.E. President of Latvia Mr Raimonds Vējonis after the meeting with H.E. President of Georgia Ms Salome Zourabichvili », sur Présidence de Lettonie, (consulté le ). +
    936. +
    937. (en) « President Kaljulaid: Estonian-Georgian Relations ‘Steady, in Good Condition’ », sur Civil Georgia, (consulté le ). +
    938. +
    939. (en) « The President of Georgia is coming to Lithuania », sur Présidence de Lituanie, (consulté le ). +
    940. +
    941. (en) « President: Poland supports Georgia's NATO and EU membership aspirations », sur Présidence de Pologne, (consulté le ). +
    942. +
    943. (en) « Georgian, Cypriot Presidents Discuss Deepening Bilateral Ties », sur Civil Georgia, (consulté le ). +
    944. +
    945. (en) « Hungarian, Georgian Presidents Pledge to Deepen Ties », sur Civil Georgia, (consulté le ). +
    946. +
    947. (en) « Official visit to Georgia », sur Présidence d'Allemagne, (consulté le ). +
    948. +
    949. (en) « Georgian, Austrian Presidents Meet in Vienna », sur Civil Georgia, (consulté le ). +
    950. +
    951. (en) « President Zurabishvili Visits Cyprus », sur Civil Georgia, (consulté le ). +
    952. +
    953. (en) « Georgian, French Presidents Meet, Pledge to Deepen Ties », sur Civil Georgia, (consulté le ). +
    954. +
    955. (en) « U.S. President, Other Foreign Leaders Congratulate Georgia With Independence Day », sur Civil Georgia, (consulté le ). +
    956. +
    957. (ka) « საქართველოს პრეზიდენტმა სამუშაო ვიზიტი საფრანგეთში ემანუელ მაკრონთან შეხვედრით დაასრულა », sur Présidence de la Géorgie,‎ (consulté le ). +
    958. +
    959. (ka) « საქართველოს პრეზიდენტმა დიმიტრი ამილახვარს საქართველოს ეროვნული გმირის წოდება მიანიჭა », sur Présidence de Géorgie,‎ (consulté le ). +
    960. +
    961. (ka) « საქართველოს პრეზიდენტმა პარიზში ქართული ემიგრაციის გამორჩეული წარმომადგენლები დააჯილდოვა », sur Présidence de Géorgie,‎ (consulté le ). +
    962. +
    963. (en) « ‘Major Concern’ if Le Pen Wins – Georgia’s President », sur Civil Georgia, (consulté le ). +
    964. +
    965. (en) « European Commission President Addresses Georgian President », sur Civil Georgia, (consulté le ). +
    966. +
    967. (en) « Zurabishvili, Zelensky Meet in Kyiv », sur Civil Georgia, (consulté le ). +
    968. +
    969. (en) « Zelenskyy’s Vice PM Offer for Saakashvili Angers Georgian President », sur Civil Georgia, (consulté le ). +
    970. +
    971. (ka) « საქართველოსა და უკრაინის პრეზიდენტებს შორის სატელეფონო საუბარი შედგა », sur Présidence de Géorgie,‎ (consulté le ). +
    972. +
    973. (en) « President Zurabishvili Visits Kyiv », sur Civil Georgia, (consulté le ). +
    974. +
    975. (en) « President Zurabishvili Pardons Ukrainian Sailors », sur Civil Georgia, (consulté le ). +
    976. +
    977. « Guerre en Ukraine. La Géorgie va déposer une demande d’adhésion à l’Union Européenne. » Accès libre, sur ouest-france.fr, Ouest-France, (consulté le ). +
    978. +
    979. (en) « Zurabishvili Calls for Unity as Georgia Receives EU Questionnaire », sur Civil Georgia, (consulté le ). +
    980. +
    981. (en) « Georgian, Italian Presidents Talk EU Bid in Rome », sur Civil Georgia, (consulté le ). +
    982. +
    983. (en) « Message to Georgians by France’s Macron, Presidents of Commission, European Council », sur Civil Georgia, (consulté le ). +
    984. +
    985. (en) « Opposition, President Skeptical About GD’s EU Candidacy Plan », sur Civil Georgia, (consulté le ). +
    986. +
    987. (en) « President Sums Up EU, NATO Meetings », sur Civil Georgia, (consulté le ). +
    988. +
    989. (en) « Georgian Leaders Reiterate NATO Membership a Priority », sur Civil Georgia, (consulté le ). +
    990. +
    991. (en) « Secretary General welcomes President of Georgia to NATO », sur OTAN, (consulté le ). +
    992. +
    993. (ka) « საქართველოს პრეზიდენტი სალომე ზურაბიშვილი ავღანეთში იმყოფებოდა », sur Ministère de la Défense de Géorgie,‎ (consulté le ). +
    994. +
    995. (en) « NATO Secretary General speaks with Georgian President Salome Zourabishvili », sur OTAN, (consulté le ). +
    996. +
    997. (en) « Interview: Salome Zurabishvili, President of Georgia », sur Civil Georgia, (consulté le ). +
    998. +
    999. (en) « The Dispatch – 23 January », sur Civil Georgia, (consulté le ). +
    1000. +
    1001. (en) « NATO Military Committee Chairman Visits Tbilisi », sur Civil Georgia, (consulté le ). +
    1002. +
    1003. (en) « NATO’s Appathurai Meets Georgian Leaders », sur Civil Georgia, (consulté le ). +
    1004. +
    1005. (ka) « პრეზიდენტი სამხრეთ კავკასიასა და ცენტრალურ აზიაში ნატოს გენერალური მდივნის ახლადდანიშნულ სპეციალურ წარმომადგენელს შეხვდა », sur Présidence de Géorgie,‎ (consulté le ). +
    1006. +
    1007. (en) Tamar Kintsurashvili and Sopho Gelava, « ANTI-WESTERN PROPAGANDA -2019 », sur Media Development Foundation (consulté le ) +
    1008. +
    1009. (en) « Multinational Noble Partner Drills Wrapped up in Georgia », sur Civil Georgia, (consulté le ). +
    1010. +
    1011. (ka) « სალომე ზურაბიშვილი მაიკ პომპეოს: "მშვიდობიანი, სტაბილური და დემოკრატიული კავკასია ჩვენს რეგიონს და მსოფლიოს სჭირდება" », sur Présidence de Géorgie,‎ (consulté le ). +
    1012. +
    1013. (en) « President-Elect Talks Foreign Policy, Announces First Visit to Brussels », sur Civil Georgia, (consulté le ). +
    1014. +
    1015. (en) « Georgian, Foreign Officials Address Defense and Security Conference in Batumi », sur Civil Georgia, (consulté le ). +
    1016. +
    1017. (en) « On War Anniversary Georgian Leaders Speak of National Consolidation », sur Civil Georgia, (consulté le ). +
    1018. +
    1019. (en) « Georgian President Decries Bichvinta Transfer », sur Civil Georgia, (consulté le ). +
    1020. +
    1021. (ka) « პრეზიდენტის ადმინისტრაციამ კონსტიტუციის ქართულ-აფხაზური ვერსია გამოსცა », sur Présidence de Géorgie,‎ (consulté le ). +
    1022. +
    1023. (ru) « Комментарий МИД Абхазии », sur MFAApsny.org,‎ (consulté le ) +
    1024. +
    1025. (en) « The Daily Dispatch – September 8 », sur Civil Georgia, (consulté le ). +
    1026. +
    1027. (ka) « საქართველოს პრეზიდენტი - დღევანდელ ტრაგედიაზე პასუხისმგებლობა საოკუპაციო რეჟიმს ეკისრება », sur Civil Georgia,‎ (consulté le ). +
    1028. +
    1029. (en) « Georgian, Russian Diplomats Talk Bilateral Ties, NATO », sur Civil Georgia, (consulté le ). +
    1030. +
    1031. a b et c (ka) « ინტერვიუ საქართველოს პრეზიდენტთან - სალომე ზურაბიშვილი „თავისუფალი ხედვაში“ », sur 1TV.ge,‎ (consulté le ). +
    1032. +
    1033. (en) Irakli Sirbalidze, « Lavrov’s Possible Georgia Visit: Russia has Responsibilities too », sur Civil Georgia, (consulté le ). +
    1034. +
    1035. (en) « Georgian Politicians on Renewed ‘Borderization’ on Tbilisi-administered Territory », sur Civil Georgia, (consulté le ). +
    1036. +
    1037. (en) « Georgian President, Prime Minister on August War Anniversary », sur Civil Georgia, (consulté le ). +
    1038. +
    1039. (en) « German, Georgian Presidents Meet in Tbilisi », sur Civil Georgia, (consulté le ). +
    1040. +
    1041. (en) « Serbian FM Ivica Dacic Meets Georgian Leaders in Tbilisi », sur Civil Georgia, (consulté le ). +
    1042. +
    1043. (en) « Zurabishvili Meets German President, Chancellor in Berlin », sur Civil Georgia, (consulté le ). +
    1044. +
    1045. (en) « President Calls for Releasing Georgian Doctor Detained in Tskhinvali », sur Civil Georgia, (consulté le ). +
    1046. +
    1047. (en) « Georgian, Foreign Officials Condemn Tskhinvali Decision to Imprison Doctor Gaprindashvili », sur Civil Georgia, (consulté le ). +
    1048. +
    1049. (en) « President Zurabishvili Addresses Intl Community over Situation in Occupied Tskhinvali », sur Civil Georgia, (consulté le ). +
    1050. +
    1051. (en) « President Zurabishvili Concludes Paris Visit », sur Civil Georgia, (consulté le ). +
    1052. +
    1053. (en) « Russia “Suffers from Ancient Imperial Motives,” Says Georgian President », sur Civil Georgia, (consulté le ). +
    1054. +
    1055. (en) « NATO Should Host Georgian, Ukrainian Leaders in Madrid, Says Polish President », sur Civil Georgia, (consulté le ). +
    1056. +
    1057. (en) « Georgia’s President Talks Ukraine, Russia », sur Civil Georgia, (consulté le ). +
    1058. +
    1059. (en) « Georgia Reacts to Russia’s Attack on Ukraine », sur Civil Georgia, (consulté le ). +
    1060. +
    1061. (en) « Georgia’s Ruling Party Rejects Parliamentary Session on Ukraine », sur Civil Georgia, (consulté le ). +
    1062. +
    1063. (en) « Zurabishvili Talks Ukraine on Phone with Michel, Macron », sur Civil Georgia, (consulté le ). +
    1064. +
    1065. (en) « Georgian, German Presidents Hold Phone Talk », sur Civil Georgia, (consulté le ). +
    1066. +
    1067. (en) « Georgian President, Dutch PM Speak Over Phone », sur Civil Georgia, (consulté le ). +
    1068. +
    1069. (en) « Georgian, Ukrainian Presidents Speak on Phone », sur Civil Georgia, (consulté le ). +
    1070. +
    1071. (en) « President Zurabishvili Meets EU Leaders », sur Civil Georgia, (consulté le ). +
    1072. +
    1073. (en) « Putin’s Russia ‘Totalitarian, Dictatorial Regime,’ Georgian President Says », sur Civil Georgia, (consulté le ). +
    1074. +
    1075. (en) « U.S. Commends Zurabishvili, Georgian People over Ukraine », sur Civil Georgia, (consulté le ). +
    1076. +
    1077. (en) « U.S. Congressman Talks “Troubling Trends” in Georgia », sur Civil Georgia, (consulté le ). +
    1078. +
    1079. (en) « President Zurabishvili Meets German Counterpart in Berlin », sur Civil Georgia, (consulté le ). +
    1080. +
    1081. (en) « In Photos », sur Civil Georgia, (consulté le ). +
    1082. +
    1083. (en) « Survey Shows Georgians Want More Gov’t Support to Ukraine », sur Civil Georgia, (consulté le ) +
    1084. +
    1085. (en) « Azerbaijani, Georgian presidents made press statements », sur Présidence d'Azerbaidjan, (consulté le ). +
    1086. +
    1087. (en) « Azerbaijani Border Guards Reportedly Close Access to parts of David Gareji Monastery », sur Civil Georgia, (consulté le ). +
    1088. +
    1089. (en) « Georgia-Azerbaijan commission to talk border next week », sur Civil Georgia, (consulté le ). +
    1090. +
    1091. (en) « Georgian, Armenian Presidents Discuss Enhancing Cooperation », sur Civil Georgia, (consulté le ). +
    1092. +
    1093. (en) « The Daily Dispatch – July 14 », sur Civil Georgia, (consulté le ). +
    1094. +
    1095. (en) « Georgian President Calls for Peace in Nagorno-Karabakh », sur Civil Georgia, (consulté le ). +
    1096. +
    1097. (ka) « ღამის კურიერის სპეციალური გამოშვება - ექსკლუზიური ინტერვიუ საქართველოს პრეზიდენტ სალომე ზურაბიშვილთან - 4 ოქტომბერი, 2020 », sur Rustavi 2,‎ (consulté le ). +
    1098. +
    1099. (en) « Ivanishvili-Founded University Opens in Kutaisi, Welcomes First Cohort of Students », sur Civil Georgia, (consulté le ). +
    1100. +
    1101. (en) « Georgian President Reacts to Karabakh Deal », sur Civil Georgia, (consulté le ). +
    1102. +
    1103. (en) « The Dispatch – December 23 », sur Civil Georgia, (consulté le ). +
    1104. +
    1105. (en) « Georgia-U.S. Mediation: Azerbaijan Swaps 15 Armenian Captives for Mine Maps », sur Civil Georgia, (consulté le ). +
    1106. +
    1107. (en) « Georgian, Malaysian Speakers Pledge to Deepen Ties », sur Civil Georgia, (consulté le ). +
    1108. +
    1109. (en) Salome Zourabichvili, « President Salome Zurabishvili: ‘Putting Georgia on the World Map – One Year of Active Diplomacy’ », sur Civil Georgia, (consulté le ). +
    1110. +
    1111. (en) « President Zurabishvili Concludes Japan Visit », sur Civil Georgia, (consulté le ). +
    1112. +
    1113. (en) « President Zurabishvili Addresses UNGA High-Level Meeting », sur Civil Georgia, (consulté le ). +
    1114. +
    1115. (en) « President Zurabishvili Begins Brussels Visit », sur Civil Georgia, (consulté le ). +
    1116. +
    1117. (en) « Georgian President Zurabishvili pays first official visit to North Macedonia », sur Agenda.ge, (consulté le ). +
    1118. +
    1119. (ka) « საქართველოს პრეზიდენტმა მონაკოს სამთავროს პრინცი საქართველოში მოიწვია », sur Présidence de Géorgie,‎ (consulté le ). +
    1120. +
    1121. (ka) « საქართველოს პრეზიდენტი - ევროინტეგრაციის გზაზე, ჩვენ გვჭირდება ყველა პარტნიორის მხარდაჭერა », sur Présidence de Géorgie,‎ (consulté le ). +
    1122. +
    1123. « Le onorificenze della Repubblica Italiana », sur www.quirinale.it (consulté le ) +
    1124. +
    +
    +
    + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/fr-wikipedia-org-wiki-sophisme b/sac/pages/fr-wikipedia-org-wiki-sophisme new file mode 100644 index 0000000..910f211 --- /dev/null +++ b/sac/pages/fr-wikipedia-org-wiki-sophisme @@ -0,0 +1,1607 @@ + + + + +Sophisme — Wikipédia + + + + + + + + + + + + + + + + + + + + + + + + + + + +Aller au contenu +
    +
    +
    + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + +

    Sophisme

    + + +
    +
    +
    +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    Un article de Wikipédia, l'encyclopédie libre.
    +
    +
    + + +
    + +

    Un sophisme est un procédé rhétorique, une argumentation, à la logique fallacieuse. C'est un raisonnement qui porte en lui l'apparence de la rigueur, voire de l'évidence, mais qui n'est en réalité pas valide au sens de la logique, quand bien même sa conclusion serait pourtant « vraie »[1]. +

    À la différence du paralogisme, erreur dans le raisonnement d'un émetteur de bonne foi[2], ne cherchant pas à tromper le récepteur, le sophisme est quant à lui prononcé et énoncé avec l'intention cachée de tromper le destinataire ou l'auditoire afin, par exemple, de prendre l'avantage sur lui dans une discussion, dans le cadre d'un désaccord de fond, d'un débat entre deux thèses[3],[4]. +

    Les sophismes peuvent avoir la forme d'un syllogisme (raisonnement qui repose sur des prémisses insuffisantes ou non pertinentes ou qui procède par enthymème, etc.)[5]. Ils peuvent aussi s'appuyer sur d'autres mécanismes oratoires ou psychologiques jouant par exemple avec l'émotion de l'auditoire, l'ascendant social du locuteur (argument d'autorité) ou des biais cognitifs (comme l'oubli de la fréquence de base) pour emporter l'adhésion temporaire ou conquérir une position dominante au cours d'une dispute ou d'un désaccord. +

    Dans la Grèce antique, les orateurs qualifiés de sophistes (grec ancien: σοφιστής, sophistes) dont le nom est à l'origine du terme sophisme, enseignaient l'éloquence et l'art de la persuasion par le verbe[1]. Et c'est pour démasquer leur rhétorique parfois fallacieuse que les philosophes ont couché par écrit les bases de la logique. Depuis les Réfutations sophistiques d'Aristote, de nombreux philosophes ont ainsi cherché à établir une classification générale des modalités du discours argumentatif et des sophismes pour, le plus souvent, s'en prémunir (Bacon, Mill, Bentham). Arthur Schopenhauer dans La Dialectique éristique (1830), montre l'efficacité dialectique du sophisme, par sa capacité à orienter la discussion, le discours, l'échange, autour de raisonnements employés à des fins de conversion de l'autre à une opinion plus qu'à des fins de manifestation de la vérité. +

    +
    +

    Origines et sens du mot[modifier | modifier le code]

    +

    Étymologie[modifier | modifier le code]

    +

    Le mot sophisme dérive du latin sŏphisma[6], lui-même issu du grec σόφισμα[7](sóphisma) : « habileté », « invention ingénieuse », « raisonnement trompeur ». Ce mot grec est formé sur σοφία (sophía) : « sagesse », « savoir », et désigne dès l'Antiquité grecque le type de discours prononcés par les sophistes (littéralement « ceux qui sont spécialistes du savoir »), orateurs prestigieux et professeurs d'éloquence (ou plus globalement de rhétorique), dont le but était surtout de persuader l'auditoire (dans les assemblées ou les tribunaux), bien souvent au mépris de la vérité elle-même[1]. +

    +

    Contexte d'émergence[modifier | modifier le code]

    +

    Le terme naît dans le contexte du développement de l'art oratoire en Grèce antique, notamment à Athènes et dans les cités ioniennes. Au Ve siècle av. J.-C., on voit en effet se développer une professionnalisation des carrières politiques, dans le cadre de la naissance de l'isonomie et de la démocratie. Dans ce mouvement, l'utilisation des procès — réunissant des jurys populaires — comme arme pour abattre des adversaires se répand. Une constellation de métiers et de pratiquants du discours voit le jour : le but de ces orateurs est d'emporter l'adhésion du plus grand nombre pour la cause qu'ils servent, qu'il s'agisse d'un individu ou d'un projet politique. À Athènes, ces orateurs sont dénoncés par Socrate et Platon, qui débattent avec les sophistes pour essayer de démasquer leurs raisonnements trompeurs et bâtis sur une logique non-rigoureuse[8]. Platon est l'un des penseurs les plus reconnus pour s'attaquer aux sophistes qui, selon lui, contreviennent à la vérité en faussant les arguments. La manipulation du langage qu'ils font et leur caractère amoral s'oppose aux valeurs de Platon selon lesquelles la justice prime : cette dite justice provient de la vérité inéluctable. Les sophistes contreviennent à la justice en procurant à l'injustice des armes qui lui permettent de falsifier la vérité. Platon proteste contre les sophistes parce qu'ils sont relativistes — c'est-à-dire que leurs arguments s'adaptent à la cause défendue — et que cette valeur s'oppose à l'idéalisme platonicien décrit et proposé dans la République[9]. Finalement, la corruption des sophistes contrevient à la recherche de vérité, selon Platon. C'est par la suite Aristote, élève de Platon, qui décrit et établit les rudiments de la logique pour classer les types de raisonnements (ou de syllogismes) et montrer rigoureusement quelle est la « logique » fallacieuse à l'œuvre dans un sophisme[10]. +

    Les sophistes sont ainsi critiqués par leurs valeurs qui ne tiennent pas en compte la véritable vérité, mais plutôt la pseudo vérité qui convient le mieux à leurs besoins. Aussi, leur recherche de profit dérange le concept de démocratisation du savoir qui était courant à l'époque. Le philosophe se doit selon Platon de faire œuvre de pédagogie et de démagogie pour partager ses connaissances, afin d'atteindre une cité plus juste, donc meilleure. Cependant, le sophiste nuit à cet objectif : il vend son savoir, et comme celui-ci est plus original, excentrique, séduisant, que les idées propagées par les autres philosophes contemporains, il contrevient à l'égalité des savoirs. +

    +

    Variante sémantique[modifier | modifier le code]

    +

    Les termes anglais fallacy et sophism (qu’on traduit souvent indifféremment par « raisonnement fallacieux » ou « sophisme » en français) se différencient en anglais par le fait que le second est délibéré alors que le premier ne l'est pas nécessairement[11] ; en français, « raisonnement fallacieux » est le plus souvent synonyme de « sophisme », et les erreurs involontaires de raisonnement sont appelées des paralogismes. +

    +

    Typologies dans la philosophie contemporaine[modifier | modifier le code]

    +

    Chez Schopenhauer[modifier | modifier le code]

    +

    Dans L'Art d'avoir toujours raison (en allemand Die Kunst, Recht zu behalten), Arthur Schopenhauer traite de l'art de la controverse ou « dialectique éristique ». Rédigée vers 1830-1831 et publiée en 1864, elle est parfois éditée en France sous le titre académique de La Dialectique éristique (en allemand Eristische Dialektik, du grec ἐριστική τέχνη). Dans ce traité, à la fois sarcastique et pragmatique, Schopenhauer expose une série de stratagèmes permettant de l'emporter lors de controverses, indépendamment de la vérité du point de vue que l'on soutient. Ce travail a pour but de bien distinguer ces stratagèmes afin de pouvoir les dénoncer. La dialectique éristique, constituée de la dialectique et de la sophistique, s'opposerait ainsi à la logique, à l'analytique, et à la philosophie dont le but est la recherche objective de la vérité. +

    Schopenhauer présente son traité comme un recueil de techniques, qui peuvent apparaître comme une forme d'art. Cette technique repose sur la distinction entre la vérité objective d'une proposition et l'apparence de vérité que cette proposition peut prendre aux yeux des disputeurs et des auditeurs. La finalité de cet art est de fournir des moyens pour parvenir à cette dernière apparence, afin de convaincre les auditeurs que l'on a raison, même si l'on a objectivement tort. Fondamentalement, l'œuvre de Schopenhauer se constitue donc comme un arsenal de la sophistique, un recueil de sophismes, de leur façon d'opérer, de leurs atouts et faiblesses. +

    Outre cette typologie, Schopenhauer distingue quelques causes originelles de la dialectique éristique qui sont en fait toutes liées : +

    +
    • la malhonnêteté ;
    • +
    • la vanité ;
    • +
    • le fait de parler avant de réfléchir ;
    • +
    • l'obstination dans l'erreur.
    +

    Selon Schopenhauer, tout homme veut que sa thèse paraisse vraie, même (et surtout) quand il sait qu'elle est fausse. Pour lui, la dialectique éristique qu'il décrit est aussi, par nature, une façon de se prémunir des attaques déloyales de ses adversaires. L'apprentissage de la dialectique éristique complète donc selon lui l'apprentissage de la logique, car il faut également se défendre quand on a raison et savoir repérer les stratagèmes sophistiques des autres. Pour Schopenhauer, toute personne qui est dans le vrai a besoin de recourir à la dialectique éristique pour défendre son droit, et il faut connaître les stratagèmes de la malhonnêteté pour leur faire face, et même souvent en employer certains d'entre eux pour battre l’ennemi avec ses propres armes. Cette typologie permet donc à celui qui y est formé de défendre ses thèses sans se contredire, et de renverser les thèses adverses. +

    Schopenhauer identifie une quarantaine de stratagèmes relevant de la dialectique éristique, et donc de sophismes, parmi ces stratagèmes on en trouve de différents types : +

    +

    Le changement de catégorie ontologique[modifier | modifier le code]

    +
    • L'extension du sujet (stratagème no 1) : l'extension permet d'étirer à outrance l'affirmation de l'adversaire au-delà de ses limites naturelles ou formulées ; il s'agit de l'interpréter de la façon la plus générale possible. En exagérant les positions d'un adversaire, on peut se présenter comme plus raisonnable. La réfutation systématique de l'extension et de l'exagération (stratagème no 23) permet de se prémunir contre ce stratagème.
    • +
    • L'homonymie (stratagème no 2), ou le jeu sur les mots : il s'agit d'user et d'abuser du sens des propos de l'adversaire pour l'en éloigner de son sens premier ou réel, afin de lui faire dire ce qu'il ne dit pas. En modifiant le sens du mot employé par l'adversaire, on étend également son affirmation à ce qui en réalité n'a rien en commun avec l'objet du débat : on lui fait donc dire n'importe quoi afin de pouvoir le contredire. Ce stratagème permet ensuite de réfuter l'extension de sens fallacieuse et donc de paraître brillant et de se donner l'apparence du vrai.
    • +
    • La distinction et l'exception (stratagème no 17) : lorsqu'un des débatteurs est en difficulté, il peut introduire une distinction subtile de sens, inédite dans la discussion, afin de minimiser sa défaite ponctuelle. Il peut aussi trouver une exception très spécifique à un argument pour en réfuter la généralité (voir no 11).
    • +
    • Transformation d'un relatif à un absolu (stratagème no 3) : il s'agit d'une transformation d'implication de l'argument de l'autre : on prend une affirmation posée relativement au sujet et on la présente comme si elle était donnée par lui de façon générale, on peut ainsi la réfuter dans sa généralité et suggérer qu'elle est donc réfutée en particulier.
    • +
    • Transformation d'un particulier à un général (stratagème no 11) : ce stratagème est continu et progressif, il consiste à faire croire à l'adversaire qu'il a de lui-même concédé une « vérité générale admise » en lui faisant concéder plusieurs cas particuliers successivement au cours d'un débat.
    • +
    • L'épouvantail rhétorique ou les faux arguments (stratagème no 5) : ce stratagème a pour but de réfuter des arguments que l'adversaire n'utilise pas ou ne mobilise pas réellement. On peut aussi utiliser les éléments personnels de l'adversaire, en pointant des propositions fausses qu'il considère comme vraies et donc supposer que tout son mode de pensée, étant analogue, mène nécessairement à des conclusions fausses.
    • +
    • Opposition théorie / pratique (stratagème no 33) : il s'agit de présenter un argument ou une thèse de l'adversaire comme vraie uniquement en théorie, faux en pratique. Il s'agit d'un syllogisme masqué : puisque ce qui est juste en théorie doit aussi l'être en pratique, alors si ce n'est pas le cas, c'est qu'il y a une erreur dans la théorie ; par conséquent, c'est également faux en théorie.
    +

    Obtenir une conclusion en masquant ses intentions et en détournant l'attention[modifier | modifier le code]

    +
    • La dispersion des sujets et des questionnements impliqués (stratagème no 4) : ce stratagème a pour but de masquer l'intention d'un des participants, d'occulter la conclusion visée, de faire en sorte qu'elle ne soit pas prévisible mais discrète, afin de faire en sorte que l'adversaire obtienne progressivement et discrètement les prémisses du raisonnement en les disséminant au cours de la conversation. En faisant approuver les prémisses de son raisonnement dans le désordre, on cache ainsi son jeu et on se prémunit contre une manœuvre de l'adversaire visant à contrer une thèse évidente en particulier. Il est aussi possible de faire admettre des prémisses sans aucun rapport avec le sujet du débat pour forger de fausses pistes sur lesquelles l'adversaire s'engagera.
    • +
    • Le questionnement rapide (stratagème no 7) : il s'agit de questionner à outrance un adversaire afin de le déstabiliser dans sa capacité à répondre au sujet. Ce stratagème sophistique consiste à poser un grand nombre de questions et à élargir dans le même mouvement le contexte d'énonciation du sujet pour masquer ce que l'on veut faire admettre, puis à exposer rapidement son argumentation à partir de concessions obtenues à la hâte. Ainsi, l'adversaire a plus de difficultés à suivre exactement la démonstration et manque d'en voir les lacunes éventuelles.
    • +
    • Par changement de l'ordre des questions (stratagème no 9) : ce stratagème a un but très voisin du stratagème no 4, en ce qu'il permet de masquer sa propre thèse et de poser des questions dans un ordre totalement différent de celui exigé par la conclusion qu'il faudrait en réalité en tirer. Il s'agit donc d'opérer des permutations dans la progression des interrogations ; l'adversaire se retrouve privé de sa capacité à saisir la progression rhétorique et ne peut savoir quelle est exactement la thèse défendue, et ne peut donc se prémunir.
    • +
    • Par provocation (stratagème no 8) : il s'agit de mettre en colère son adversaire, afin de le mettre hors d'état de porter un jugement mesuré et fiable et de nuire à la perception qu'il a de son propre intérêt. En étant ouvertement injuste envers un opposant, en le provoquant, en faisant preuve d'insolence ou d'impudence, on peut ainsi toucher son point faible, personnel, en insistant sur un sujet dont il a honte, pour brouiller son calme et sa capacité à réfléchir. Il sera donc incapable de formuler un jugement cohérent en apparence et se disqualifiera devant l'auditoire.
    • +
    • Empirer la colère de l'autre (stratagème no 27) : il s'agit de faire en sorte que l'adversaire s'énerve encore plus avant, en guettant ce qui met en colère l'opposant, on insiste sur ce point pour en tirer un point faible dans la thèse ou dans l'apparence de véracité de la thèse.
    • +
    • Déguiser une prémisse en pétition de principe (stratagème no 6) : ce stratagème a pour but de faire reconnaître à l'adversaire certains prémisses dont l'utilité pour démontrer une thèse n'est pas énoncée en amont. Il s'agit de faire en sorte de s'entendre entre opposants sur un certain nombre d'affirmations, en les présentant comme des « vérités d'évidence », ainsi en établissant habilement ce qui n'est plus à démontrer de ce qui reste à établir, on peut réduire considérablement le nombre d'étapes nécessaires à la victoire et conduire l'interlocuteur à reconnaître malgré lui la validité d'une thèse qui lui est défavorable ou opposée. À l'opposé, un stratagème analogue consiste à réfuter systématiquement chacune des prémisses de l'interlocuteur.
    • +
    • Conclure (stratagème no 20) : il s'agit de la conséquence du stratagème no 6. En ayant fait admettre à son opposant des prémisses commodes, ou en prenant avec choix les faits qu'il a déjà admis comme vrais, on formule une conclusion, donnant ainsi l'illusion qu'il approuve cette conclusion puisque ses prémisses sont en accord avec celle-ci.
    • +
    • Par la dénomination et le titre (stratagème no 12) : ce stratagème a pour but de présenter une désignation flatteuse pour désigner la thèse que l'on cherche à défendre, ainsi que la fonction ou le titre de l'émetteur la défendant, afin d'en augmenter la crédibilité d'apparence, en détournant l'attention sur son illogisme ou sa falsification. À l'inverse, on peut utiliser des termes orduriers et dégradants, ironiques, pour désigner une thèse que l'on cherche à discréditer. En d'autres termes, c'est un argument d'autorité falsifiée. Ce stratagème a cependant pour faiblesse de montrer ouvertement les intentions, par les noms qu'il donne aux choses.
    • +
    • Le faux-contraste (stratagème no 13) : ce stratagème a pour but de faire reconnaître une thèse défendue directement par l'adversaire. Il s'agit de lui présenter un faux-contraire, une thèse faussement opposée mais présentée comme son antithèse parfaite, en mettant en évidence son absurdité, sa faiblesse. L'adversaire est ainsi incité à reconnaître lui-même la thèse défendue, sous peine que l'auditoire pense qu'il cultive simplement l'art du paradoxe, qu'il pinaille.
    • +
    • Détourner l'attention (stratagème no 18) : ce procédé a pour but d'empêcher l'adversaire de parvenir au bout de sa démonstration en brisant le flot de la discussion, en orientant le débat vers d'autres sujets ou propositions moins probantes pour la thèse de l'autre mais plus commode pour la sienne.
    +

    Outre ces stratagèmes qui portent sur les propositions débattables, toute une série de stratagèmes portent sur soi ou sur l'adversaire, l'opposant à la discussion, afin de minimiser ou d'exagérer les positions et l'apparence de la victoire : +

    +
    • L'adversaire se contredit (stratagème no 16) : il s'agit de mettre en lumière des faiblesses, des paradoxes ou des contradictions dans la pensée de l'adversaire pour suggérer que toute sa thèse est possiblement mise en doute. C'est un stratagème réputé facile à mettre en œuvre, facile à appliquer puisque la plupart des interlocuteurs n'ont pas toujours défendu une ou l'autre thèse, et n'ont pas forcément une construction claire de toutes leurs idées reçues. Ce stratagème a pour but d'exploiter le fait que tout un chacun est en soi un paradoxe ambulant, et que chaque individu porte en lui et en son histoire ses contradictions internes.
    +
    • Argument ad hominem
    • +
    • Argumentum ad personam (dernier argument, intitulé « Ultime stratagème[12] ») :
    • +
    • Argument ad auditores (stratagème no 28) : il s'agit de ridiculiser l'autre en singeant sa position, tout en utilisant l'auditoire pour approuver la raillerie, alors même qu'il n'est pas forcément spécialiste du sujet débattu.
    • +
    • Argument ad verecundiam, ou argument d'autorité (stratagème no 30)
    • +
    • Attitudes impudentes (stratagèmes no 15, 14, 29, 31, 36)
    • +
    • Faire une association dégradante contre l'adversaire afin de l'associer à une idéologie ou une thèse que tout le monde admet comme exécrable et immorale.
    • +
    • On peut aussi faire en sorte de se déclarer incompétent afin d'écarter telle ou telle piste de discussion qui pourrait s'avérer nuisible pour sa propre thèse, mystifier le débat ou des positions en recourant à des noms clés (autrement appelé « name dropping »)[évasif].
    • +
    • Clamer son triomphe et crier victoire, car selon Schopenhauer, dans la dialectique éristique, l'apparence de la victoire prévaut sur la vérité.
    +

    Chez Mill[modifier | modifier le code]

    +

    John Stuart Mill, dans son ouvrage Système de logique déductive et inductive (1843), étudie les sophismes. Il propose une classification, laquelle est constituée en quatre groupes : +

    +
    • « Des sophismes de simple inspection, ou sophismes a priori »[13]. Il s'agit des raisonnements faisant appel à l'évidence, ils constituent « des cas où il n'y a pas de conclusion tirée, la proposition étant acceptée, non comme prouvée, mais comme n'ayant pas besoin de preuve, comme vérité évidente en soi, ou du moins comme d'une si grande vraisemblance intrinsèque, que la preuve externe, bien qu'insuffisante par elle-même, suffit comme adjuvant de la présomption antérieure ».
    • +
    • Les « sophismes d'observation ». Ce sont les sophismes qui opèrent en falsifiant volontairement l'administration de la preuve. Ces sophismes d'observation suivent un ou plusieurs ou la totalité de trois procédés : l'observation, la généralisation et la déduction[14]. Un sophisme par observation peut consister en une erreur de « non-observation » (négligence des faits particuliers qu'il fallait remarquer), ou « mal-observation » (« lorsque le fait ou le phénomène, au lieu d'être reconnu pour ce qu'il est en réalité, est pris pour quelque chose autre »).
    • +
    • Les « sophismes de généralisation ». Cette classe est considérée, par Mill, comme la plus fréquente de toutes, recelant le plus grand nombre « d'inférences vicieuses »[15]. Pour qu'une erreur de généralisation soit sophistique, précise Mill, « il faut qu'elle soit la conséquence d'un principe ; elle doit provenir de quelque fausse conception générale du procédé inductif ; le mode légitime de tirer des conclusions de l'observation et des expériences doit être fondamentalement mal compris »[16].
    • +
    • Les « sophismes par confusion ». Cette dernière classification des sophismes de Mill regroupe « tous ceux qui ont leur source, non pas tant dans une fausse appréciation de la valeur d'une preuve, que dans la conception vague, indéterminée et flottante de ce qu'est la preuve »[17]. Selon Mill, ces raisonnements ont pour principale fonction de détourner un fait, une donnée, une affirmation, de sa capacité à prouver quelque chose, pour démontrer un fait sans qu'il n'y ait pourtant de rapport d'inférence ou de déduction entre les deux.
    +

    Grandes familles de sophismes[modifier | modifier le code]

    +

    Les syllogismes erronés ou fallacieux[modifier | modifier le code]

    +

    Les sophismes se construisent à la manière d'une déduction, c'est-à-dire qu'on utilise des observations spécifiques afin d'atteindre une observation générale qui provient de la logique de l'argument même. De ce fait, on obtient une affirmation fausse, bien que proposée comme étant vraie : +

    +
    • Dans l'emmental, il y a des trous. Plus il y a d'emmental, plus il y a de trous. Plus il y a de trous, moins il y a d'emmental. Donc plus il y a d'emmental, moins il y a d'emmental (figure de sens, syllogisme).
    • +
    • Tout ce qui est rare est cher (exemple : un cheval rare est cher, c'est le cheval qui est rare). Les choses bon marché sont rares, donc les choses bon marché sont chères (transfert d'un attribut de la classe elle-même aux composants individuels de cette même classe. Le logicien Bertrand Russell s'y attaquera avec sa théorie des types).
    • +
    • Le ridicule ne tue pas. Ce qui ne nous tue pas nous rend plus fort. Donc le ridicule nous rend plus fort (figure de sens, syllogisme).
    • +
    • « Rat » est composé de trois lettres. Le rat mange le fromage. Donc trois lettres mangent le fromage.
    • +
    • La phrase suivante est vraie. La phrase précédente est fausse (paradoxe).
    • +
    • Un problème comporte toujours au moins une solution. Donc s'il n'y a pas de solution, il n'y a pas de problème[18] (contexte de duperie argumentaire) (figure de sens, sophisme).
    • +
    • Une solution implique toujours un problème. Donc s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    • +
    • La fin n'a jamais été aussi proche (tautologie, figure de sens, antithèse).
    +

    Les sophismes a priori[modifier | modifier le code]

    +

    Ces procédés rhétoriques ont pour but de forcer ou d'inciter à adhérer à une thèse en fonction d'éléments antérieurs à l'existence même de la discussion, il s'agit d'utiliser des valeurs intrinsèques relatives aux personnes impliquées dans le débat ou des forces de validation d'une proposition extérieures au contenu même de la thèse. +

    +

    Référence faisant par définition autorité[modifier | modifier le code]

    +

    Il s’agit, pour soutenir son argument, de prendre une référence extérieure dont l’autorité dans le contexte donné serait par définition établie, mais celle-ci est une apparence et ne repose que sur les biais cognitifs ou une construction sociale (éducation). +

    +
    • Argumentum ad verecundiam : (aussi appelé argument d'autorité) : « Le chef a toujours raison », ou encore « Nous sommes seuls dans l’univers. C’est mon beau-frère – il est sociologue – qui le dit » (un sociologue n’a pas de compétence sur la vie extra-terrestre et ne peut donc servir d’autorité sur le sujet)
    • +
    • Argument par la foi : « C'est forcément vrai, puisque c'est écrit dans tel ou tel livre sacré. »
    • +
    • Argumentum ad baculum (aussi appelé la raison du plus fort)
    • +
    • Argumentum ad crumenam (aussi appelé la raison du plus riche) : « Ce n'est pas ce minable même pas assujetti à l'ISF qui va me donner des leçons pour conduire ma vie. » (voir Ésope, Épictète…)
    • +
    • Argumentum ad lazarum (aussi appelé la raison du plus pauvre) : « La classe ouvrière se bat avec le réel tous les jours et est seule à connaître la réalité du pays. La dictature du prolétariat est donc l'unique solution. »
    • +
    • Argumentum ad populum (aussi appelé la raison de la majorité) : « Dieu doit exister puisque la majorité des humains y croient depuis des millénaires. » Variante : « La France représente moins d'un pour cent de la population mondiale et ne peut donc avoir aucun rôle significatif. » (L'Athènes de Périclès représentait bien moins d'un pour cent de la population de son époque, et son modèle nous influence encore aujourd'hui ; Sparte, tout aussi puissante à l'époque, n'a pas laissé de trace culturelle durable.)
    • +
    • Argumentum ad novitatem : donner raison aux arguments les plus nouveaux ou qui semblent les plus modernes.
    • +
    • Argumentum ad antiquitatem : argument qui prétend que la tradition détient les bonnes réponses.
    • +
    • Le sophisme naturaliste : mêle un jugement de fait et un jugement de valeur : prétendre qu'une chose est bonne parce qu'elle est naturelle ou habituelle.
    • +
    • La raison des émotions : « Voyez tous ces gens qui s’en émeuvent ! Pensez-vous qu’ils ont tort ? »
    +

    L'appel aux sentiments et aux émotions[modifier | modifier le code]

    +

    Il s'agit d'en appeler à la compassion ou l'empathie de l'interlocuteur pour le convaincre de sa thèse. +

    +
    • Argumentum ad misericordiam (ou appel à la pitié) : « Vous ne pouvez pas me donner cette amende, mes parents vont me tuer ! »
    • +
    • Appel à la flatterie : « Un homme comme vous ne peut pas défendre un tel genre de position ! »
    • +
    • Argumentum ad odium : le fait de rendre odieux/inacceptable les arguments de l'opposition à travers une présentation à connotation péjorative.
    • +
    • Le chiffon rouge : utiliser des associations émotionnelles qui vont déclencher la colère du public et nuire à sa capacité de raisonnement.
    • +
    • La raison par la théâtralité : utiliser des grand mots, faire du spectacle pour impressionner.
    • +
    • Appel au ridicule : ridiculisation des arguments de l'opposant pour les rendre plus facilement réfutables. Exemple : « Si la théorie de l'évolution était vraie, cela voudrait dire que mon grand-père est un gorille ».
    • +
    • Argumentum ad consequentiam (aussi appelé argument par la conséquence) : Si A est faux, alors B aussi. Mais comme savoir B faux est déplaisant, on accepte A.
    • +
    • Appel à la terreur : « Si vous maintenez votre point de vue, il y aura des conséquences… »
    • +
    • Deux faux font un vrai (aussi appelé « sophisme de la double faute ») : « Et alors ? D'autres personnes font bien pire. »
    • +
    • ''Argumentum ad familiam'' : consiste à s’appuyer sur le malheur supposé ou réel des familles pour détourner l’attention d’un argument ou d’une réalité qui, lui ou elle, devrait être pertinent ou perçu comme rigoureux. « Les grévistes de la SNCF sont vraiment égoïstes ! Pensez aux familles qui ne pourront pas partir en vacances à cause d'eux ! »
    +

    L'appel à l'ignorance[modifier | modifier le code]

    +

    Il s'agit de partir d'un aveu d'ignorance pour conclure à l'impossibilité de la connaissance et donc proposer des thèses ésotériques ou invérifiables. +

    +
    • Argumentum ad ignorantiam (aussi appelé appel à l'ignorance)[19] ; par exemple : « Je ne peux pas expliquer ce que ce témoin a vu dans le ciel, donc cela doit être un vaisseau spatial extraterrestre visitant notre planète. » Variante : « Je ne peux expliquer comment la vie sur terre est apparue, alors c'est sûrement Dieu qui l'a fait. »
    +

    Les sophismes d’observation[modifier | modifier le code]

    +

    Ils reposent sur la subjectivité du regard afin de déduire une proposition présentée comme vraie à partir d'un prémisse qui ne permet pourtant pas logiquement de le démontrer. +

    +
    • Argumentum a silentio (aussi appelé « argument du silence ») : il s'appuie sur le fait qu'un élément n'est pas mentionné pour démontrer son absence. Or, absence de preuve et preuve de l'absence ne sont pas des équivalents. Par exemple, dans le Nom de la Rose, Jorge affirme que Christ ne riait pas, car ce n’est pas écrit dans la Bible.
    • +
    • Argumentum ad nauseam (« argumenter jusqu'à la nausée », aussi appelé « avoir raison par forfait ») : stratégie consistant à abreuver de manière incessante l'opposant de questions ou d'affirmations fallacieuses ou d'invectives personnelles afin de le faire renoncer à la discussion, et donc afin de clamer victoire.
    • +
    • Catégorie de sophismes « Aucun vrai Écossais » : ainsi dénommée d'après l'exemple cité dans Thinking about Thinking par Antony Flew[20], qui peut s'illustrer par ce dialogue « Aucun Écossais ne met de sucre dans son porridge. Pourtant, mon oncle Angus, qui est écossais, adore mettre du sucre dans son porridge. Oui, mais aucun vrai Écossais ne met de sucre dans son porridge. » On pourrait appeler aussi cette catégorie de sophismes le « sophisme de suspicion » ou de « doute légitime », car il sous-entend qu'Angus est donc un faux Écossais ; lorsqu'une exception vient remettre en cause une règle prétendument exclusive, ce sophisme préfère invalider a priori l'exception, plutôt que d'admettre l'invalidation de l'exclusivité de la règle précédemment énoncée.
    • +
    • Sophisme de la mauvaise traduction : il consiste à écarter la thèse d'un opposant en lui refusant le droit de participer à la conversation pour des questions de traduction des textes débattus. Par exemple : « Vous n'avez pas lu Mein Kampf (ou Platon, ou le Coran, etc.) dans sa langue originale, mais une version traduite, donc tout ce que vous direz sur ce livre est forcément faux. » Ce stratagème méconnaît cependant l'existence de traductions critiques et scientifiques et n'est donc pas opérant dans toutes les configurations possibles.
    +

    Les sophismes de généralisation[modifier | modifier le code]

    + +

    Ils sont particulièrement fréquents puisqu'ils permettent de généraliser la validité d'une proposition à partir d'une affirmation première fausse, tronquée, hâtive, trompeuse. +

    +
    Les généralisations invalides[modifier | modifier le code]
    +
    • Affirmation du conséquent : il s'agit d'un type de sophisme très fréquemment rencontré avec de nombreux cas de généralisations abusives, basées sur un raisonnement fallacieux destiné à tromper : « Je suis un homme, je crois en Dieu, donc (tous) les hommes croient en Dieu. » Ces généralisations sont parfois ridicules pour leurs auteurs (quand leur auditoire a pris attention en mettant en doute le raisonnement), ou seulement amusantes et destinées à divertir et dénoncer ce type de raisonnement : « Puisque je suis un homme, je suis mortel. Mon chat est mortel. Mon chat est donc un homme. », comme aussi sa généralisation en apparence bénigne : « Tous les hommes sont mortels. Tous les chats sont mortels. Tous les chats sont donc des hommes », mais qui affirme elle aussi le conséquent.
    • +
    • Échantillon non représentatif : « Depuis mon compartiment de train, j'ai pu constater sur un échantillon de soixante-dix passages à niveau que tous sans exception ont leurs barrières fermées. »
    • +
    • Généralisation abusive ou excessive (aussi appelé « déduction hâtive », et version outrée de la catégorie précédente) : « Les Anglais sont trilingues : oui, j'ai rencontré un Anglais qui parlait trois langues. ».
    • +
    • Manipulation statistique : « Ce test de la maladie X est fiable à 99 %, il se révèle positif pour vous, donc vous avez 99 % de chances d'avoir la maladie X. » Voir le biais cognitif Oubli de la fréquence de base ou comme exemple les faux positifs médicaux expliqués par le théorème de Bayes).
    +
    Manipulation des probabilités[modifier | modifier le code]
    +

    Il s'agit d'une manipulation des chances qu'un événement se produise au sein d'un ensemble de possibles afin d'en tirer des conclusions fausses : « Lancez trois pièces : deux sont forcément du même côté, soit pile, soit face. La troisième a une chance sur deux d'être également de ce côté-là ; donc il y a une chance sur deux que les pièces soient toutes les trois du même côté. » (en réalité, 2 puissance 3, soit 8 possibilités de combinaisons : FFF, FFP, FPP, FPF, PFF, PPF, PFP, PPP donc 2 chances sur 8 (soit 1 chance sur 4) que les trois pièces soient du même côté). +

    +
    Le sophisme non sequitur[modifier | modifier le code]
    +

    Le sophiste énonce un raisonnement dans lequel il démontre que A implique B et que B implique C, et dans le résumé de sa démonstration, il affirme avoir démontré que A implique D (manipulation de la conclusion) ou variante que E implique C (manipulation des prémisses). +

    Il existe deux grandes catégories d'application : +

    +
    • Affirmation de la conséquence : « S'il a plu (P), alors le sol est mouillé (Q). Le sol est mouillé (Q). Donc il a plu (P). » Or, il peut y avoir plusieurs causes au fait que le sol soit mouillé, la pluie n'en étant donc pas la seule cause potentielle, on ne peut donc affirmer qu'il a plu simplement parce que le sol est mouillé.
    • +
    • Négation de l'antécédent : « S'il a plu (P) alors le sol est mouillé (Q). Il n'a pas plu (il est faux que P), donc le sol n'est pas mouillé (il est faux que Q). » Or, le sol est peut-être mouillé du fait d'un autre événement que la pluie, affirmer que le sol est sec simplement parce qu'il n'a pas plu n'est pas possible).
    +
    Argumentum ad temperantiam[modifier | modifier le code]
    +

    Ou argument du juste milieu : il s'agit de faire croire que la position intermédiaire entre deux énoncés est la bonne position. Par exemple, la police annonce 80 000 manifestants, les organisateurs 160 000, alors c'est qu'il y a eu 120 000 manifestants. +

    +
    La pente savonneuse[modifier | modifier le code]
    +

    Ce sophisme permet de prétendre qu'un compromis, une concession donnée sur un fait, doit être refusé car il amorcerait une cascade de conséquences de plus en plus graves et ce sans démonstration du lien de cause à effet. Par exemple : « Si vous rétablissez la pêche de cette espèce de poisson, la tendance se généralisera bientôt aux autres variétés protégées, puis aux tortues, et par la suite aux grands mammifères marins, et la biodiversité de nos océans sera en grave danger. » +

    +
    Le sophisme de la cause discutable ou Non causa pro causa[modifier | modifier le code]
    +
    • Post hoc, ergo propter hoc, aussi appelé « confondre corrélation / synchronicité et causalité » : « J'ai bu une tisane, grâce à cela, mon rhume a disparu le lendemain. »
    • +
    • Sophisme de la cause unique : sophisme de cause douteuse qui se produit lorsque l'on suppose qu'il y a une seule cause simple à un événement alors qu'en réalité il peut avoir été causé par un certain nombre de causes suffisantes seulement conjointes.
    +
    Syllogisme invalide (voir aussi paradoxes)[modifier | modifier le code]
    +

    Cette famille de sophisme repose sur la différence entre une implication et une équivalence +

    +
    • Affirmation d'une disjonction.
    • +
    • Affirmation excessive de l'existence d'un terme.
    • +
    • Quaternio terminorum.
    • +
    • Non-distributivité du pivot.
    • +
    • Non-distributivité du terme majeur.
    • +
    • Non-distributivité du terme mineur.
    • +
    • Sophisme de composition : croire que ce qui est vrai pour le tout est vrai pour les parties ou, inversement, que ce qui est vrai pour l'une des parties s'applique aussi aux autres.
    +
    Le sophisme de la solution parfaite[modifier | modifier le code]
    +

    Sophisme consistant à partir du constat selon lequel une partie du problème subsisterait toujours pour rejeter toute tentative de solution. Exemple : « Pourquoi faire des campagnes anti-tabac ? Il y aura toujours des fumeurs. » +

    +

    Sophisme par confusion[modifier | modifier le code]

    +
    Confusion quant au sens[modifier | modifier le code]
    +

    Équivoque (employer des équivoques). +

    Sophismes d'ambiguïté : ce sophisme joue sur les homonymies et sur le fait que la frontière de certains concepts est mal définie. +

    Solécisme : utiliser une ambiguïté grammaticale (un solécisme linguistique) pour réaliser une déduction logiquement erronée. +

    Division : « L'armée américaine est puissante, donc ce soldat américain doit être puissant. » +

    Amphibologie (aussi appelé « amphibolie ») : forme grammaticale rendant possibles deux sens. Exemple : « X ne devrait pas conduire sur la route car c'est dangereux » peut signifier que la route est dangereuse pour X, ou que X la rend dangereuse. +

    +
    Confusion entre le tout et la partie[modifier | modifier le code]
    +

    Prendre la partie pour le tout : « X a voté pour Paul, Paul est pour telle réforme, donc X est partisan de cette réforme. » +

    +
    Sophisme par association, déshonneur par association et honneur par association[modifier | modifier le code]
    +

    Il s'agit d'attaquer la position de l'adversaire sur un sujet en utilisant sa position sur un autre sujet : « Vous êtes végétarien ? Tiens, comme ce salaud d'Hitler ! Ce ne doit pas être un hasard. » +

    +
    Reductio ad Hitlerum (voir « Loi de Godwin »)[modifier | modifier le code]
    +

    Sophisme par association, dont le but est de trouver le moyen de comparer la partie adversaire et ses propos à ce qui représente le mal absolu suivant les critères de la société (Les nazis pour l'Europe occidentale de la fin du XXe siècle) pour pouvoir placer son interlocuteur dans une position où il sera obligé de réagir et aura beaucoup de mal à se défendre. +

    Exemples : +

    +
    • « Voter Front National, c'est voter pour le nazisme. »
    • +
    • Patrick Balkany en 2019, lors de son procès au tribunal correctionnel de Paris pour détournement de fonds publics et recel : « La spoliation, nous et ma communauté, nous savons ce que c'est […] J'ai surtout l'impression aujourd'hui qu'on fait le procès des Juifs qui après la Libération ont pris leurs dispositions. »
    +
    Argument circulaire ou raisonnement circulaire[modifier | modifier le code]
    +

    Il s'agit de répéter comme prémisse la conclusion qu'on tente de défendre (« Dieu existe car la Bible le dit ; la Bible dit vrai car c'est Dieu qui l'a inspirée »). Autrement dit, supposer vraie la chose même qu'il s'agit de démontrer. On peut y procéder par plusieurs stratagèmes : +

    +
    • Plurium interrogationum (aussi appelé « multiplier ou compliquer les questions ») afin de laisser croire que le chemin parcouru n'est pas cyclique.
    • +
    • Faux dilemme (aussi appelé « blanc ou noir ») : faire croire que la réponse à une question se restreint à un certain ensemble de choix très limité, usuellement deux. Par exemple : « Les objets de l'espace sont soit des planètes dont la surface est solide, soit des étoiles dont la surface est gazeuse. Jupiter ne possède pas une surface solide, donc Jupiter est une étoile ».
    • +
    • Fausse objection pour éviter d'évoquer une vraie raison : « Cette voiture est trop chère. Il faut que j'en parle à mon conjoint. », pour ne pas dire : « Je ne veux pas acheter votre voiture. »
    +
    Renverser la charge de la preuve[modifier | modifier le code]
    +

    Ce sophisme a pour principal intérêt de mettre l'interlocuteur dans une position où il devra démontrer lui-même (au choix) l'invalidité ou la validité d'une proposition faite. Par exemple, A affirme que P mais sans donner de preuve concluante, C dit qu'il n'est pas d'accord avec A, C affirme que Q plutôt que P. A attaque donc C en lui demandant de justifier son désaccord et de prouver lui-même que Q plutôt que P. On peut par exemple demander à un athée de prouver que Dieu n'existe pas. Si la personne à qui il est demandé de démontrer que Dieu n’existe pas n’y parvient pas, on ne démontre cependant pas que Dieu existe. Ainsi ne pas pouvoir personnellement démontrer que Dieu n’existe pas n’est pas une démonstration du fait que « Dieu existe » (ni qu'il n'existe pas). +

    +
    L'épouvantail rhétorique, strawman ou homme de paille, ou caricature[modifier | modifier le code]
    +

    Il s'agit de déformer l'argumentation d'un opposant pour en faire un argument plus facilement réfutable et éventuellement préparer le terrain à un sophisme de déshonneur par association. +

    Par exemple : « Vous ne voulez pas mettre au point ce programme de construction de porte-avions, je ne comprends pas pourquoi vous voulez laisser notre pays sans défense. » (La proposition « je suis contre la construction d'un porte-avions » a été détournée en « je suis contre la défense de mon pays », argument beaucoup plus facile à mettre en défaut). +

    +
    Fausse analogie[modifier | modifier le code]
    +

    Elle se présente sous la forme d'une inférence injustifiée entre deux éléments qui ne sont pas comparables dans leur importance, dans leur signification ou leur portée. Généralement ce sophisme consiste à comparer des éléments ayant des propriétés a priori communes puis à introduire une propriété qui est unique à un des éléments, pour conclure que cette propriété est commune à tous les éléments. +

    +
    Réification (ou hypostase)[modifier | modifier le code]
    +

    Il s'agit de l'utilisation d'une transposition d'un concept abstrait comme objet concret. Par exemple « il n'y a pas de démocratie dans ce pays, il faudrait y exporter un peu de la nôtre. » +

    +
    L'appel au sophisme[modifier | modifier le code]
    +

    Généralement couplé avec un épouvantail, il consiste à dénigrer l'argument adverse en affirmant « ce que tu dis est un sophisme », sans pour autant que cela soit vrai. Il s'agit d'une conséquence naturelle de la connaissance, par les orateurs impliqués dans une discussion, des méthodes de la rhétorique, et donc de la falsification de la logique. Accuser l'autre d'être un sophiste et de produire des sophismes est donc un bon moyen de prétendre ne pas faire la même chose, et d'élever sa position en se montrant comme capable d'analyser les failles du discours auquel on fait face. Le moyen le plus simple d'éviter ce sophisme est de citer précisément les sophismes employés, et leurs définitions. +

    +

    Autres sophismes[modifier | modifier le code]

    +

    Il s'agit des sophismes dont les prémisses ne sont pas pertinentes à la validité de la conclusion. +

    +
    • Mille-feuille argumentatif : couramment utilisé pour légitimer les théories du complot, il s'agit d'enchaîner un grand nombre d’arguments, même de faible valeur individuellement, mais qui donnent ensemble une impression de solidité et de massivité de la thèse soutenue[21]. Ce sophisme qui s'apparente à la loi de Brandolini, est utilisé dans de nombreux ouvrages qualifiés de fortéens[22]. En ce qui concerne les extraterrestres, cette technique rhétorique peut donner ainsi : « Et les crop circles ? Et les nombreux témoignages ? Et les statues d’astronefs précolombiennes ? Et la perfection des pyramides ? Vraiment, les extraterrestres nous rendent visite depuis longtemps. »
    +
    • Rupture de la corrélation : +
      • Concentration de l'argumentaire sur une partie des arguments motivant la prise de position.
      • +
      • Refus de la corrélation (une corrélation n'implique pas nécessairement une causalité) : ainsi, les ventes de dentifrice sont corrélées aux ventes de préservatifs ; celles de Coca-Cola à celles de lunettes de soleil ; les ventes de whisky en Écosse y sont corrélées au revenu des pasteurs, et cela ne signifie pas que les pasteurs boivent le produit des quêtes. Cela indique simplement que quand leurs ventes sont bonnes, les Écossais ont les moyens de donner un peu plus à leurs pasteurs.
      • +
      • Suppression de la corrélation.
    +
    • Ignoratio elenchi, aussi appelé « conclusion excessive ».
    • +
    • Le postulat indémontrable ou argument irréfutable : il s'agit d'un procédé visant à rejeter toute possibilité de réfutation. Par exemple, des personnes adhérant à une théorie du complot vont rejeter toute preuve réfutant cette théorie en imputant à ces preuves le fait d’être avancée par des personnes soutenant une théorie officielle. Autre exemple, lorsque, dans un couple, l’un des deux partenaires est persuadé que l’autre le trompe, il va systématiquement rejeter toute preuve du contraire, invoquant un prétexte à chaque tentative. La subtilité repose donc sur le principe que la personne utilisant ce type d’argument refuse de reconnaître avoir tort.
    • +
    • La raison de la nature, ou raison génétique, qui confond volontairement la cause ou l'origine d'une chose pour l'essence ou la chose elle-même.
    • +
    • Négation de la preuve.
    • +
    • Les rapprochements excessifs.
    • +
    • La combinaison de faits sans liens directs (amalgame).
    • +
    • Renversement de la causalité.
    +

    Bibliographie[modifier | modifier le code]

    +

    Sources[modifier | modifier le code]

    + +

    Textes anciens[modifier | modifier le code]

    +
    • Aristote, Réfutations sophistiques.
    • +
    • Aristophane, Les Nuées. Œuvre dans laquelle on ridiculise les sophistes et où les personnages utilisent des raisonnements invalides mis en évidence dans cet article.
    • +
    • John Stuart Mill, « Les sophismes », dans Système de logique déductive et inductive. Exposé des principes de la preuve et des méthodes de recherche scientifique, Bruxelles, Pierre Mardaga, , p.294-413.
    • +
    • Schopenhauer, La Dialectique éristique, parfois publiée sous le titre « L'Art d'avoir toujours raison ».
    • +
    • Jeremy Bentham, (1827) Fragment sur le gouvernement: Manuel de sophismes politiques, Paris, LGDJ / Montchrestien (), 386 pp.
    +

    Notes et références[modifier | modifier le code]

    +
      +
    1. a b et c Éditions Larousse, « Définitions : sophisme - Dictionnaire de français Larousse », sur www.larousse.fr (consulté le ). +
    2. +
    3. « PARALOGISME : Définition de PARALOGISME », sur www.cnrtl.fr (consulté le ) +
    4. +
    5. « SOPHISMES ET PARALOGISMES - ontologyfreak.com », sur sites.google.com (consulté le ) +
    6. +
    7. Michel Dufour, « On the difference between fallacy and sophism », OSSA Conference Archive,‎ (lire en ligne, consulté le ) +
    8. +
    9. « SYLLOGISME : Définition de SYLLOGISME », sur www.cnrtl.fr (consulté le ) +
    10. +
    11. « sophisma • Dictionnaire Gaffiot latin-français - page 1458 », sur www.lexilogos.com (consulté le ) +
    12. +
    13. « Henry George Liddell, Robert Scott, An Intermediate Greek-English Lexicon, σόφισμα », sur www.perseus.tufts.edu (consulté le ) +
    14. +
    15. Voir les articles Socrate, Platon, Sophiste, et aussi le Sophiste (dialogue de Platon). +
    16. +
    17. Platon (trad. du grec ancien), La République, France, Flammarion, coll. « GF », , 810 p. (ISBN 978-2-08-138669-3) +
    18. +
    19. Voir Organon (le corpus des traités logiques d'Aristote) et notamment les Réfutations sophistiques. Voir aussi la Rhétorique d'Aristote. +
    20. +
    21. (en) Dufour, Michel, « On the difference between fallacy and sophism », (consulté le ) : « The translation into French of the English word “fallacy” opens a discussion on the difference between fallacy and sophism in English. The two words are sometimes synonyms, but a difference is sometimes made on the ground that a sophism is deliberate and a fallacy is non-deliberate. » +
    22. +
    23. Arthur Schopenhauer, L’Art d’avoir toujours raison, Éditions Mille et Une Nuits, , 89 p. (ISBN 978-2-7555-0242-8, lire en ligne), p. 66. +
    24. +
    25. Mill 1988, p. 308. +
    26. +
    27. Mill 1988, p. 341. +
    28. +
    29. Mill 1988, p. 356. +
    30. +
    31. Mill 1988, p. 357. +
    32. +
    33. Mill 1988, p. 386. +
    34. +
    35. « S'il n'y a pas de solution c'est qu'il n'y a pas de problème. » Célèbre proverbe Shadok. +
    36. +
    37. (en) « argument to ignorance (argumentum ad ignorantiam) ». +
    38. +
    39. (en) Antony Flew, Thinking about Thinking, Londres, Fontana (1re éd. 1976). +
    40. +
    41. « C’est une technique rhétorique qui vise à intimider celui qui y est confronté : il s’agit de le submerger par une série d’arguments empruntés à des champs très diversifiés de la connaissance, pour remplacer la qualité de l’argumentation par la quantité des (fausses) preuves. Histoire, géopolitique, physique, biologie… toutes les sciences sont convoquées – bien entendu, jamais de façon rigoureuse. Il s’agit de créer l’impression que, parmi tous les arguments avancés, "tout ne peut pas être faux", qu’"il n’y a pas de fumée sans feu" ». Cf « On te manipule », sur gouvernement.fr, +
    42. +
    43. Gérald Bronner, La Démocratie des crédules, Presses universitaires de France, , 58 p. +
    44. +
    +
    +

    Voir aussi[modifier | modifier le code]

    +

    Articles connexes[modifier | modifier le code]

    +
    +

    Sur les autres projets Wikimedia :

    + +
    + +

    Liens externes[modifier | modifier le code]

    +

    +

    + + + + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    +
      +
    • + +
    • +
    +
    + + + + \ No newline at end of file diff --git a/sac/pages/github-com-hubtou-pnu-wiki-les-dictionnaires-sous-unix b/sac/pages/github-com-hubtou-pnu-wiki-les-dictionnaires-sous-unix new file mode 100644 index 0000000..e3f1fae --- /dev/null +++ b/sac/pages/github-com-hubtou-pnu-wiki-les-dictionnaires-sous-unix @@ -0,0 +1,2357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Les dictionnaires sous Unix · HubTou/PNU Wiki · GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + Skip to content + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    + +
    + + + + + + + + +
    + + + + + + +
    + + + + + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    + + + + + + +
    +
    +

    Les dictionnaires sous Unix

    + + +
    + +
    + Hubert Tournier edited this page Sep 5, 2021 + · + + 47 revisions + +
    + +
    +
    +
    +
    +

    Les origines

    +

    typo(1)

    +

    La première commande Unix utilisant un dictionnaire semble être la commande typo, servant à "rechercher de possibles erreurs typographiques", qui est apparue avec la version 3 d'Unix en février 1973.

    +

    Sa page de manuel référence un dictionnaire nommé /etc/w2006, ensuite déplacé dans /usr/lib/w2006 à partir de la V4.

    +

    La première version de ce fichier accessible via les archives de The Unix Heritage Society est celle de la V5. +Ce dictionnaire (daté du 27 novembre 1974) compte alors 5.099 mots anglais.

    +

    Le fichier a ensuite été augmenté à 24.473 mots anglais (incluant des noms propres) avec la version 3BSD d'Unix, dans une version datée du 12 février 1979, et a perduré juqu'à la version 4.2BSD d'UNIX, dans une version datée du 2 janvier 1983, incluant quelques corrections mineures.

    +

    spell(1)

    +

    La commande spell, servant à "rechercher des erreurs orthographiques", a été diffusée avec la V6 d'Unix en mai 1975.

    +

    Elle référencait aussi bien /usr/lib/w2006, qu'un nouveau /usr/dict/words.

    +

    Sans que l'on sache s'il s'agissait de l'un ou de l'autre de ces dictionnaires, la page de manuel indiquait :

    +
    +

    The dictionary cannot be distributed because of copyright limitations.

    +
    +

    Comme l'indique le document A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 de Douglas McIlroy:

    +
    +

    Doug (M. Douglas) McIlroy exercised the right of a department head to muscle in on the original +two-user PDP-7 system. Later he contributed an eclectic bag of utilities: tmg for compiler writing, speak +for reading text aloud, diff, and join. He also collected dictionaries and made tools to use them: look (v7, +after a model by Ossanna), dict (v8), and spell (v7).

    +
    +
    +

    Steve (Stephen C.) Johnson’s yacc reduced Al (Alfred V.) Aho’s expertise in language theory to practice. +Upon that base Steve built the portable C compiler that was used to port the system itself and to evaluate +candidate instruction sets for unbuilt machines. Johnson made the first spell, worked on computer algebra, +and devised languages for VLSI layout.

    +
    +

    Un autre document de Doug McIlroy, Development of a Spelling List, détaille la création de ces outils et des dictionnaires associés.

    +

    Il montre notamment que le souci de l'époque n'était pas d'avoir un dictionnaire exhaustif, mais plutôt d'avoir un dictionnaire performant aussi léger que possible, compte-tenu de la puissance et des capacités de stockage de l'époque.

    +

    Dans Unix: A History and a Memoir, Brian Kernighan indique à propos de Doug McIlroy :

    +
    +

    His version of spell made effective use of a dictionary and heuristics for identifying parts of speech +to find potential spelling mistakes, using only meager resources.

    +
    +

    ... et des utilitaires de préparation documentaire, dont le langage C :

    +
    +

    It's hard to remember today, perhaps, that efficiency in both time and space were crucial +when machine capacities were expressed in kilobytes, not gigabytes. Every byte counted, +and so at some level did every instruction, so a language that economized on both was not just nice, +but a practical necessity.

    +
    +

    La première version accessible du fichier /usr/dict/words est celle de la V7. +Ce dictionnaire (daté du 20 janvier 1979) compte 24.001 mots anglais (incluant des noms propres), et semble avoir été fusionné avec /usr/lib/w2006 dans les systèmes BSD de l'époque. La dernière version accessible est celle de la V8. Ce dictionnaire (daté du 12 avril 1985) compte 72.276 mots anglais.

    +

    hangman, words(6)

    +

    Commande "majeure" apparue dans la V7 d'Unix en janvier 1979, le bon vieux jeu du pendu !

    +

    Bien qu'anecdotique, sa page de manuel et son code source nous apprennent toutefois que l'e(xtended)dict(ionary) dont il était question ci-dessus était localisé dans /crp/dict/web2:

    +
    WORDS(6)                         Games Manual                         WORDS(6)
    +NAME
    +       hangman, words - word games
    +SYNOPSIS
    +       /usr/games/hangman [ dict ]
    +       /usr/games/words
    +DESCRIPTION
    +       The optional argument names an alternate word list.  The  special  name
    +       `-a' gets a particular very large word list.
    +FILES
    +       /usr/dict/words     the regular word list
    +       /crp/dict/web2      the -a word list
    +BUGS
    +       UNIX software is distributed without the -a word list.
    +
    +

    Les versions modernes de FreeBSD sont aujourd'hui distribuées avec ce fichier, le copyright ayant expiré:

    +
    +

    Welcome to web2 (Webster's Second International) all 234,936 words worth.

    +
    +
    +

    The 1934 copyright has lapsed, according to the supplier. The +supplemental 'web2a' list contains hyphenated terms as well as assorted +noun and adverbial phrases. The wordlist makes a dandy 'grep' victim.

    +
    +

    Il s'agit donc du Webster's New International Dictionary (second edition, 1934).

    +

    look(1)

    +

    Autre commande apparue dans la V7 d'Unix en janvier 1979, la commande look évoquée par Doug McIlroy, servant à "chercher des lignes dans une liste triée".

    +

    Comme l'indique sa page de manuel, le fichier /usr/dict/words était utilisé par défaut en l'absence de source spécifique.

    +

    dict(7) et dict.sh

    +

    D'autres fichiers de dictionnaires étaient utilisés par la commande look.

    +

    A partir de la V8 d'Unix en février 1985, apparaît une page de manuel référencant les dictionnaires suivants, ainsi qu'un script dict.sh permettant d'y faire des recherches :

    +
      +
    • +webster: Merriam-Webster Collegiate Dictionary, Seventh Edition, full text (/usr1/dict/w7full/*)
    • +
    • +web7: same, words only (/usr/dict/words)
    • +
    • +etym[ology]: inverted index to `webster' by root words (/usr1/dict/w7etym)
    • +
    • +web2: Merriam-Webster New International Dictionary, Second Edition, unabridged, words only (/usr1/dict/web2)
    • +
    • +oxford: The Oxford Advanced Learner's Dictionary of Contemporary English, full text (/usr1/dict/oaldce/*)
    • +
    • +spell: word list of spell(1) (/usr/dict/words)
    • +
    • +acro[nym]: 17000 AT&T acronyms (/usr1/dict/acro)
    • +
    +

    Outre le fait que tous ces dictionnaires ne soient pas de simples listes de mots et que les dictionnaires webster, oxford, web7 et etymology soient copyrightés et ne devraient pas être copiés sans autorisation, la page indique notamment que le fichier /usr/dict/words n'a pas partout le même contenu :

    +
    +

    /usr/dict/words - spell or web7, depending on machine

    +
    +

    Le script dict.sh est disponible dans le code source de la V10 d'Unix. +On y trouve la trace d'autres dictionnaires :

    +
      +
    • +pron: Merriam-Webster Collegiate 7th ed, words and pronunciations
    • +
    • +oed: New English Dictionary (OED), fragment, bu-cz
    • +
    • +slang: New Dictionary of American Slang
    • +
    • +thesaurus: Collins Thesaurus
    • +
    • +thesaurusa: same, augmented with backreferences
    • +
    • +names: Oxford Dictionary of Names
    • +
    • +places: 128,000 US populated places
    • +
    • +towns: 45,000 US places
    • +
    +

    Ainsi qu'un certain nombre de sous-commandes associées à ces dictionnaires spécifiques, qui ne sont donc jamais devenues mainstream du fait de la non diffusion des données associées : colthlook, colthread, ldefine, namelook[1], nameread, odefine, odqlook[1], oedread, slanglook, wdefine...

    +

    wwb(w)

    +

    A partir de la version 8 d'Unix en février 1985 est distribué le Writer's Workbench (wwb), un ensemble de commandes destinées aux rédacteurs de documents (nombreux aux Bell Labs), permettant notamment des corrections grammaticales et stylistiques, au-delà des corrections orthographiques.

    +

    Certaines commandes manipulaient des dictionnaires personnels ou spécialisés, dont pour l'anecdote, le wwb/lib/wordlist de la commande worduse au format strfile utilisé par les fortune cookies :-)

    +

    Les utilitaires de préparation documentaire aux Bell Labs

    +

    Unix est né dans le centre de recherche d'AT&T aux Bell Labs dont l'un des produits phares est naturellement la production de papiers de recherche, mais aussi un rayonnement à travers des publications d'ouvrages.

    +

    Toujours dans l'excellent Unix: A History and a Memoir, Brian Kernighan explique comment un petit groupe de chercheurs issus de l'industrie a pu produire autant de livres influents :

    +
    +

    A third factor is more technical: the symbiosis among C and Unix as a programming environment, +document preparation as a research area, and writing about technical computer topics as a major activity. +This began with text formatting programs like Doug McIlroy's Roff, Joe Ossana's Nroff and Troff, +and then the preprocessors like Eqn, Tbl, and so on. +Those tools made it easier to produce documents that included ever more typographically challenging content, +like mathematics, tables, figures, diagrams, and graphs. That in turn led to better writing, because +all of these documents preparation programs shared a vital characteristic: they made it easy to make multiple +revisions of documents and always have a clean copy to work from, as opposed to the slow and painful alternative +of giving material to a typist and waiting days for it to come back.

    +
    +

    Ceci pour rappeler que toutes ces commandes, loins d'être anecdotiques, correspondaient à un cas d'usage majeur d'Unix à cette époque, et que disposer d'un dictionnaire fiable et performant était donc essentiel.

    +

    Les dictionnaires Français pour Unix

    +

    Faute de dictionnaire français (voire anglais) disponible, les utilisateurs francophones ont été initialement privés de certains de ces utilitaires de préparation documentaire. La réponse au besoin est d'abord venu d'un collectif d'utilisateurs, puis de chercheurs de la francophonie.

    +

    Le Dico

    +

    Le plus ancien dictionnaire Français pour Unix dont j'aie connaissance est Le Dico de René Cougnenc, apparu en 1992 sous forme de logiciel pour Linux, puis pour MS-DOS, ensuite porté sous Windows par Serge Delbono.

    +

    Il est toujours diffusé aujourd'hui, par exemple sous Linux Debian.

    +

    La version 1.4 comporte 94.836 mots, plus 39.072 communes de France.

    +

    Je ne résiste pas au plaisir de reproduire le début de son fichier README.TXT, qui fleure bon la grande époque des BBS :

    +
       +--------------------------------------------------------------+
    +   |                                                              |
    +   |    LL       EEEEEEE        DDDDDD   IIII   CCCCC    OOOOO    |
    +   |    LL       EE             DD   DD   II   CC   CC  OO   OO   |
    +   |    LL       EEEE           DD   DD   II   CC       OO   OO   |
    +   |    LL       EE             DD   DD   II   CC       OO   OO   |
    +   |    LL       EE             DD   DD   II   CC   CC  OO   OO   |
    +   |    LLLLLLL  EEEEEEE        DDDDDD   IIII   CCCCC    OOOOO    |
    +   |                                                              |
    +   +--------------------------------------------------------------+
    +
    +                "Le Dico" est une premiere Francaise !
    +
    +  Plus   de  100.000  elements  comportant  noms  communs,  verbes,
    +  adjectifs, conjugaisons et  pluriels  complexes,  ainsi  que  les
    +  principaux CODES POSTAUX, FRANCAIS, soigneusement elabores par un
    +  collectif d'utilisateurs de  BBS  Francais,  et  mis  en  DOMAINE
    +  PUBLIC  au format ASCII ACCENTUE dans la mesure du possible, avec
    +  soit le jeu IBM pour MS/DOS, soit le  jeu  ISO  8859-1  pour  les
    +  autres systemes.
    +
    +  Tout  le  monde  en  parlait, tout  le  monde  cherchait  quelque
    +  chose de ce genre, eh bien  nous l'avons fait.
    +
    +  Le Dico c'est aussi une petite commande  simple  permettant  sous
    +  MS-DOS  ou  Unix  de trouver en un clin d'oeil un mot que l'on ne
    +  sait pas trop orthographier.
    +
    +

    IREQ-Francais

    +

    Produit au Canada entre 1993 et 1996 par Martin Boyer, alors chercheur à l'Institut de Recherche d'Hydro Québec (IREQ), ce dictionnaire français est directement prévu pour être utilisé avec ispell, l'un des successeurs de spell.

    +

    Dans sa version 1.4, il contient 24.419 mots simples et 23.199 mots "affixés", représentant un total de 221.376 mots ou variations de mots.

    +

    Pour faciliter la correction du dictionnaire, les mots sont groupés selon leur type +(noms communs et adjectifs, noms propres, verbes du premier groupe, verbes du deuxième groupe, etc.). +Un fichier spécial décrit les règles de modification des racines qui permettent de créer plusieurs mots à partir de variations sur une même racine.

    +

    Francais-GUTenberg

    +

    Produit en Suisse de 1998 à 1999 par Christophe Pythoud, qui travaillait à la section de Linguistique de l'Université de Lausanne (UNIL), avec le soutien de l'association Gutenberg, ce dictionnaire français est lui aussi prévu pour être utilisé avec ispell. Il succède directement au dictionnaire IREQ-Francais dont il entend corriger les inconvénients liés à son utilisation +avec ispell.

    +

    Le site n'est aujourd'hui accessible que par son archive Wayback Machine, mais son fichier source est disponible en paquet Debian et une liste de 336.531 mots du français en a été extraite en février 1999 et reste accessible sur le page openlexicon de Christophe Pallier. La documentation de référence est également accessible.

    +

    GNU Aspell French Word List

    +

    Ce dictionnaire, dont la dernière version date de 2002, a initialement été préparé par Rémi Vanicat du Laboratoire Bordelais de Recherche en Informatique (LaBRI). Il a été prévu pour être utilisé avec GNU aspell, l'un des successeurs de ispell.

    +

    Sa liste de mots est un mélange des dictionnaires de l'IREQ et de l'UNIL/Association GUTenberg mentionnés ci-dessus.

    +

    Il est naturellement téléchargeable sur le site du projet GNU.

    +

    Grammalecte dic

    +

    A renseigner...

    +

    Les autres dictionnaires francophones

    +

    On trouve plusieurs dictionnaires francophones téléchargeables sur le Web pour utilisation hors ligne, mais la plupart sont relativement peu accessibles et rarement directement utilisables sous Unix.

    +

    Voici une liste commentée de ceux que j'ai pu identifier:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EditeurNomContenu
    +Association des Bibliophiles Universels (ABU)Liste de mots255.282 mots communs avec classe grammaticale
    (dont mots accordés et 6.590 verbes conjugués)
    35.957 communes françaises avec code postal
    12.437 prénoms
    1.403 difficultés orthographiques
    170 pays et lieux
    Très intéressant, malheureusement le site n'a pas été mis à jour depuis 2002 et les adresses de contact ne fonctionnent plus.
    Téléchargement - dernière mise à jour en 2002 au plus tard
    Licence ABU
    Package Python pour utilisation directe sous Unix ou autres
    FreelangListe de mots français22.739 mots (dont noms propres, prénoms, lieux).
    Téléchargement - dernière mise à jour 26/3/2003
    Licence Freeware +
    +Laboratoire d'Automatique Documentaire et Linguistique (LADL),
    aujourd'hui intégré à l'Institut Gaspard Monge (IGM) de l'Université Gustave Eiffel +
    Dictionnaire DELA fléchi du françaisComporte 683.824 entrées simples pour 102.073 lemmes différents et 108.436 entrées composées pour 83.604 lemmes différents
    Téléchargement - dernière mise à jour le 16/3/2006
    Licence LGPLLR
    1er package Python pour utilisation directe sous Unix ou autres
    2ème package Python pour une version avec corrections
    ...Lexique / Open Lexicon FR...
    ...DEM et LVF...
    ...WiktionaryX...
    +

    Cette section est en cours de rédaction...

    +

    Les recherches en "documentation automatique" en France

    +

    Pour faire le pendant de ce qui se passait aux Bell Labs dans les années 1970 et cette "killer application" locale qu'était la préparation documentaire, on peut signaler des travaux de recherche publique antérieurs, tant aux Etats-Unis (Chomsky...), qu'en France.

    +

    L'ouvrage L'informatique en France de Pierre-Eric Mounier-Kuhn, en 2010, mentionne ainsi dès 1960 la création d'une Section d'automatique documentaire à l'Institut Blaise Pascal, où :

    +
    +

    La recherche automatique s'appuie sur un thesaurus mis en mémoire : synonymes, mots voisins ou composés... +réseau reliant les mots les uns aux autres.

    +
    +

    Plus loin :

    +
    +

    En 1963 la Section d'analyse documentaire a entrepris, sous contrat DGRST, d'inventorier +les études et applications intéressant le traitement automatique de l'information non numérique, principalement la documentation et la traduction automatiques. Le but est de permettre aux chercheurs +de s'informer des principaux travaux menés dans ces domaines à travers le monde. +Ce Groupe d'études sur l'information scientifique [...] devient en 1966 laboratoire d'automatique doumentaire et linguistique.

    +
    +

    Le fameux LADL de Maurice Gross à l'origine des dictionnaires DELA...

    +

    En conclusion sur les enjeux du sujet :

    +
    +

    Retenons les principaux traits de l'histoire de l'automatique documentaire au CNRS:

    +
      +
    • Elle est initiée par des utilisateurs de machines informatiques, qui veulent développer des applications nouvelles, sont confrontés à des problèmes fondamentaux et décident de s'y attaquer en quittant leur discipline d'origine.
    • +
    • [...] La discipline vers laquelle ils se tournent d'abord pour chercher des solutions est la linguistique. [...]
    • +
    • Au-delà des recherches dont elle est l'objet, l'automatique documentaire a de considérables enjeux économiques dans la défense, les administrations et les grandes entreprises. Toutefois la vision prophétique de la recherche d'information, de l'indexation, du dictionnaire des paradigmes est sans doute trop en avance pour avoir des impacts directs sur le plan pratique.
    • +
    +
    +

    On constate en effet, bien que rétrospectivement, le poids économique de la recherche d'information, héritière de ces travaux de documentation automatique, avec notamment le développement de Google, qui s'est dès l'origine donné pour mission d'organiser les informations à l'échelle mondiale dans le but de les rendre accessibles et utiles à tous.

    +

    Et les dictionnaires pour le projet PNU dans tout ça ?

    +

    Se lancer dans un projet tel que PNU m'a confronté d'emblée à la nécessité de disposer d'une documentation technique correcte, et donc de travailler assez tôt dans le projet sur les outils de préparation documentaire, dont man constitue la partie émergée de l'iceberg, et roff et ses variantes la partie immergée. Le contenu conservant toutefois plus d'importance que les contenants...

    +

    La particularité d'Unix étant d'être, bien plus qu'un système d'exploitation, un véritable système de traitement de données via ses multiples utilitaires et filtres de traitement de texte (au sens original et non dévoyé du terme), le besoin de disposer de dictionnaires de langues a suivi très rapidement.

    +

    Mais c'est également une nécessité pour d'autres domaines qui m'intéressent comme la cryptographie et les jeux de lettres.

    +

    On pourrait se demander à quoi bon consacrer tant d'efforts à refaire ce qui existe déjà ? Au-delà du prétexte pédagogique et de l'occasion de mise en pratique de "nouveaux" savoirs techniques, il s'agit surtout d'un voyage mémoriel qui me permet de remettre en perspective l'Histoire de ma Discipline.

    +

    Historique des dictionnaires électroniques du français

    +

    Voici deux liens intéressants pour approfondir le sujet et en apprendre plus sur son histoire :

    + + +
    + +
    +
    +
    + + + +
    Clone this wiki locally
    +
    + + + + + + + + +
    +
    +
    + +
    +
    + + +
    + +
    + + + +
    +
    + +
    + +
    +

    Footer

    + + + + +
    +
    + + + + + © 2024 GitHub, Inc. + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + diff --git a/sac/pages/github-wiki-see-page-m-bakkeby-dmenu-wiki-configuration b/sac/pages/github-wiki-see-page-m-bakkeby-dmenu-wiki-configuration new file mode 100644 index 0000000..f984708 --- /dev/null +++ b/sac/pages/github-wiki-see-page-m-bakkeby-dmenu-wiki-configuration @@ -0,0 +1,527 @@ + + + Configuration - bakkeby/dmenu GitHub Wiki + + + + + + + + + + +
    + + +
    +

    Configuration - bakkeby/dmenu GitHub Wiki

    +
    +

    This section outlines the various configuration options in config.h, what they do and what to +refer to.

    +

    The general principle here is that the configuration defines the default behaviour of dmenu while +most features and functionality can be enabled (or disabled) using command line arguments.

    +

    fonts

    +
    /* -fn option overrides fonts[0]; default X11 font or font set */
    +static char *fonts[] =
    +{
    +	"monospace:size=10"
    +};
    +

    The fonts config is a list of font names that the dmenu will use for displaying text.

    +

    The first in the list will be the primary font while the rest will be fallback fonts that are used +should the primary font does not have a specific glyph (character).

    +

    The font names can generally be found by using the fc-list command in a terminal.

    +

    Keep in mind that not all fonts are created equally. When combining different fonts they may have +to be set to different sizes to appear roughly the same.

    +

    If text size is significantly different to the size of symbols then you can try setting pixelsize +instead of size in the font string.

    +

    Refer to the ColorEmoji functionality if you plan to enable coloured emoji in the bar.

    +

    Refer to the fontconfig page for details when it comes to system configuration:

    + +

    prompt

    +
    static char *prompt = NULL; /* -p  option; prompt to the left of input field */
    +

    The prompt setting controls the default leading prompt indicating what kind of options dmenu is +presenting. This is more commonly set via the -p (or -prompt) command line option.

    +

    Here is an example setting a prompt of "Files:" when running dmenu:

    +
    $ ls | dmenu -p "Files:"
    +

    Which shows up like:

    +

    prompt.jpg

    +

    dynamic

    +
    static const char *dynamic = NULL; /* -dy option; dynamic command to run on input change */
    +

    The dynamic setting controls the default command that is executed on every input change to update +the current options. This is more commonly set via the -dy command line option.

    +

    For more information refer to the Dynamic Options page.

    +

    symbols

    +
    static const char *lsymbol = "<"; // shown when there are more items on the left
    +static const char *rsymbol = ">"; // shown when there are more items on the right
    +

    The left and right symbols (lsymbol and rsymbol settings respectively) are shown when there +are more items present in the given direction. These are configurable as per the +symbols patch for dmenu.

    +

    symbols.jpg

    +

    powerline

    +
    /* Powerline options, one of:
    + *    PwrlNone, PwrlRightArrow, PwrlLeftArrow, PwrlForwardSlash or PwrlBackslash */
    +static int powerline = PwrlNone;
    +/* By default the powerline separator will take up the full space between dmenu items.
    + * This option allows for the size to be reduced by a number of pixels, e.g. a value of 3
    + * will shave off three pixels on each side of the separator. This can be used to adjust
    + * the angle of a powerline slash or arrow. */
    +static int powerline_size_reduction_pixels = 0;
    +

    This option allows for powerline separators to be drawn between dmenu items in the form of arrows +or slashes.

    +

    The powerline_size_reduction_pixels setting allows for the width of the powerline separator to be +reduced in order to adjust the angle of the slash or arrow.

    +

    powerline.jpg

    +

    functionality

    +
    /* Functionality that is enabled by default, see util.h for options */
    +static unsigned long functionality = 0
    +	|Alpha // enables transparency
    +	|CaseSensitive // makes dmenu case sensitive by default
    +//	|Centered // dmenu appears in the center of the screen
    +//	|ColorEmoji // enables color emoji support (removes Xft workaround)
    +//	|ContinuousOutput // makes dmenu print out selected items immediately rather than at the end
    +	|FuzzyMatch // allows fuzzy-matching of items in dmenu
    +//	|HighlightAdjacent // makes dmenu highlight items adjacent to the selected item
    +//	|Incremental // makes dmenu print out the current text each time a key is pressed
    +//	|InstantReturn // makes dmenu select an item immediately if there is only one matching option left
    +//	|Managed // allow dmenu to be managed by window managers (disables override_redirect)
    +//	|PasswordInput // indicates that the input is a password and should be masked
    +//	|PrintIndex // makes dmenu print out the 0-based index instead of the matched text itself
    +//	|PrintInputText // makes dmenu print the input text instead of the selected item
    +//	|PromptIndent // makes dmenu indent items at the same level as the prompt on multi-line views
    +//	|RejectNoMatch // makes dmenu reject input if it would result in no matching item
    +//	|RestrictReturn // disables Shift-Return and Ctrl-Return to restrict dmenu to only output one item
    +//	|ShowNumbers // makes dmenu display the number of matched and total items in the top right corner
    +	|Sort // allow dmenu to sort menu items after matching
    +	|TopBar // dmenu appears at the top of the screen
    +	|Xresources // makes dmenu read X resources at startup
    +;
    +

    The functionality setting controls whether specific features are enabled or disabled.

    +

    The user can control which features are enabled by uncommenting or commenting out listed options +in this list.

    +

    Refer to the Functionality page for more details.

    +

    alpha

    +
    /* Alpha values. You only need to add colour schemes here if you want different levels of
    + * transparency per scheme. The default values are defined in the alpha_default array in drw.c. */
    +static const unsigned int alphas[SchemeLast][2] = {
    +	/*               fg      bg   */
    +	[SchemeNorm] = { OPAQUE, 0xd0 },
    +};
    +

    The alpha configuration controls the transparency levels of colours used in the dmenu window and +this is defined on a per colour scheme basis.

    +

    If a colour scheme is not explicitly listed in the alphas array above then they will default to +having an opaque foreground and a background opacity of 0xd0.

    +

    In other words you do not need to add colour schemes here unless you want something that has more +or less opacity than the defaults.

    +

    SchemeNorm is listed here primarily as an example for how to configure this, but also because many +compilers do not like empty initialisers.

    +

    The foreground (fg) colour transparency is used for text and is by default opaque.

    +

    The background (bg) colour transparency is by default 0xd0 (about 82% opacity).

    +

    Should you, for whatever reason, want to change the default alpha values then refer to the following +variable in drw.c:

    +
    static const unsigned int alpha_default[] = { 0xffU, 0xd0U };
    +

    colors

    +
    static char *colors[SchemeLast][ColCount] = {
    +	/*                        fg         bg         resource prefix */
    +	[SchemeNorm]          = { "#bbbbbb", "#222222", "norm" },
    +	[SchemeSel]           = { "#eeeeee", "#005577", "sel" },
    +	[SchemeOut]           = { "#000000", "#00ffff", "out" },
    +	[SchemeBorder]        = { "#000000", "#005577", "border" },
    +	[SchemePrompt]        = { "#eeeeee", "#005577", "prompt" },
    +	[SchemeAdjacent]      = { "#eeeeee", "#770000", "adjacent" },
    +	[SchemeSelHighlight]  = { "#ffc978", "#005577", "selhl" },
    +	[SchemeNormHighlight] = { "#ffc978", "#222222", "normhl" },
    +	[SchemeHp]            = { "#bbbbbb", "#333333", "hp" },
    +};
    +

    The colors array defines the colours used for the dmenu window including the border.

    +

    Each colour scheme consists of a foreground colour which is used for text and a background colour +that is used for the background in the bar.

    +

    The resource prefix is used in relation to loading / overwriting the colour schemes via Xresources. +Refer to the Xresources functionality for more information on that.

    +

    Should you need to add your own custom colour schemes then you can do so by expanding on the +corresponding enum in dmenu.c. Start by searching for "SchemeNorm".

    +

    lines

    +
    /* -l option; if nonzero, dmenu uses vertical list with given number of lines */
    +static unsigned int lines = 0;
    +

    The lines setting allows for dmenu to display options on separate lines rather than horizontally.

    +

    This is more commonly enabled using the -l command line option.

    +

    Example having dmenu present items over five lines:

    +
    $ ls | dmenu -c -l 5
    +

    lines.jpg

    +

    Note that the left and right symbols do not show when presenting items across multiple lines.

    +

    columns

    +
    /* -g option; if nonzero, dmenu uses a grid comprised of columns and lines */
    +static unsigned int columns = 0;
    +

    The columns setting allow for dmenu to display items in a grid. This is most commonly enabled +using the -g command line option and this must be combined with lines (-l) to work.

    +

    The -g option is short for "grid" and this is used to be consistent with the original +grid patch for dmenu and because other and perhaps +more intuitive flags are reserved for different functionalities.

    +

    Example having dmenu present items over a 5x3 grid:

    +
    $ ls | dmenu -c -l 5 -g 3
    +

    grid.jpg

    +

    lineheight

    +
    static unsigned int lineheight = 0; /* -h option; minimum height of a menu line */
    +

    By default the minimum line height will be the size of the font height + 2 pixels (as in one +additional pixel space above and below the text).

    +

    The lineheight setting controls the height of the dmenu bar, or the height of the dmenu lines +when items are presented across multiple lines, provided that this is greater than the minimum.

    +

    If lineheight is 0 then the default line height is used.

    +

    If lineheight is -1 then the line height will be 2.5 times that of the font height:

    +

    lineheight_minus_one.jpg

    +

    The -h command line option can be used to specify the line height. This will have no effect if +the provided value is less than the minimum (which depends on the font size).

    +

    Example having dmenu present items over a 5x3 grid with a line height of 60 pixels:

    +
    $ ls | dmenu -c -l 5 -g 3 -h 60
    +

    lineheight.jpg

    +

    min_width

    +
    static unsigned int min_width = 500; /* minimum width when centered */
    +

    The min_width setting controls the default (minimum) width of dmenu when centered. In practice +this controls the size of dmenu when centered. It is possible to override this size by using the +-w command line option to set the width of dmenu.

    +

    Also refer to the Centered functionality.

    +

    history

    +
    static unsigned int maxhist = 15;
    +static int histnodup        = 1; /* if 0, record repeated histories */
    +

    These options originate from the navhistory +patch for dmenu. The maxhist setting controls how many previous selections to remember while the +histnodup controls whether to allow duplicate values in the history or not.

    +

    This is to be combined with the -H histfile command line option which specifies the history file +to use.

    +

    Example using dmenu with a history file:

    +
    $ ls | dmenu -H histfile.dat
    +

    When using dmenu like this the selected item is stored in the given file histfile.dat.

    +
    $ cat histfile.dat
    +config.h
    +config.mk
    +arg.h
    +

    Exceptions to this:

    +
      +
    • when selecting multiple items only the last selected item will be stored
    • +
    • when selecting items using the mouse no item will be stored in the history
    • +
    +

    When using dmenu that has a history file like this then Alt+p and Alt+n keybindings can be used +to navigate the history of previously chosen items.

    +

    worddelimiters

    +
    /*
    + * Characters not considered part of a word while deleting words
    + * for example: " /?\"&[]"
    + */
    +static const char worddelimiters[] = " ";
    +

    dmenu comes with a few built-in keybindings that work with words:

    +
      +
    • +Ctrl+w - delete the word on the left
    • +
    • +Alt+b (or Ctrl+Left) - move cursor to the start of the current word
    • +
    • +Alt+f (or Ctrl+Right) - move cursor to the end of the current word
    • +
    +

    The worddelimiters setting controls what characters are considered as word boundaries.

    +

    border_width

    +
    /* Default size of the window border */
    +static unsigned int border_width = 0;
    +

    The border_width setting controls the width of the border around dmenu. A border width of 0 means +that dmenu is to be drawn with no border. This can also be set using the -bw command line option.

    +

    This feature originates from the border patch +for dmenu.

    +

    Example having a border width of 0:

    +
    $ ls | dmenu -c -bw 5
    +

    borderw5.jpg

    +

    Example having a border width of 5:

    +
    $ ls | dmenu -c -bw 0
    +

    borderw0.jpg

    +

    padding

    +
    /* Vertical and horizontal padding of dmenu in relation to monitor border */
    +static int vertpad = 0;
    +static int sidepad = 0;
    +

    The vertpad and sidepad options allows for dmenu to be placed with an offset to the monitor +border. This is intended to allow for dmenu to be placed on top of the bar in dwm when the +barpadding patch for dwm, which adds a gap between the bar and the edge of the monitor, has been +applied.

    +

    This can also be controlled using the command line arguments of -xpad and -ypad if preferred.

    +

    If the position of dmenu is specified using the -x or -y command line arguments, or if dmenu is +centered, then the vertical and horizontal padding will not be taken into account.

    +
    + +
    ⚠️ **GitHub.com Fallback** ⚠️
    +
    +
    + + +
    + + \ No newline at end of file diff --git a/sac/pages/groups-csail-mit-edu-mac-projects-mac b/sac/pages/groups-csail-mit-edu-mac-projects-mac new file mode 100644 index 0000000..9e67880 --- /dev/null +++ b/sac/pages/groups-csail-mit-edu-mac-projects-mac @@ -0,0 +1,154 @@ + + + + + + + +Project MAC Home Page + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    +

    Project MAC ("Switzerland")

    +

    + MIT Project on Mathematics and Computation +

    + "Neutral, but heavily armed."
    + + (Disclaimer) + +
    + + Project Mac, associated with the + MIT Computer Science + and Artificial Intelligence Laboratory, builds a wide + spectrum of intelligent computational tools to + help scientists and engineers understand + mathematical models of physical processes. + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Amorphous Computing + + one of our major current activities, + also includes biocomputing + (in the News) +
    + Other Research + + overview of previous research done in this group +
    + Scheme + + most of our work uses the Scheme dialect of Lisp, + for which we developed and maintain the MIT Scheme + implementation. +
    + People + + past and present members of this group +
    Publications + selected MAC bibliography, + amorphous computing papers +
    Other Resources + UROP information, + project MAC's FTP directory +
    Amusements + the Swiss Coke Machine, + the Unix extinguisher, + images of Switzerland (the country) +
    Other Sites + MIT home page, + MIT CSAIL home page, + MIT SIPB home page +
    +
    +
    +

    + + + Send comments about this site to + www-admin at zurich.csail.mit.edu
    + + Last modified: 4 July 2003 +
    +

    +
    +
    + + + diff --git a/sac/pages/horologiumflorae-fr---index b/sac/pages/horologiumflorae-fr---index new file mode 100644 index 0000000..0f74236 --- /dev/null +++ b/sac/pages/horologiumflorae-fr---index @@ -0,0 +1,2823 @@ + + + + + + + + + + +
    + + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + +
    + + +
    + +
    + +
    +
    Textes
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TitreAuteur•ice
    A*FCPRSONSLCUHDF* + Fleurs, corps, paysage, ruche et smartphones, ou notes sur la conception d’une horloge de flore + Marc Buchy
    B*ST* + Sans titre (Ou comment Marc Buchy m’a appris à ne plus m’en faire et à aimer les parterres de fleurs) + + Marie Cantos +
    C*LOBDMB*Les oscillations botaniques de Marc BuchyClelia Coussonnet
    D*HDF*Horloges de FloreGil Ferrand
    E*TSTV*Temps social & temps végétalGil Ferrand
    +
    + + + +
    +
    Plantes
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nom CommunNom ScientifiqueZone
    + + 1 + + + + + BDJ + + + + + Belle-de-jour + + + +

    Convolvulus tricolor L.

    +
    +
    + + matinal + +
    + + 2 + + + + + CR + + + + + Crépide rose + + + +

    Crepis rubra L.

    +
    +
    + + matinal + +
    + + 3 + + + + + CS + + + + + Chicorée sauvage + + + +

    Cichorium intybus L.

    +
    +
    + + matinal + +
    + + 4 + + + + + CB + + + + + Catananche bleue + + + +

    Catananche caerulea L.

    +
    +
    + + matinal + +
    + + 5 + + + + + ÉEÉ + + + + + Epilobe en épi + + + +

    Epilobium angustifolium L.

    +
    +
    + + matinal + +
    + + 6 + + + + + PO + + + + + Piloselle orangée + + + +

    Pilosella aurantiaca F.W.Schultz & Sch.Bip.

    +
    +
    + + matinal + +
    + + 7 + + + + + RA + + + + + Renoncule âcre + + + +

    Ranunculus acris L.

    +
    +
    + + matinal + +
    + + 8 + + + + + (VS) + + + + + Volubilis ‘Shiva’ + + + +

    Ipomoea purpurea Roth

    +
    +
    + + matinal + +
    + + 9 + + + + + (VG) + + + + + Volubilis ‘Grandpa Ott’ + + + +

    Ipomoea purpurea Roth

    +
    +
    + + matinal + +
    + + 10 + + + + + SDC + + + + + Souci des champs + + + +

    Calendula arvensis L.

    +
    +
    + + diurne + +
    + + 11 + + + + + SDJ + + + + + Souci des jardins + + + +

    Calendula officinalis L.

    +
    +
    + + diurne + +
    + + 12 + + + + + PDCR + + + + + Pavot de Californie ‘Red Chief’ + + + +

    Eschscholzia californica Cham.

    +
    +
    + + diurne + +
    + + 13 + + + + + PDCS + + + + + Pavot de Californie ‘Simple Mix’ + + + +

    Eschscholzia californica Cham.

    +
    +
    + + diurne + +
    + + 14 + + + + + LÀGF + + + + + Lin à grandes fleurs + + + +

    Linum grandiflorum Desf.

    +
    +
    + + diurne + +
    + + 15 + + + + + CA + + + + + Carline acaule + + + +

    Carlina acaulis L.

    +
    +
    + + diurne + +
    + + 16 + + + + + SDC + + + + + Souci du cap + + + +

    Dimorphotheca pluvialis Moench

    +
    +
    + + diurne + +
    + + 17 + + + + + GT + + + + + Gilia tricolore + + + +

    Gilia tricolor Benth.

    +
    +
    + + diurne + +
    + + 18 + + + + + ODV + + + + + Oxalis de Valdivia + + + +

    Oxalis Valdiviensis Barnéoud

    +
    +
    + + diurne + +
    + + 19 + + + + + NFC + + + + + Nicandre faux-coqueret + + + + Nicandra physalodes Gaertn. + + + + diurne + +
    + + 20 + + + + + FTM + + + + + Ficoïde + + + + Cleretum bellidiforme G.D. Rowley, 1979. syn. Dorotheanthus bellidiformis N.E.Br, 1928 +Syn. Mesembryanthemum criniflorum L., 1782 + + + + diurne + +
    + + 21 + + + + + HF + + + + + Hémérocalle fauve + + + +

    Hemerocallis fulva L.

    +
    +
    + + diurne + +
    + + 22 + + + + + GM + + + + + Grande marguerite + + + +

    Leucanthemum maximum D.C.

    +
    +
    + + diurne + +
    + + 23 + + + + + ŒDP + + + + + Œil-de-paon + + + +

    Tigridia pavonia Redouté

    +
    +
    + + diurne + +
    + + 24 + + + + + PR + + + + + Phalangère ramifiée + + + +

    Anthericum ramosum L.

    +
    +
    + + diurne + +
    + + 25 + + + + + CÀFO + + + + + Campanule à feuilles d’ortie + + + +

    Campanula trachelium L.

    +
    +
    + + diurne + +
    + + 26 + + + + + GC + + + + + Gentiane croisette + + + +

    Gentiana cruciata L.

    +
    +
    + + diurne + +
    + + 27 + + + + + P + + + + + Piloselle + + + +

    Pilosella officinarum Vaill.

    +
    +
    + + diurne + +
    + + 28 + + + + + OB + + + + + Onagre bisannuelle + + + +

    Oenothera biennis L.

    +
    +
    + + nocturne + +
    + + 29 + + + + + BDN + + + + + Belle-de-nuit + + + +

    Mirabilis jalapa L.

    +
    +
    + + nocturne + +
    + + 30 + + + + + (IB) + + + + + Ipomee blanche + + + +

    Ipomoea alba L.

    +
    +
    + + nocturne + +
    +
    + +
    +
    Légende carte
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Description
    Ruche
    //Limites du parc
    ::Chemin
    +
    +
    + +
    + + +
    + +
    + + +
    + +
    +
    + + + +
    + + + + +
    1 Belle-de-jour

    Convolvulus tricolor L.

    + + + + +
    + + + +
    + + + + +
    2 Crépide rose

    Crepis rubra L.

    + + + + +
    + + + +
    + + + + +
    3 Chicorée sauvage

    Cichorium intybus L.

    + + + + +
    + + + +
    + + + + +
    4 Catananche bleue

    Catananche caerulea L.

    + + + + +
    + + + +
    + + + + +
    5 Epilobe en épi

    Epilobium angustifolium L.

    + + + + +
    + + + +
    + + + + +
    6 Piloselle orangée

    Pilosella aurantiaca F.W.Schultz & Sch.Bip.

    + + + + +
    + + + +
    + + + + +
    7 Renoncule âcre

    Ranunculus acris L.

    + + + + +
    + + + +
    + + + + +
    8 Volubilis ‘Shiva’

    Ipomoea purpurea Roth

    + + + + +
    + + + +
    + + + + +
    9 Volubilis ‘Grandpa Ott’

    Ipomoea purpurea Roth

    + + + + +
    + + + +
    + + + + +
    10 Souci des champs

    Calendula arvensis L.

    + + + + +
    + + + +
    + + + + +
    11 Souci des jardins

    Calendula officinalis L.

    + + + + +
    + + + +
    + + + + +
    12 Pavot de Californie ‘Red Chief’

    Eschscholzia californica Cham.

    + + + + +
    + + + +
    + + + + +
    13 Pavot de Californie ‘Simple Mix’

    Eschscholzia californica Cham.

    + + + + +
    + + + +
    + + + + +
    14 Lin à grandes fleurs

    Linum grandiflorum Desf.

    + + + + +
    + + + +
    + + + + +
    15 Carline acaule

    Carlina acaulis L.

    + + + + +
    + + + +
    + + + + +
    16 Souci du cap

    Dimorphotheca pluvialis Moench

    + + + + +
    + + + +
    + + + + +
    17 Gilia tricolore

    Gilia tricolor Benth.

    + + + + +
    + + + +
    + + + + +
    18 Oxalis de Valdivia

    Oxalis Valdiviensis Barnéoud

    + + + + +
    + + + +
    + + + + +
    19 Nicandre faux-coqueret
    Nicandra physalodes Gaertn.
    + + + + +
    + + + +
    + + + + +
    20 Ficoïde
    Cleretum bellidiforme G.D. Rowley, 1979. syn. Dorotheanthus bellidiformis N.E.Br, 1928 +Syn. Mesembryanthemum criniflorum L., 1782
    + + + + +
    + + + +
    + + + + +
    21 Hémérocalle fauve

    Hemerocallis fulva L.

    + + + + +
    + + + +
    + + + + +
    22 Grande marguerite

    Leucanthemum maximum D.C.

    + + + + +
    + + + +
    + + + + +
    23 Œil-de-paon

    Tigridia pavonia Redouté

    + + + + +
    + + + +
    + + + + +
    24 Phalangère ramifiée

    Anthericum ramosum L.

    + + + + +
    + + + +
    + + + + +
    25 Campanule à feuilles d’ortie

    Campanula trachelium L.

    + + + + +
    + + + +
    + + + + +
    26 Gentiane croisette

    Gentiana cruciata L.

    + + + + +
    + + + +
    + + + + +
    27 Piloselle

    Pilosella officinarum Vaill.

    + + + + +
    + + + +
    + + + + +
    28 Onagre bisannuelle

    Oenothera biennis L.

    + + + + +
    + + + +
    + + + + +
    29 Belle-de-nuit

    Mirabilis jalapa L.

    + + + + +
    + + + +
    + + + + +
    30 Ipomee blanche

    Ipomoea alba L.

    + + + + +
    + + +
    +
    +

    + A + Fleurs, corps, paysage, ruche et smartphones, ou notes sur la conception d’une horloge de flore +
    Marc Buchy +

    +
    +
    +
    +
    +

    + B + Sans titre (Ou comment Marc Buchy m’a appris à ne plus m’en faire et à aimer les parterres de fleurs) +
    + Marie Cantos + +

    +
    +
    +
    +
    +

    + C + Sans titre (Ou comment Marc Buchy m’a appris à ne plus m’en faire et à aimer les parterres de fleurs) +
    + Marie Cantos + +

    +
    +
    + + +
    + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    +

    L’œuvre végétale de Marc Buchy réinterprète les recherches de Carl von Linné et son idée de chronobiologie. En 1751, le naturaliste suédois dresse une liste de fleurs qui s’ouvrent et se ferment à des moments particuliers. Linné suggère alors qu’il serait possible de lire l’heure en se basant sur le mouvement de leurs corolles. Plantée d’est en ouest, l’installation nous invite à la déambulation et à l’observation de ces petites modifications. En insérant son travail au cœur de Besançon, l’artiste a souhaité s’intégrer aux flux de la ville mais aussi dialoguer avec son histoire ouvrière et politique.

    +

    Ouverte sur le paysage, l’œuvre surplombe la cité d’où se détache le clocher de la cathédrale Saint-Jean abritant une horloge astronomique, point de départ de la réflexion de Buchy. À l’arrière-plan, l’horizon du massif du Jura inscrit l’œuvre dans le paysage et son temps extrahumain. Cette dimension temporelle rentre en dissonance avec celle des fleurs, mais aussi avec celle des smartphones, consultés par les visiteurs désireux d’obtenir des informations sur le site dédié. Enfin, d’insaisissables abeilles, dont une ruche a été installée à proximité, sillonnent le terrain à leur manière. Comment j’ai appris à ne plus m’en faire et à aimer la révolution se révèle ainsi être une vaste situation construite qui envisage le présent comme une superposition de diverses strates de perceptions et de compréhensions.

    +
    + +
    +

    Informations pratiques

    +

    Adresse :
    Extrême-Ouest du Parc des Glacis (en face de l'ancien jardin botanique), Besançon


    +

    Horaires d'ouverture :
    Accès libre en permanence jusqu'à l"automne 2023

    +
    + +
    +

    Temps Forts

    +

    Samedi 10 juin, 12h—18h :
    + Inauguration, discours et buffet à midi, présence de l’équipe l’après-midi. +

    +
    +

    Mercredi 12 juillet, 18h :
    + Rencontre avec le public et visite sur le site en compagnie de Marc Buchy, artiste et Gil Ferrand, ethnobotaniste. +

    +
    + +
    +

    Remerciements particuliers

    +

    Ville de Besançon ; Margot Michaud (Action Culturelle) ; Service des Espaces Verts de la Ville de Besançon (Samuel Lelièvre, Raffaello Scolamacchia, Francois Vayet et les équipes de l’Orangerie Municipale de Besançon, Laurent Cour, Johnny Magnenet) ; CFA du Doubs de Châteaufarine (Emmanuel Delavelle, Alexis Gross, Jean-Baptiste Perrot, les élèves du baccalauréat professionnel “Aménagements Paysagers” étant intervenus en décembre 2022 et en mai 2023) ; Les équipes de la DRAC Bourgogne-Franche-Comté ; Laurence Reibel et ses équipes (Musée du Temps), Aurélie Carré et ses équipes (Musée comtois & Muséum de la Citadelle de Besançon) ; L’équipe des 24H du Temps ; Sylvie Zavatta et ses équipes (Frac Franche-Comté) ; Pierre Soignon et le Réseau Seize Mille ; L’équipe de l’Agence Régionale de la Biodiversité de Bourgogne-Franche-Comté ; Le comité artistique des Mondes Nouveaux ; Nicolas Waltefaugle ; Pierre-Yves Petit ; Marie Cantos ; Clelia Coussonnet ; Alexie Le Corroller ; Claire Contamine

    + +
    + +
    +

    Équipe

    +

    Marc Buchy, artiste ; Gil Ferrand, ethnobotaniste, conseiller scientifique ; Michel Péna, paysagiste-concepteur, maître d’œuvre ; Eva Maric, paysagiste-infographiste ; Agence Eva Albarran & co (Tatiana Titli et Louise Riou), producteur délégué ; Marie Lécrivain, design graphique avec l'ASBL Luuse (Antoine Gelgon, Lara Dautun, Natalia Pageau), conception numérique ; Immortel Infra (205TF) & Post Gill Sans (Ésad•Valence), typographies ; Michel Mesnier, syndicat apicole du Doubs ; Yves Morel Workshop, soclage ; Léa Serre, Nicolas Henriot, stagiaires.

    +
    + +
    +

    Marc Buchy (1988, Metz) est un artiste plasticien basé à Bruxelles (Be). Artiste conceptuel, son travail prend des formes très diverses passant par un sifflotement au coin d’une rue à une recette de glace au chocolat ou l’apprentissage performatif d’une langue dite « en voie de disparition », jusqu’à la très grande installation florale de Comment j’ai appris à ne plus m’en faire et à aimer la révolution. Désirant interroger le capitalisme cognitif et les diverses modalités du savoir, cette dernière œuvre est l’occasion pour lui de prolonger l’un des fils rouges de son travail : la perception, mesure et lecture du temps.
    + www.marcbuchy.com +

    +
    + + + + + +
    + + +
    + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/sac/pages/https---memoire-emma-jade-fr b/sac/pages/https---memoire-emma-jade-fr new file mode 100644 index 0000000..f40364a --- /dev/null +++ b/sac/pages/https---memoire-emma-jade-fr @@ -0,0 +1,1122 @@ + + + + + + + + + + Mémoire – Emma-Jade De Moor + + + +
    + +

    + Comment
    + nous travaillons,
    + comment nous
    + pourrions travailler +

    + +

    + Emma-Jade De Moor – Mémoire de recherche professionelle +
    + Ésaat Roubaix 2022 - 2024 – DSAA graphisme +
    + Tutorat : Léonore Conte & Olivier Koettlitz +

    +

    Cliquez pour accéder au site !

    +
    + + + + + + + + +
    + +
    + + + + + + +

    + Note éditoriale +

    + + +
    +
    +

    Ce mémoire a d’abord été mis en pages dans une version imprimée à l’aide de MkDocs et de la librairie Paged.Js de Fred Chasen, Julie Blanc et Julien Taquet. Vous pouvez trouver le repo git de la version imprimée juste ici et celui de la version web quelque part par là. S’ils ne sont pas accessibles, patience, je m’occupe de la documentation.

    +

    Il a originellement été composé avec le caractère Hershey Noailles, un fork de hersheytextjs par Luuse et est constitué de cinq cahiers, dont les contenus ont été réorganisés pour le web, et quelques corrections ont été faites.

    +

    Le site que vous consultez est un site statique généré grâce à MkDocs. Son code et ses contenus sont sous licence CC-BY-NC-SA. Plusieurs scripts Javascript permettent la gestion des notes et des légendes, la génération du sommaire et l’ouverture des images dans un nouvel onglet lors du clic. L’indication des mots du sommaire par une variation de graisse a été conservée, en clin d’œil à l’édition imprimée, ainsi que la « page de garde » par laquelle vous êtes entré·e sur ce site. Des prises de vues des mémoires physiques arriveront prochainement.

    + + +
    + + +
    + Passer à la lecture + + +
    + +
    + + + + + +

    + Introduction +

    + + +
    +
    +

    Lorsqu’il est question des outils des designeur·euses graphiques, Adobe semble hégémonique pour le regard extérieur comme celui de l’initié·e. Photoshop est souvent le premier outil cité, suivi de près par le reste de la famille Adobe Creative Suite. Pour moi, comme pour bien d’autres étudiant·esGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. et professionnel·les, l’essentiel des compétences techniques acquises et sollicitées à l’école et au travail relèvent de ces logiciels. Les alternatives, aux logiques plus ou moins similaires, ne sont que rarement plébiscitées et peinent à se faire une place dans l’industrie du design graphique. +Polyvalents et efficaces, les outils Adobe sont aussi dématérialisés et centralisés. Les designeur·euses graphiques qui les utilisent sont tributaires du propriétaire de l’outil – l’entreprise Adobe – en ce qui concerne la disponibilité, la maintenance et l’amélioration des logiciels. Si Adobe décidait d’arrêter la distribution de ses logiciels, de nombreux·ses designeur·euses graphiques se retrouveraient dépourvu·es de leurs outils de travail, ou pire : de leur travail.

    +

    Dans le paysage européen et contemporain du design graphique, la question du choix de l’outil numérique et les rapports à la propriété et à la chaîne de production sont déjà questionnés : certain·es designeur·euses graphiques se forment au développement informatique (au code) pour s’émanciper des outils propriétaires. Des projets de publication alternatives libresTels que PrePostPrint ou de web-to-printComme Paged.Js créé par Adam Hyde et actuellement développé par Fred Chasen , Julie Blanc et Julien Taquet, ou PageTypeToPrint par Julien Bidoret. voient le jour et des collectifs tels que Open Source Publishing ou Luuse font le choix de ne travailler qu’avec des outils « libres » dans une démarche de hacker. +Dans les écoles, des événements s’organisent autour de ces problématiquesEn 2023, ont été organisés les recontres « Open Open » par l’ESAC de Cambrai et « PostScript écoles sous licences » par l’atelier de Communication graphique de la HEAR Strasbourg et les départements typographiques de l’ERG et de l’ENSAV La Cambre (Bruxelles). et certaines écoles les incluent dans leurs cursus : les cours d’ustensiles numériques de l’ERG s’orientent autour des outils libres et open source, et le CASO Arts Numériques de l’ENSAV La Cambre sensibilise les étudiant·es aux outils libres. Ces initiatives restent cela dit sporadiques, se limitant bien souvent à des cercles d’initiés aux pratiques plutôt expérimentales et liées à une recherche autour de l’outil.

    +

    Alors que les outils propriétaires sont à la fois les standards de l’industrie et des logiciels à l’accessibilité ou l’appropriation limitées par la propriété, comment le·a designeur·euse graphique peut i·el reprendre le contrôle sur ceux-ci et son autonomie ? Il est question ici d’imaginer de nouveaux modèles en revoyant nos paradigmes de travail et notre rapport d’usage aux outils. Pour ce faire, nous interrogeront la viabilité (ou l’utopisme) des outils libres, la nécessité de vivre de nos productions et la possibilité de reconsidérer notre rapport au travail et à l’argent.

    +

    On n’entendra pas, par le mot « outil », un simple prolongement du corps servant à augmenter son efficacité. « Outil » désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux-ci se rapprochent plutôt de « fonctionnalités ».

    +

    Concernant le mot « machine », il désignera l’ordinateur qui abrite et permet d’utiliser ces outils, au sens d’un appareil complexe faisant fonctionner ensemble différents composants de software. Nous ne traitons donc pas, sauf exception, du sujet ordinateur et de ses composants hardware. +Les outils Adobe serviront ici de cas d’école pour analyser et poser un regard critique sur ce qu’est la situation actuelle des travailleur·euses du design graphique et leurs rapports à l’outil. C’est en posant un regard critique sur l’outil et l’industrie que nous pourrons imaginer ce qui pourrait être, réfléchir à d’autres façon de se positionner vis-à-vis du travail et proposer une utopie réaliste qui puise dans l’éthique des libristes et des hackers.

    + +
    +
    + +
    + + +
    + +

    + Comment nous travaillons +

    + +
    +

    + L'aliénation du·de la designer·euse graphique, origines et manifestations +

    + + + +
    + +

    + Le travail du·de la designeur·euse graphique + +

    +

    Le mot travail est régulièrement galvaudé dans le langage commun, utilisé pour parler à la fois de l’ouvrage et de lui-même. Hannah ArrendtArendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll.« Agora », 2002. fait la distinction entre le travail (labour, en anglais) et l’ouvrage, l’œuvre (work, en anglais). Il y a dans le travail une dimension biologique qui est nécessaire à la survie. Travailler, « c’est l’asservissement à la nécessité »Arendt Hannah, Condition de l’homme moderne Poche, op. cit.. tandis que l’ouvrage correspond à l’œuvre produite par le travail, que nous appellerons les « productions de design graphique ». +Il faut aussi faire la distinction entre le travail et l’emploi. Ce dernier s’est développé avec le salariat et correspond à l’échange du travail contre une rémunération au travers d’un salaire. Selon Bernard StieglerStiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015., l’emploi réside dans cet échange tandis que le travail est ce par quoi on cultive un savoir quelconque en accomplissant quelque choseIbid, p. 17.. L’employé·e n’est alors plus à l’initiative de son activité, i·el la subit. En agence, par exemple, le·a designeur·euse graphique est soumis·e à une forme de hiérarchie et d’exploitation, liée à une perte d’autonomie sur le choix de l’objet de son travail, de ses outils ou de ses horaires.

    +

    Puisqu’il est nécessaire à la survie, ou permet au moins de développer de nouvelles capacités, il ne semble pas que le travail soit le réel problème. Ce sont plutôt les conditions de celui-ci qui sont à remettre en cause. Lorsqu’elles sont dégradées et que le travail ne relève plus de la survieC’est à dire qu’il ne consiste pas en une activité de survie, comme rechercher ou cultiver de la nourriture ou bien construire un abri. ou de la construction de soiPar le développement de savoirs ou de compétences.,comme depuis la révolution industrielle, il devient aliénant. C’est là que la rémunération devient particulièrement importante : c’est elle qui donne son intérêt à un travail exploitant et destructeur du temps de vie, dans la mesure où il n’est pas épanouissant.

    +

    D’après la théorie marxiste, la nécessité pour un·e travailleur·euse de vendre sa force de travail, couplée à une dépossession de ses savoirs et savoir-faire par la machine (industrielle), est ce qui le prolétariseMarx Karl, Le Capital Livre I.. Le prolétariat constitue alors une classe sociale soumise à la classe capitaliste qui dispose du capital et des moyens de production. +Bernard Stiegler fait glisser cette définition, habituellement orientée vers l’ouvrièr·e, vers le·a « concepteur·ice »Stiegler Bernard, « Prolétarisation », Ars Industrialis, consulté le 27/11/2023. qui serait prolétarisé·e par l’automatisation des « systèmes d’aide à la décision »Ibid. intégrés aux programmes informatiques. Nos outils de design graphique portent une forme d’automatisation dans le pré-remplissage des réglages ainsi que dans l’exécution des tâchesTrès simplement, l’outil forme d’Illustrator nous permet de « tracer » automatiquement des rectangles sans réellement tracer gestuellement les quatre côtés de ceux-ci..

    +

    Pendant la production, le·a designeur·euse graphique n’a que rarement l’occasion de penser à ses outils et de se les approprier. Comme à l’heure du taylorismeLa doctrine d’organisation du travail de l’ingénieur américain Frederick Winslow Taylor, datant de 1911, qui consiste à confier aux travailleur·euses des tâches simples et répétitives pour améliorer leur productivité., il se sert des fonctionnalités, contenues dans la machine, pour effectuer des tâches récurrentes : créer une zone de texte, régler un crénage, déplacer des éléments... +I·el devient l’auxiliaire de la machine, qui lui permet d’agir en cliquant sur des boutons virtuels. Lorsqu’Hannah Harendt analyse le travail à la chaîneArendt Hannah, Condition de l’homme moderne, op. cit., elle évoque la façon dont le rythme biologique du·de la travailleur·euse doit se plier à celui de la machine qui lui est mécanique. C’est justement la répétition de ce même geste, le clic, qui assujettit le·a designeur·euse graphique au rythme de l’ordinateur. Par ce non-choix de l’outil – qui revient à utiliser les standards de l’industrie, comme la suite Adobe – le·a designeur·euse adapte son geste à la machine, i·el s’automatise, n’expérimente pas et n’apprend plus.

    +

    À l’ère pré-numérique, lorsque les designeur·euses composaient encore systématiquement à partir d’esquisses et de collageLevit Briar, Graphic Means: A History of Graphic Design Production, 2017., le rapport au corps était bien différent. La taille de l’atelier le prouve bien, les designeur·euses pouvaient naviguer entre différents plans de travail tandis qu’aujourd’hui un seul écran d’ordinateur peut en contenir plus d’une dizaine. Le geste n’est pas simplement réduit au sens où la palette gestuelle est réduite : c’est aussi l’espace dans lequel le corps évolue qui se voit rétrécir. Le corps n’est plus tout à fait engagé dans la pratique, c’est finalement la machine qui accomplit automatiquement les tâches, nous privant au passage de la satisfaction de l’ouvrage. Comment, alors, le numérique a-t-il conditionné le travail des designeur·euses graphiques ?

    + + + +
    + + + +
    + +

    + L'étroit lien entre le numérique et le design graphique + +

    +

    L’opinion fait naturellement le lien entre le design graphique et le numérique, sans forcément questionner les origines de celui-ci. À l’instar des designeur·euses d’espace, d’objet ou textile, les designeur·euses graphiques utilisent des outils numériques. Pourtant, cela ne semble pas être un critère suffisant, sinon tous les champs du design seraient concernés par cette association. +Bien sûr, le design graphique se retrouve sur des supports numériques tels que les sites webs ou le design d’interface. Mais revenons un instant à ce que sont le graphisme et le numérique, de la façon la plus élémentaire possible.

    +

    Le mot graphisme vient du latin graphicus, du grec ancien graphikos, issu de graphein « écrire, dessiner, marquer une surface par une entame, creuser, entailler, tailler légèrement ». En linguistique, il correspond à la « manière de représenter le langage par l’écriture »Rey Alain, Dictionnaire historique de la langue française, leRobert, 2010.. +Quand nous parlons du numérique dans ce mémoire, nous traitons en fait des données informatiques. Ces données, écrites par l’humain ou compilées par l’ordinateur qui les interprète ensuite, ne sont rien de plus ou de moins que des séries de caractères. Par leur connexion à l’écriture, les deux domaines sont donc intrinsèquement liés. +Historiquement, aussi, le lien entre design graphique et numérique est évident. Déjà dans les années 1960, l’informatique faisait son entrée dans l’histoire de l’imprimerie au travers des micro-ordinateurs dans les machines de photocomposition. Dix ans après, l’invention de terminaux d’affichage a permis la saisie de texte et la composition de ceux-ci. Plus tard, des langages standardisés se développent pour permettre de décrire la structuration des documents destinés à être mis en pageBlanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 5.

    +

    Simultanément, l’émergence des premiers ordinateurs personnels, a rendu nécessaire la production d’interfaces familières et compréhensibles pour les non‑initié·es. C’est ainsi que sont nés les paradigmes de travail auxquels les designeur·euses graphiques sont habitué·es : le WIMP, Window Icon Mouse PointerFenêtre, icône, souris, curseur. et, dans les logiciels de création graphique, le WYSIWYG, What You See Is What You GetCe que vous voyez est ce que vous obtenez., qui est actuellement le plus répandu dans les logiciels propriétaires. Ces nouveaux paradigmes de travail ont modifié les conditions de celui-ci pour les designeur·euses graphiques, impactant au passage leur aliénation.

    + + + +
    + + + +
    + +

    + L’impact des pratiques numériques sur l’aliénation du·de la designeur·euse graphique + +

    +

    En suivant la lignée de l’informatique personnelle, les interfaces des logiciels propriétaires reposent sur des affordances similaires à la « Métaphore du bureau » d’Alan KayIntroduite en 1980 avec la sortie de l’ordinateur personnel Xerox Star.. Les objets virtuels, comme la corbeille, illustrent l’action à laquelle ils correspondent. Sur Photoshop par exemple, on dessine au crayon et on emprunte à l’argentique ses outils de retouche lumière pour régler la densité d’une image.

    +

    Depuis son avènement sur le marché du logiciel, notamment avec le logiciel de mise en page PageMaker (encore édité par Aldus à la sortie du Macintosh de 1984), Adobe n’a eu de cesse de simplifier le travail des designeur·euses et autres professionnel·les de la création graphique. N’étant plus obligé·es d’avoir recourt à la photocomposition, i·els ont pu passer moins de temps sur leurs expérimentations et, de fait, les pousser plus loin et être plus productif·vesJe fais ici référence à des productions telles que celles de David Carson ou de la revue Emigre Magazine..

    +

    De la même façon, la société Adobe promeut la simplicité d’utilisation de ses outils. Adobe CS6 était mis en avant avec l’argument suivant :

    +
    « Innovez sans avoir à vous former à de nouveaux logiciels. Exploitez des outils familiers pour donner aisément libre cours à votre créativité au sein d’un univers élargi d’applications de création. »Adobe.com, citation tirée d’un écrit de Kévin Donnot, « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115.
    + +

    Il semble essentiel de questionner la pertinence de cet argument de vente pour les designeur·euses graphiques qui, de par leur pratiques spécialisées, utilisent quotidiennement ces outils. Avons-nous réellement besoin d’un logiciel clé en main ? N’ayant plus besoin d’avoir recours à des techniques spécialisées, nous pouvons (comme n’importe qui d’autre), obtenir rapidement un résultat satisfaisant. Maintenant que les logiciels ne sont plus nouveaux, ce gain de temps semble se faire au détriment de l’apprentissage et au profit de la productivité. L’enjeu ne semble alors plus être de libérer du temps pour expérimenter mais d’accélérer la cadence de production.

    +

    En outre, les évolutions esthétiques émanant de l’invention de la PAO montrent que les paradigmes de travail influent sur la manière d’interagir avec la machine. Les designeur·euses graphiques doivent prendre conscience que chaque interface prédéfinie possède « son propre cadre et schéma de pensée »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. qui, par l’utilisation automatique d’un même outil, finit par prendre le dessus sur l’autonomie du·de la designeur·euseNous aborderons plus tard l’influence de l’outil sur la forme.. L’étendue des fonctionnalités des logiciels Adobe semble, au premier abord, offrir un champ des possibles « infini », mais comment un seul outil pourrait-il correspondre à tous les projets ?

    +
    +« Ne serait-il pas pertinent de choisir ou d’adapter le logiciel utilisé au projet qu’il sert ? »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. +
    + +

    ...et, par la même occasion, d’adopter une approche située vis-à-vis des possibilités de l’outil et de son contexte de développement et d’utilisation.

    + + + +
    + +
    + + +
    +

    + Le rapport des designeur·euses à l’outil +

    + + + +
    + +

    + Portrait du modèle économique dans lequel évoluent les designeur·euses graphique + +

    +

    Pour comprendre les rapports entretenus par les designeur·euses à leurs outils, intéressons nous au modèle économique dans lequel ceux-ci prennent place. +Le travail artistique peine à être reconnu comme travail. Dans le cas précis du·de la designeur·euse graphique, i·el a commencé par une position de travailleur·euse technique, au sein des ateliers médiévaux de copistes ou de ceux des ouvrièr·es typographesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. p. 301. Le mythe du « génie créatif »Ibid. Traduction de l’expression creative genius employée par l’auteur. de la Renaissance ne refait son apparition dans le design qu’à partir du dix‑neuvième siècle.

    +

    Bien que John Ruskin et Karl Marx voyaient l’activité artistique comme non-aliénée, par l’épanouissement trouvé dans l’exécution d’une œuvre à la fois utile et satisfaisante pour l’unLaski Gary, Le design« : Théorie esthétique de l’histoire industrielle, Philosophie; Université Paris-Est, 2011. et par opposition au travail et à la concurrence pour l’autreBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., la culture professionnelle contemporaine fait des designeur·euses graphiques les travailleur·euses idéaux·ales pour le néo-capitalisme. Ce métier-passion, qui n’est pas qu’un emploi puisqu’il pourrait aussi être épanouissant, permet aux capitalistes (les employeur·euses et, dans une certaine mesure, les commanditaires) de tirer profit de l’engagement des designeur·euses et de les soumettre à des conditions de travail inacceptablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254.. Il n’est pas rare qu’un·e designeur·euse travaille au-delà du temps prévu sans être rémunéré·eCe que Marx appelle le surtravail, permettant de produire la plus-value., alors que son employeur·euse en tirera profit.

    +

    On retrouve ici cette question du temps : il y a un manque de temps pour expérimenter et, pourtant, des heures supplémentaires travaillées. Ce qui pose problème, c’est l’emploi du temps du·de la designeur·euse qui se consacre à la production capitaliste plutôt qu’à l’enrichissement de sa pratique et son épanouissement dans celle-ci. Je ne blâme ici nullement les designeur·euses, mais le modèle économique aliénant dans lequel i·els travaillent et qui ne leur laisse pas forcément le choix.

    +

    Au sein de ce modèle économique, les technologies occupent une place centrale. L’essentiel des licenciements dans le design graphique sont liés aux évolutions technologiquesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. : l’arrivée de la PAOPublication Assistée par Ordinateur. a fait disparaître des emplois au sein de l’imprimerie et, plus récemment, de nombreux·ses graphistes se sont retrouvé·es en difficultés lorsque les technologies standard du Web ont pris le dessus sur Flash, qui a cessé d’être pris en charge par Adobe en 2020.

    +

    La suite Adobe, qui paraît être indispensable au travail de designeur·euse graphique, relève d’un abonnement mensuel coûteux67,01 euros par mois, sans réduction, le 27 novembre 2023. ne rendant les outils accessibles qu’à celleux dont la pratique génère de l’argent et fait appel quotidiennement aux logiciels Adobe. Ce coût peut aussi représenter un frein à la multiplication des outils. Beaucoup de version piratées sont en circulationGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. mais elles ne suffisent pas toujours car elles ne permettent pas de faire de mises à jour, alors même que beaucoup d’imprimeur·euses et de sociétés de production travaillent avec les dernières versions. Une version antérieure manquera de certaines fonctionnalité, mais le logiciel ne devient pas obsolète puisqu’il existe une forme de rétro-compatibilité. Celle‑ci ne va que dans un seul sens, sans retour en arrière possible d’une version plus récente à une version datée. Heureusement, il est toujours possible aujourd’hui d’enregistrer ses fichiers de travail pour la version CS6, la dernière Adobe Creative Suite, licence « peprpétuelle » qui s’est arrêtée en 2013 pour passer au tout dématérialisé avec un abonnement dans le Cloud.

    +
    + + + +
    + +

    + Complications éthiques de l’outil propriétaire + +

    +

    Le passage des logiciels nécessitant un achat unique non-relié à un compteÀ l’image des formats physiques, comme le CD, mais aussi certains logicels dématérialisés. aux logiciels dématérialisés soumis à un abonnement ne sert qu’Adobe, pas les designeur·euses graphiques. Ce fonctionnement force l’utilisateur·ice à s’abonner car il faut être connecté·e pour utiliser l’outil, travailler sur sa production (les fichiers de travail sont par défaut enregistrés en format propriétaires et ne peuvent être ouverts qu’avec l’outil adéquat, comme le .ai d’Illustrator) voire même accéder aux fichiers puisque l’entreprise encourage aussi au stockage des fichiers de travail sur le cloud Adobe. La production ne peut donc pas exister sans l’outil tant qu’elle n’est pas finalisée et exportée dans un format souvent non-modifiable.

    +

    D’autre part, dans le capitalisme vu par Karl Marx, le·a travailleur·euse se retrouve en concurrence avec la machineFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll.« Les Chemins de la philosophie ». en terme de capacités de production et d’efficacité. Aujourd’hui, l’idée pourrait être transposée aux craintes de certain·es designeur·euses vis à vis du développement des intelligences artificielles qui tendent à se retrouver dans les logiciels de l’industrie. Adobe, par exemple, a introduit l’IAIntelligence artificielle. dans Photoshop. Ironiquement, ces IA sont alimentées par l’enregistrement de la production des designeur·euses, lorsqu’iels utilisent le logiciel, sans consentement explicite de leur part (une option qui peut être désactivée mais sur laquelle il n’y a pas eu de communication).

    +

    L’argument principal pour l’utilisation des IA est, à nouveau, le gain de temps. On retrouve l’idée de l’emploi du temps : que permet-il réellement ? En exécutant les tâches fastidieuses et peu satisfaisantes, comme le détourage, elles peuvent permettre d’alléger la charge de travail du·de la travailleur·euse, qui n’aura pas à effectuer ces tâches. Si c’est à ça que le temps économisé sert, il peut être intéressant comme lorsque William Morris ne rejette pas la machine qui permet de faire sans effort les tâches fastidieuses et nécessaires à la sociétéMorris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.. Cela dit, il semble que ce gain de temps permette surtout aux travailleur·euses de passer à d’autres tâches et, de fait, d’être plus productif·ves sur un même temps de travail : les avancées techniques des outils n’ont ni raccourci les journées de travail ni supprimé les heures supplémentaires.

    +
    + + + +
    + +

    + Faire avec, s’accommoder de l’outil plutôt que de se l’approprier + +

    +

    Puisque les outils Adobe règnent en maîtres sur l’industrie, les designeur·euses graphiques sont contraint·es de « faire avec » ceux-ci  i·els les utilisent, se débrouillent, s’en accommodentKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit.. Cette expression traduit « la relation actuelle de la majorité des designers graphiques à leurs outils de travail. Une relation pauvre, réduite à un rapport instrumental » Ibid. au logiciel. +L’outil est utilisé comme un moyen, sans forcément être considéré comme une fin (c’est même sa définition). Pourtant, face au monopole d’Adobe et les problèmes qu’il soulève, il est urgent de problématiser les relations qu’entretiennent les designeur·euses graphiques avec leurs outils. Bien sûr, un outil Adobe est efficace. Mais est-il le seul moyen ? L’outil semble offrir bien d’autre aspects à étudier que l’effet qu’il produit, ne serait-ce que la manière dont cet effet est produit et ce qu’il produit sur son utilisateur·ice.

    +

    On comprend d’instinct comment et pourquoi le fusain laisse une trace sur une feuille. Pourtant, nous ne réalisons pas tout à fait les mécanismes qui permettent à notre outil de générer du flou sur une image, ou de régler automatiquement le crénage d’un paragraphe. +Cette part de mystère s’apparente au concept de boîte noireThéorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque. : l’outil est appréhendé empiriquement, on peut déduire le résultat d’une action et décider de l’utiliser sans comprendre ce qui se passe dans les rouages internes de la machine. La boîte noire nous dépossède de l’outil compte tenu du fait que nous ne sommes plus en pleine capacité de le comprendre et de le contrôler. La machine est automatisée et effectue les tâches à notre place. On pourrait dire que la machine crée « toute seule » ou, en tout cas, qu’elle réalise elle‑même les idées du·de la designeur·euse graphique. C’est peut-être parcequ’il y a un besoin de contrôle de l’outil et de compréhension de celui-ci que, dans les écoles d’art, une forme jubilatoire de retour à l’artisanat émergeMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022. au travers de l’usage d’outils non-numériques.

    +

    fig. 1 Schéma d’une boîte noire, Adrien Moyaux, licence CC-BY-SA.

    +

    On ne cherche bien sûr pas ici à éliminer les machines (ou les logiciels) mais de s’assurer qu’elles ne dénaturent pas le travail humain. S’il y a une automatisation, une boîte noire, il faudrait qu’elle ne serve que pour la « pacotille »Morris William, Comment nous vivons, comment nous pourrions vivre, op. cit., les tâches chronophages que nous évoquions plus tôt. Quand bien même, il serait toujours pertinent de comprendre le fonctionnement de nos outils pour éviter de ne dépendre que d’un outil qu’on pense maîtriser mais que nous serions incapables de reproduire ou de réparer en cas de bug.

    +
    + +
    + +
    +

    + Quelle critique de l’outil pour la discipline ? +

    + + +
    + +

    + L’industrie, le déterminant de l’outil + +

    +

    En travaillant avec des logiciels tout-en-un, les tâches anciennement exécutées par des spécialistes ou avec des moyens de production spécifiques deviennent de simples fonctionnalitésGrootens Joost, « Tools R Us », op. cit.. L’outil numérique permet à la machine d’abriter tous les ateliers, faisant du·de la designeur·euse graphique un·e opérateur·ice de celle-ci. Un même outil sert à effectuer les tâches d’un·e typographe, d’un·e compositeur·euse, d’un·e metteur·euse en page… et de nombreux·ses autres. Le prix de l’économie de temps et de moyens (plus besoin de communication entre divers services, et moins de personnes à rémunérer sur un projet), est celui de la disparition de certains savoir-faire.

    +

    Comme tout est automatisé, le·a designeur·euse peut se fier à ce que produit la machine sans pour autant s’assurer que le résultat est optimal, puisqu’i·el n’a pas la maîtrise de tous les métiers qui ont pu constituer la chaîne de production graphique. Il semble d’ailleurs difficile pour un·e seule personne d’être parfaitement qualifiée à tous les niveaux.

    +

    Lorsqu’il parle de l’avénement de la PAO, Paul BrainerdLe co-fondateur d’Aldus, qui éditait Pagemaker à l’époque, entendu dans le documentaire Graphic Means: A History of Graphic Design Production de Briar Levit, op. cit. fait un constat similaire :

    +
    +« Je suis consterné par l’amateurisme de certaines compositions. On était très méticuleux, mais on faisait des erreurs. Et quand on en faisait, je pensais, ‹ Oh mon dieu, j’aimerais qu’on ait encore des compositeurs compétents pour faire ce travail. Nous sommes des amateurs. › » +
    + +

    En outre, les grands outils propriétaires utilisés par les designeur·euses graphiques sont des produits qui appartiennent à des entreprises (Adobe, Apple, Microsoft, Meta, Linotype...) ayant plus de comptes à rendre à leurs actionnaires qu’à leurs clients. En développant ces outils, elles créent le code mais aussi les standards, les interfaces, les plateformes et les filtres qui façonnent et influencent le design graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. p.390 à 392.. Par leur simplicité d’utilisation, ces outils sont plus accessibles pour des usages amateurs. Mais, tous ces pré-réglages ne sont-ils pas déterminants de la forme finale de la production graphique ?

    +
    + + +
    + +

    + L’influence formelle de l’outil sur les productions de design graphique + +

    +

    Le conditionnement et les pré-réglages des outils portent une influence sur l’usage qui peut en être fait. Loin du rapport de cause à effet rationnel (le texte est à cette taille par défaut, je le laisse tel quel) mais plutôt de l’ordre d’un effet mystérieux, irrationnel et insidieux. Il semble que les paradigmes de travail et les pré-réglages conditionnent la création du de·la designeur·euse graphique, sans qu’i·el en ai conscience. +Paradoxalement, l’outil est rempli de réglages rationnels. Les menus et paramètres ont des valeurs par défaut, issues des choix des producteur·ices d’outils, et sont donc le reflet d’une certaine conception du design graphique. En limitant le nombre de ses outils, on réduit par la même occasion le champ des possibles et la variété des approchesGrootens Joost, « Tools R Us », op. cit.. +La domination d’un outil risque aussi de conduire à une pratique spécifique, mais limitée. Edward R. Tufte soutenait par exemple que le recours systématique à PowerPoint modelait une même structure hiérarchisée pour tous les diaporamas, puis à toutes les présentations de contenu, transformant « l’information en argumentaire de vente et les présentateurs en marketeurs »R. Tufte Edward, The Cognitive Style of PowerPoint, 2003.. Nullement liées à un manque de créativité des designeur·euses – de nombreux travaux originaux ont été produits grâce aux outils d’Adobe – ces limites émanent simplement de l’enfermement de la créativité dans un seul paradigme logiciel.

    +

    Le designer graphique Elliot Ulm a mené l’expérience suivante : utiliser toute une série de logiciels différents pour la réalisation d’une même idéeUlm Elliot, « i made the same design in every program ever ».. Bien que l’idée d’origine soit la même, chaque production est différente. Dans son comportement, que nous analysons à partir de la vidéo qu’il a produiteIbid., il travaille avec les outils qu’il connaît en conservant ses automatismes et aborde les outils « nouveaux » par un moment de découverte au cours du quel il fait l’expérience des fonctionnalités, effets, réglages et/ou pré-sets disponibles. Cette phase expérimentale se ressent dans sa production, il arrive qu’il prenne la liberté de faire varier ses compositions en fonction des possibles de l’outil utilisé.

    +

    Quand il utilise Publisher [fig. 2], par exemple, il fait appel aux pré-sets du logiciels en guise d’éléments graphiques. Le résultat obtenu aurait été réalisable avec un autre logiciel, mais Elliot Ulm aurait-il eu l’idée d’utiliser des blocs textuels ? Quand bien même cela aurait été le cas, ces éléments graphiques n’auraient sûrement pas eu tout à fait la même forme. C’est aussi en expérimentant avec les textures inclues dans l’outil PicMonkey [fig. 3] qu’il a eu l’idée d’ajouter des textures, un choix encore inédit à ce stade de la vidéo. De la même façon, c’est parce que l’outil KidPixUn logiciel pour enfant, peut-être encore plus libérateur par son aspect désinvolte [fig. 4] lui a suggéré, à l’export, d’ajouter un effet 3D qu’il a fait le choix de l’ajouter.

    +

    fig. 2 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Microsoft Publisher</em>.

    +

    fig. 3 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MonkeyPic</em>.

    +

    fig. 4 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>KidPix</em>.

    +

    L’utilisation d’éléments 3D sur Powerpoint [fig. 5] semble elle aussi influencée par leur disponibilité dans le logiciel. Au-delà des éléments graphiques pré-existants, on peut remarquer que l’affiche produite avec PowerPoint utilise la police de caractère Calibri, proposée par défaut par le logiciel. Peut être que le (non-)choix typographique aurait été différent si la police par défaut avait été Arial ?

    +

    fig. 5 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>PowerPoint</em>.

    +

    Enfin, les outils très limités comme Microsoft Paint [fig. 6] influencent la forme au travers du tout petit champ des possibles proposé. La production d’Elliot Ulm est transparente sur la question de l’outil : elle a été produite à l’aide d’un logiciel qui n’abrite que des fonctions de dessin.

    +

    fig. 6 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MS Paint</em>.

    +

    Pour les logiciels « jumeaux », qui ont des interfaces et des fonctionnements similaires tels Photoshop [fig. 7] et Photopea [fig. 8] ou Inkscape [fig. 9] et Illustrator [fig. 10], sa méthode de travail a été similaire pour chaque duo. Il s’est appuyé sur les mêmes fonctionnalités et a adopté des méthodes de travail identiques à partir de ses automatismes. Pour Photoshop et Photopea, en particulier, l’interface est sensiblement identique. Il a donc pu proposer deux affiches très proches et n’a pas cherché à renouveler les formes produites.

    +

    fig. 7 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photoshop</em>.

    +

    fig. 8 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photopea</em>.

    +

    fig. 9 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Inkscape</em>.

    +

    fig. 10 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Illustrator</em>.

    +

    Le dernier aspect déterminant est la façon dont les designeur·euses agissent souvent par « sélection »Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011., c’est à dire en faisant des choix entre différentes options qui fonctionnent bien, selon des réglages précis, qu’i·els sélectionnent sans les créer i·els même, et qui ne laissent aucune place au hasard ou à l’erreur. L’outil fait parfaitement ce qu’il est supposé faire, ce sont les décisions prises par le·a designeur·euse et la combinaison des sélections qui créent la qualité de la production. +Il y a toute fois une trop petite marge de manœuvre, un manque de personnalisation dans les outils habituels. Avec les outils propriétaires, il est plus difficile de développer une singularité, sans laquelle il ne peut y avoir de création. En réponse à ces critiques, Adobe a permis l’intégration de plug-ins qui peuvent ouvrir à de nouveaux usages sans modifier fondamentalement l’application. Ils sont développés par Adobe, ou en « partenariat » avec des développeur·euses externes. Il n’est donc pas possible de développer un plug-in personnalisé. +ExtendScript Toolkit, une API d’Adobe, permet d’interagir avec ses logiciels par du code informatique plutôt que l’interface graphique habituelle et d’imaginer de nouvelles méthodes de travail. Malheureusement, le projet est faiblement documenté et l’éditeur de script plutôt aride. Il y a bien le projet Basil.Js, par l’Académie d’art et de design de Bâle, qui cherche à simplifier l’accès à l’API d’Indesign mais il est peu suivi. Il a toutefois permis au projet Scriptographer de voir le jour, bien que le projet ai été abandonné au profit de Paper.Js, un équivalent s’appuyant plutôt sur les technologies ouvertes du WebLehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012..

    +
    + + +
    + +

    + L’école, avant d’intégrer l’industrie + +

    +

    Les outils maîtrisés par les designeur·euses graphiques sont, pour la plupart, ceux qui leur ont été enseignés à l’école. Bien que les outils se soient démocratisés et que le design graphique soit devenu beaucoup plus accessible, l’école et l’industrie restent toujours très connectées.

    +

    En effet, les méthodes et les compétences acquises à l’école façonnent l’industrie qu’elles intègrent en même temps que les jeunes designeur·euses graphiques entrant dans le monde professionnel. Dans l’autre sens, le design graphique est aussi enseigné pour répondre aux besoins de l’industrie et rendre les étudiant·es sortant·es employablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it,op.cit., p. 348.

    +

    Nonobstant, l’école ne peut se contenter de simuler le « monde réel »Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit. et de délivrer des entry-level skillsIbid., p. 53‑63., compétences de base qui permettent de trouver un emploi et de pouvoir être en compétition loyale avec les diplômé·es sortant·es. +Les écoles sont en effet des terrains intéressants pour reconfigurer les pratiques de design graphique et repenser le rapport du·de la designeur·euse aux outils. Cela pousserait les écoles à retrouver une position centrale dans les débats sur le design graphiqueComme récemment lors des conférences organisées à Bruxelles ou Cambrai., plutôt que de former tout particulièrement à une pratique du design spécialisée, au profit des besoins de l’industrie et des entreprises, en formant les étudiant·es uniquement (ou presque) à ces moyens de production. Pour cela, il est impératif que l’école soit indépendante des grandes entreprises et puisse prendre de la distance avec les volontés gouvernementales et individuelles de former des designeur·euses prêts pour le marché du travail.

    +

    Il faut alors accepter que l’école ne mène pas forcément à un emploi de designeur·euse graphique prédéterminé. Dans les écoles gérées par le ministère de l’éducation nationale, la réforme du DN MADe va en ce sens : la pratique va vers la théorie, la conceptualisation, la recherche. La volonté de masterisation du DSAA confirme cette inclinaison de l’école à s’orienter vers la recherche, au sens d’une étude critique avec ses questionnements et incertitudes, en opposition à l’enseignement de savoirs et savoir-faire arrêtésHuyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017, p. 27.. L’idée est que la théorie puisse s’immiscer dans les pratiques autres que celle de l’écriture, et de mettre ces pratiques en regardop. cit..

    +

    Malgré tout, dans les cursus, l’étude théorique passe après les bases de la pratique et c’est seulement à un niveau supérieur que l’étudiant·e se retrouve face à l’histoire, la théorie et à des perspectives plus larges sur le designSwanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit.. À l’ésad d’AmiensÉcole supérieure d’art et de design d’Amiens, gérée par le ministère de la culture., les étudiant·es bénéficient de deux cours théoriques« Histoire des dispositifs de l’image » et « Histoire du graphisme ». contre huit cours de pratique« Graphiques communication visuelle et médium » et « plastiques artistiques ». Les informations sur le cursus sont tirées du mémoire de Guillaume Tourscher, « Le graphisme entre {artisanat, industrialisation, hybridation}» rédigé de 2021 à 2022 pour son DNSEP à l’ésad d’Amiens.. L’institut supérieur des arts et du design de Toulouse propose par exemple, certaines semaines, des créneaux dédiés à des enseignements théoriques sous forme de séminaire. Elle accorde à ces matières une « place de choix [...] parce qu’elles sont elles-mêmes des pratiques, un moyen de la pensée venant à la rencontre du langage de l’artiste » et défend l’importance de l’articulation entre réflexion théorique et expression artistiquePrésentation du Cycle 2, option design graphique de l’école dans le Livret de l’étudiant·e en art, design, design graphique 2023 - 2024, à l’adresse https://livret.isdat.fr/impression, consulté le 04/01/2024.. Il arrive pourtant que cette orientation théorique soit critiquée par les enseignant·es et les professionnel·lesLe sujet a été évoqué de façon informelle lors de l’entretien de mi-stage de DSAA entre mes tutrices et l’enseignant qui s’occupait du suivi pédagogique. qui pensent que l’enseignement devrait reposer sur un apprentissage technique qui rendrait efficace pour intégrer le marché dès la sortie de l’école. Mais alors, l’école nous apprendrait à entrer dans le moule de l’industrie, à se soumettre au marché et à l’exploitation et à devenir des catalogues de compétences plutôt qu’à développer une pensée du métier. Si le travail participe au développement de capacités nouvelles, ces compétences ne pourraient-elles pas être en partie acquises et solidifiées grâce à celui-ci ?

    +

    Il ne s’agit pas ici de n’étudier que de la théorie, la pratique et la maîtrise de savoir-faire spécialisés restent fondamentales au métier de designeur·euse graphique. L’école doit tout de même continuer à former au milieu professionnel, en trouvant le juste milieu pour rester un lieu propice au développement d’une pratique personnelle et d’un positionnement détaché de l’industrie.

    +

    Plutôt que d’apprendre, par exemple, à utiliser tel ou tel logiciel, les étudiant·es pourraient être formé·es à des logiques logicielles plus générales et préparé·es à de possibles futurs du design plutôt qu’à répondre aux attentes actuelles de l’industrie. D’ailleurs, en dépit de l’omniprésence des logiciels Adobe sur les curriculum vitae des étudiant·es Grootens Joost, « Tools R Us », op. cit., le référentiel du diplôme de Dn MADe préconise « de ne pas s’en tenir à des logiciels ou technologies propriétaires mais d’explorer également le champ des logiciels et technologies libres »JO №0253, 30 octobre 2022, texte №23 ainsi que celui de la programmation.

    +
    + +
    + + + +
    + + + + +
    + +

    + Comment nous pourrions travailler +

    + +
    +

    + Se positionner vis-à-vis de la production comme travail, comme ouvrage et comme ensemble de forme +

    + + + +
    + +

    + Puiser dans les modèles existants pour repenser le rapport au travail + +

    +

    Les derniers propos nous ont permis de mettre en évidence la nécessité de repenser le modèle de travail des designeur·euses graphiques. La suite de ce mémoire cherche à dessiner des possibles réalisables, à la façon d’une utopie concrète, qui partent de la réalité contemporaine pour tendre vers un idéal. La première chose à faire serait de regarder autour de nous, et en arrière, pour puiser dans des modèles existants.

    +

    Dans les ateliers médiévaux des copistes, le travail se faisait collectivement et de façon anonyme, sans parler d’auteur·icesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit., à la façon des collectifs de designeur·euses. De même, les typographes de la révolution industrielle étaient avant tout des ouvriers, organisés entre ell·eux et touché·es par les même problématiques que tous·tes les prolétairesBoutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste, Marseille, 2019.. C’est le partage du travail, et la collectivité, qui ont permis aux « confréries typographique »Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33. parisiennes de la révolution française d’être solidaires face aux corporations et de développer une morale du métier, qui passe par l’entraide (avec des caisses de solidarité), l’apprentissage (puisque la qualification de l’ouvrier est ce qui doit lui donner de la valeur), une juste rémunération et la liberté de s’établir à son compte. Les ouvrièr·es typographes disent elleux-même :

    +
    +« Nous sommes redevenus propriétaires de notre industrie. »Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvrièr·es imprimeur·euses de Paris, Monographie par par M. L***, apprenti imprimeur. +
    + +

    Pour les designeur·euses graphiques contemporains, l’organisation politique de la profession pourrait permettre de faire preuve de solidarité face à l’exploitation capitaliste.Le propos sera plus développé dans l’écrit en annexe de ce mémoire.

    +

    Le modèle de l’artisan·e serait aussi, selon William Morris, moins difficile à supporter car dénué de maître unique et de division du travail. Le labeur serait alors plus doux : il n’y a pas la pénibilité de travailler sur une même tâche, le travail est varié et l’artisan·e a la satisfaction d’achever son ouvrage. Cette vision de l’artisan·e médiéval est nuancée par les historienne de l’art mais, en tout cas, cette théorie hérite de la considération médiévale du travail comme un problème moralMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit. : Quod omnes tangit ab omnibus tractari et approbari debet, maxime tirée du droit romain impérial et principe constitutif des coroporation de l’époque médiévale : Ce qui concerne tout le monde doit être décidé par tout le mondeCONGAR, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259. Un principe de mutualité, associé à la disparition de l’individualisme au profit de la beauté de l’ouvrage et une maîtrise technique permise par un enseignement professionnel entre maîtres et apprentis, dans des ateliers faisant aussi office de lieux de vieCollectif Ressources, « Le code du travail au Moyen Âge, les corporations en France »..

    +

    En regardant vers d’autres modèles que celui du néo-capitalisme, nous pouvons repenser notre rapport à l’ouvrage et, peut-être, trouver des moyens de réinvestir la morale et le plaisir dans le travail.

    + + + +
    + + + +
    + +

    + Puiser dans les modèles existant pour repenser le rapport à l’ouvrage + +

    +

    L’artiste-artisan·e nous intéresse pour redéfinir le rapport du·de la designeur·euse graphique à l’ouvrage, comme œuvre et non pas simple produit. D’une certaine façon, nous posons le même regard que le mouvement Arts & Crafts sur l’artisanat. Si Morris et Ruskin s’opposaient à l’industrialisation de masse et la modernité de leur époque, nous nous devons d’être lucide quant à cette recrudescence du mythe de l’artisan dans nos pratiques à l’heure d’une digitalisation de masse JACQUET Hugues, L’intelligence de la main, l’Harmattan, coll. « Logiques sociales », 2012. . Semble-t-il alors qu’il y a dans notre contemporanéité un malaise face aux conditions techniques de notre modernité.

    +

    Il y a chez l’artisan·e un goût du travail bien fait qui fait entrer le plaisir dans le travail, alors même que celui-ci est présupposé subi, difficile, laborieux. Il y a supposément autre chose que ce simple « travail » ; une activité foncièrement libre qui n’est pas centrée sur le schéma de production, consommation, consumation. À partir de l’élan spirituel pour le travailAu sens d’un élan moral, de l’esprit., on peut aussi redéfinir le rapport entretenu aux productions. Dès lors que le·a designeur·euse graphique n’est plus uniquement un personne dotée des compétences nécessaires pour rendre des services spécialisés, il faut redéfinir ce qu’est l’usagèr·e. En accordant plus de temps, d’effort et de plaisirUn plaisir tiré de l’effort, du goût du bel ouvrage. à la production, à l’instar de celle des objets artisanaux, on pourrait lui donner plus d’importance, s’en satisfaire au-delà de l’éphémère, de la consommation-consumation. L’usagèr·e ne serait plus dans un rapport de consommation d’un « beau » design graphique (l’identité visuelle qui ne dure qu’un temps et suit la tendance esthétique actuelle) mais plutôt d’utilisation d’un design graphique aussi fonctionnel qu’esthétique (l’identité peut servir, et reste « belle » des années après sa production). Pour définir ce que peut-être un graphisme fonctionnelQui reste esthétique, « beau » au sens que lui donne Morris : sa beauté n’est pas un frein à l’utile, elle émane de la qualité de sa conception., et non subjectivement « beau », nous pourrions nous appuyer sur le schéma [fig. 11]Papanek Victor, Design pour un monde réel, titre original«  Design for the Real World: Human Ecology and Social Change, publication originale en 1971, Les presses du réel, 2021. de Victor Papanek sur l’ensemble de fonctionExplicité en annexe de ce mémoire..

    +

    fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit.

    +

    Repenser le but de la production de design graphique permet aussi, comme le critical graphic designChancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p 66-70. le fait déjà, de ne pas se contenter de produire mais aussi de prendre du recul tant sur les productions en tant que sujets que, plus généralement, sur la production de signes et ses moyens. Ce pas de côté suggère de se donner le temps de chercher, de se tromper, d’errer comme méthode de travail. Avoir une pratique de recherche, s’ouvrir au monde et aux autres (sujets) et ne pas simplement répondre à la commande du·de la client·e ou aux ordres du·de la patron·ne, permet de donner à penser en mettant en péril les idées pré-conçues pour remettre sa production en question et s’en distancerIbid.. Cette posture critiqueDu latin criticus « capable de discernement, de jugement », la posture critique suppose de ne pas s’en tenir aux affirmations et aux idées validées mais plutôt de les étudier de près et d’en tirer des conclusions sur ses conditions, conséquences, limites et contradictions. peut aussi se faire au travers de l’organisation d’expositions, de rencontres, d’écrits. Le·a designeur·euse graphique adopterait une méthode de travail composite, mêlant différentes « compétences » ou « activités » et osant faire l’expérience ce qui peut a priori sembler étranger au champ du design graphique. Cette pratique serait aventureuse et réellement expérimentale, au sens où elle se façonnerait dans ses interactions le monde et ses expériences vécues.

    + + + +
    + + + +
    + +

    + Ouvrir le champ des possibilités formelles + +

    +

    Lors de la restitution orale la plupart de mes camarades ont eu des réactions positives :

    +

    « L’outil n’est pas parfait, c’était plus long mais aussi plus sensible. Le logiciel a fait varier la taille de certains glyphes, ces incidents ont apporté une sensibilité au projet. »Citation issue de la restitution orale du projet.

    +
    +« J’avais l’impression que la confrontation à une technologie nouvelle réduirait les intentions et les ambitions esthétiques, mais pas du tout. On perçoit une sensibilité, de l’imaginaire, on sent que c’est fait par des graphistes. »Idem. +
    + +
    +« On a choisit d’utiliser les outils différement, d’inventer de nouveaux procédés. Ça nous a fait chercher tout son potentiel. Détourner l’outil c’est aussi la capacité du designer graphique à passer outre les habitudes et a explorer de nouvelles idées.»Idem. +
    + +
    +« L’expérimentation est à l’origine de la forme, toutes les contraines de l’outil ont influé. Avec la mise en page en html/css, on a trouvé d’autres possibilités de mise en page en mouvement. »Idem. +
    + +

    Pour le projet d’Inès et Axelle [fig. 12 et 13], qui ont fait le choix de n’utiliser qu’un outilGlyph Drawing Club, un outil de dessin modulaire, à partir de glyphes typographiques, développé par Heikki Lotvonen., les formes du personnage et de la typographie de titrage émanent clairement du fonctionnement de l’outil. Les différents glyphes utilisés sont encore identifiables et il aurait été compliqué pour les designeuses de s’émanciper de cet aspect sans altérer complètement l’outil. Si les outils libres sont plébiscités pour leur ouvertureTechnique, dans ce cas, mais aussi pour la collaboration, nous en parlerons plus tard., c’est aussi de par leur « fermeture fonctionnelle que naît la création de formes singulières et originales »Maudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023. lorsque le·a designeur·euse se met à investir au maximum une infinité pourtant limitée de combinaisons.

    +

    fig. 12 et fig. 13 Proposition d’Inès et Axelle pour le PPG

    + + +

    En outre, les accidents, les bugs et le hasard inhérents aux outils plus expérimentaux permettent aussi de faire naître des formes intéressantes sur lesquelles le·a designeur·euse n’a pas toujours le contrôle, le·a tirant vers d’autres possibilités formelles qu’i·el n’aurait pas forcément envisagé. Le collectif bruxellois Luuse, qui développe ses propres outils grâce à la programmation informatique, collectionne notamment ces accidents sur son site Web [fig. 14 à 20]. Pouvoir construire ou adapter ses propres outils par le code, c’est aussi considérer la question de l’outil comme un nouveau terrain d’expérimentation créative.Donnot Kévin, Graphisme en France 2012, code outils design, Paris, France, Centre national des arts plastiques, 2012.

    +

    La collecte de cette matière graphique est aussi une façon pour elleux de garder une trace de toutes les formes inattendues produites par leurs expérimentations ou les accidents techniques, et de partager une partie souvent invisibilisée du processus de production. Pour un même projet, de nombreuses formes sont produites par le collectif avant d’arriver au résultat final.

    +

    fig. 14 Affiche extraite du projet « Open Call - Design Parade » par Luuse.

    +

    fig. 15 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 16 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 17 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 18 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 19 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 20 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    Le champ du design graphique n’a pas attendu les outils numériques pour bénéficier des apports d’une démarche d’appropriation des outils. L’artisan typographe Albert Schiller, qui a commencé son activité dans les années 1920, a developpé des formes innovantes en tirant parti des casseaux typographiques et de la presse pour proposer des illustrations modulaires [fig. 21 et 22]. Ce qui est intéressant est que ce détournement, qui s’apparente à une forme de hacking, est qu’il a été forké d’une certaine façon puisqu’il a inspiré l’outil numérique Glyph Drawing Club [fig. 23 et 24] dont nous parlions plus tôt.

    + + +

    Enfin, les formes produites par avec les outils libres ne correspondent pas tout à fait à une conception du « bon goût »Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979. au sens que lui donne BourdieuLe goût est déterminé par une position sociale (capital culturel et économique) et le « bon goût » ne serait en fait que celui de la classe dominante. Je considère ici que le design graphique de « bon goût » est celui qui inspire le design graphique de masse, et que l’on voit dans le paysage graphique quotidien, en opposition à des propositions plus expérimentales ou aux formes parfois plus radicales. et font souvent un pas de côté du graphisme « de masse ». C’est probablement parce que l’utilisation de tels outils se fait généralement avec un engagement éthique que les formes produites semblent elles-mêmes refléter le refus d’une esthétique formatée par les outils propriétaires (et standards dans l’industrie) comme une façon de résister au système capitaliste qui exploite les graphistes.

    + + + +
    + +
    + + +
    +

    + Hacking et culture libre +

    + + + +
    + +

    + Le modèle libre + +

    +

    Nous évoquions les outils libres comme alternative aux logiciels propriétaires, et comme solution aux différentes problématiques qu’ils soulèvent. Plus qu’un simple changement d’outil, le modèle libre s’inscrit dans un mouvement politique plus large : la culture libre. +Née en 1985 avec la publication d’un manifesteStallman Richard, « Le manifeste GNU - Projet GNU - Free Software Foundation », Système d’exploitation GNU, 1985. par l’informaticien Richard Stallman, agacé de ne pas pouvoir réparer lui‑même son imprimante à cause de la fermeture de son code source, la culture libre a un ancrage résolument politique et engagé hérité des cultures hippies et contestataires des États‑Unis des années 1970.

    +

    Le libre, qui n’équivaut pas à la gratuité puisqu’il y a des logiciels libres payants et d’autres propriétaires gratuits, repose sur quatre principes qui fixent les libertés des utilisateur·ices et contributeur·ices des logiciels.

    +
      +
    1. +

      Liberté d’utilisation pour n’importe quel usage

      +
    2. +
    3. +

      Liberté d’étude et de modification

      +
    4. +
    5. +

      Liberté de copie et de redistribution

      +
    6. +
    7. +

      Liberté de redistribution des versions modifiées

      +
    8. +
    +

    Défendu comme un mouvement social par son créateur, la culture libre a parfois vu cet aspect être délaissé pour se rendre plus séduisante pour les entreprises en promouvant l’innovation à partir des contributions de bénévoles. Dans le cas d’un logiciel propriétaire dont le code est ouvert, on parle de logiciel open source.

    +

    La transposition de la culture libre de l’informatique au design graphique a déjà été faite par des collectifs, tels que Velvetyne [fig. 25], Open Source Publishing, et dans des écrits d’étudiant·es comme Étienne OzerayOzeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014. (qui a co-fondé Luuse) ou Xavier KleinKlein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013. Elle n’est nullement étonnante puisque le logiciel est l’outil principal des designeur·euses contemporain·es. Délibérément axés vers la collaboration et le partage, ces outils intéressent aussi les designeur·euses qui cherchent à travailler ensembleMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design, op. cit. ou à partager leurs ressources.

    +

    fig. 25 Illustration des 4 libertés du logiciel libre. Poster conçu par le designer graphique Jérémy Landes-Nones pour la fonderie de caractères Velvetyne, 2016.

    +

    Au-delà du code, la culture libre a vu son intérêt s’étendre à la transmission de savoirs, à la façon du site Wikipédia, mais aussi dans le champ de la recherche universitaire voire de la littératureLe livre Copy This Book d’Eric Schrijver est diffusé sous licence CC-BY NC 4.0, en anglais depuis 2019 puis en français depuis 2023. Les versions imprimées sont disponibles à la vente en librairie, tandis que le contenu textuel est sous licence libre et peut être utilisé en suivant les recommandations de la licence CC-BY NC 4.0., et à la diffusion d’œuvres ou de typographiesAvec des fonderies libres telles que Velvetyne ou Republish, et des typothèques comme la collection de l’Atelier National de Recherche Typographique, celle de l’ESA Septante-Cinq ou encore du collectif Bye Bye Binary.. Facilitée par l’existence d’Internet et du Web, cet idéal libertaire s’inspire directement de l’idéal à l’origine de ces protocoles qui nourrissaient, déjà, une forme d’utopie.

    +
    + + + +
    + +

    + Le Web, redistributeur du pouvoir aux sujets + +

    +

    Toutes les initiatives liées à la culture libre ont pu voir le jour grâce à Internet, et au Web. Pour rappel, Internet est un protocole informatique proposé par Vinton « Vint » Cerf et qui permet la mise en réseau des ordinateurs. Le Web, de son côté, est un protocole de communication qui permet de relier entre elles des pages « Web » via un système d’adressage « http:// ».

    +

    La création de l’informatique a été motivée par une logique de contrôle et de commandement militaire, raison pour laquelle les projets étaient financés et soutenus par l’armée américaine. Cela dit, les universitaires qui les développaient (notamment celleux qui travaillaient à la création d’Internet) étaient « guidés par les idées de liberté et de coopération de la contre culture des années 1970 »Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019. p.24 des États-Unis où i·els résidaient.

    +

    Avec l’avènement du numérique, le pouvoir des individus a augmenté, grâce aux nouvelles capacités d’expression et de communication qui ont bousculé la sociabilité, la politique et la création, rendant réaliste l’utopie dont nous parlions plus tôt. Chacun·e peut maintenant s’exprimer sur le Web, un espace d’expression public et libreIbid.. De plus, la diffusion des outils numériques s’est accompagnée d’une extension des pratiques numériques des sujets. Depuis les années 1990 et la démocratisation de l’ordinateur personel, tout le monde peut avoir accès aux outils de production d’un travail de qualité professionnelle. En 1981, un français sur dix avait exercé une activité créative au moins une fois dans l’année, contre un sur quatre en 1997 et un sur trois en 2003Ibid..

    +
    + + + +
    + +

    + La place des usages amateurs dans la reconsidération du rapport des designeur·euses à l’outil + +

    +

    Selon le sociologue Olivier Donnat, les activités d’auto-production créatives utilisant le numérique ne relèvent pas que de la consommation mais aussi d’une volonté d’être dans le « faire »Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit.. Avec la généralisation de technologies simples et accessibles, tout le monde peut-être un·e designeur·euse graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 330, en suivant la même logique que celle de la démocratisation de la production d’imprimées avec la culture DIY des années 1950 et la sortie du photocopieur commercial qui a donné l’impulsion aux fanzines de la culture punk.

    +

    En s’ouvrant aux non-spécialistes, la production de graphisme et d’images « DIY » est devenue un « levier de classe, une force politique »Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254, traduction libres spécifiquement pour ce mémoire. qui, au travers des usages amateurs et de l’appropriation d’outils inhérente à ceux-ci, peut nous donner des pistes pour étendre notre vision des outils de design à des outils qui, au premier abord, nous paraîtraient inenvisageables. Après tout, les premières personnes intéressées par la PAO et le graphisme sur ordinateurs n’étaient pas les designeur·euses, encore frileux, mais les informaticien·nes qui ont développé ces outilsLevit Briar, Graphic Means: A History of Graphic Design, op. cit..

    +

    C’est une partie de la démarche d’Elliot Ulm dont nous parlions plus tôt. En élargissant notre boîte à outils, quitte à aller vers l’incongru, il est possible de développer des formes particulières. Le studio Ingrid Picanyol a notamment développé l’identité de La Officina del Praque [fig. 26 à 28] à l’aide du logiciel de tableur Microsoft Excel, jusqu’ici plutôt reservé aux tâches de comptabilité. C’est en déplaçant l’outil vers le champ du design graphique que le studio a pu produire ces formes et proposer une telle hiérarchisation de l’information dans des tableaux, sans variation typographique et mettre en place une grille modulaire pour le lettrage, par exemple.

    +

    fig. 26 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 27 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 28 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +
    + + + +
    + +

    + Pourquoi le design graphique libre ne peut se contenter d’émuler le modèle actuel + +

    +

    Le choix d’utiliser des outils libres se fait en accord avec une certaine éthique logicielle qui, pour le design graphique, ne peut se faire au dépend des considérations formelles. Prenons l’exemple du logiciel libre Scribus, souvent proposé comme alternative à Indesign, qui est un logiciel de PAO WYSIWYG avec une interface graphique comparable. Puisque les deux outils fonctionnent avec les mêmes logiques – à cela près que Scribus est largement moins efficace sur certains points techniques, comme la production de PDF imposés ou la gestion des tons directs – il est difficile d’y trouver un intérêt graphique. Le choix d’utiliser l’alternative libre semble ici ne relever que de l’éthique du·de la designeur·euse ou la collaboration avec des non graphistes.

    +
    +« Certes, on a toute liberté de l’améliorer puisqu’il est sous licence GNU, mais à quoi bon réinventer la roue si ce n’est pour apprendre ? »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit. +
    + +

    C’est en cela qu’il est important de basculer notre positionnement d’utilisateur·ice des outils vers un rapport de créateur·ice. L’intérêt graphique du libre réside uniquement dans son ouverture, permettant l’appropriation de l’outil et un usage circonstanciel de ceux‑ci. En basculant son positionnement, le·a designeur·euse quitte la passivité technique et se met à choisir (ou fabriquer) de façon autonomeAu sens d’un choix fait indépendamment de toute volonté d’autrui. le bon outil pour chaque projet. L’émulation des outils propriétaires et un usage passif de l’outil, même libre, ne suffit pas à émanciper le·a designeur·euse : c’est l’appropriation au travers d’une démarche de hacking, qui permet de concrétiser tous les idéaux que nous avons déjà cités.

    +
    + +
    + +
    +

    + Être designeur·euse‐hackeur·euse, ou comment l’ethos du libre pourrait s’intégrer à nos pratiques

    + + +
    + +

    + Hackeur·euse, nom commun + +

    +

    « Une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préfèrent n’apprendre que le minimum nécessaire »Collectif, « Hacker », The Jargon File 4.4.7, 29 décembre 2023, http://www.catb.org/~esr/jargon/html/H/hacker.html, traduction libre spécifiquement pour ce mémoire.. Le sens du mot « hacker » en anglais se rapproche du mot « bidouilleur·euse » en français.

    +

    Un·e designeur·euse-hackeur·euse se reconnaît à son enthousiasme et sa curiosité vis-à-vis de l’outil qui s’expriment au travers de pratiques de hacking : le détournement de l’utilisation habituelle des outils et des techniques. Une pratique expérimentale, donc, et exploratoire qui considère simultanément l’outil comme une fin et un moyen.

    +

    L’ethos des hackeur·euses s’étend aussi au-delà du logiciel. À l’instar des libristes, i·els estiment que la circulation de l’information doit être libre et non censurée, car la connaissance ouverte sert de « carburant » Cardon Dominique, Culture Numérique, op. cit. à la coopération. La coopération et le partage permettent d’apprendre des un·es et des autres et de tirer parti des contributions de chacun·es pour construire, ensemble, des projets en commun. +Pour les designeur·euses-hackeur·euses, le partage des expérimentations et l’ouverture de celles-ci, en autorisant leur usage et les forks, permettraient de nourrir réciproquement les pratiques des autres et de construire des projets par cumulationBosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021, p.24.. +À partir de petits projets, pour un usage spécifique et personnel, les contributions tous azimuts pourraient permettre à l’idée initiale de prendre de l’ampleur et de se diffuserÀ l’image du site IMDb, l’une des plus grosses bases de données collaboratives du monde qui n’était à la base qu’une base de données de films mise en ligne par un étudiant en informatique, Col Needham, passionné de cinéma.. Dans la typographie libre, les forks sont courants : la typographie Baskervvol [fig. 28] de Bye Bye Binary est un fork ajoutant des glyphes inclusifs au Baskervville de l’ANRT [fig. 29] de 2018, revival de la Baskervville de Claude Jacob de 1815 [fig. 30] qui, de son côté, est aussi un revival du caractère de John Baskerville de 1757 [fig. 31]Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023, https://genderfluid.space/lexiquni.html.

    +

    fig. 29 Glyphes inclusifs du Baskervvol de Bye Bye Binary.

    +

    fig. 30 Baskervville, ANRT, 2018.

    +

    fig. 31 Épreuves des caractères de la fonderie des frères Levrault, Strasbourg, 1800.

    +

    fig. 32 Détail d’une Biblee Baskerville pour Cambridge.

    +
    + + +
    + +

    + L’aventure du code : l’intêret des technologies du Web + +

    +

    La compréhension des logiciels ne peut se faire sans passer par l’étude de leur code sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit., de la même façon que le hacking d’outils numériques demande presque systématiquement au·à la designeur·euse graphique de passer par l’écriture ou l’appropriation de code. +Le paradigme de l’éditeur de code est à l’opposé des « simulation[s] appauvries du monde »Ibid. que sont les paradigmes WIMP et WYSIWYG. Le·a codeur·euse est en immersion dans un univers textuel, même lorsqu’i·el code pour créer du visuel (comme dans le creative coding). I·el y fixe toutes les règles sans partir de réglages pré-définis. Nous évoquions plus tôt les « boîtes noires » qui nous dépossèdent de nos outils. Face à cela, l’intêret du code est de pouvoir à la fois comprendre, adapter et fabriquer ses outils sans qu’ils ne prennent le pas sur nos décisions avec des pré-sets. « La puissance créative, c’est écrire le code du filtre, c’est décider comment il marche, ce n’est pas l’utiliser. »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit.

    +

    Différents langages et outils peuvent servir à faire du design graphique : le programme Processing permet de générer de l’image avec des langages de programmation comme Python et Java, tandis que les langages du Web (HTML, CSS et Javascript) se prêtent bien à la gestion de contenu. Le CSS permet la composition visuelle des pages Web, en fonction du support sur lequel elles sont affichées : écran horizontal, vertical et même support imprimé : le web-to-print.

    +

    Ces nouvelles méthodologies de travail permettent de tisser une relation riche et continue entre les différents médias, mis en forme différemment à partir d’un même texte sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit. en explorant une logique de conception propre au numérique, ne contraignant ni à un chantier de mise en page par support ni aux règles affordance d’Adobe. Par exemple, l’outil texte d’Indesign simule un bloc de caractère mobiles tandis qu’en CSS le texte est géré de façon « liquide » en s’adaptant au support, à l’échelle ou au format à partir de la sémantique décrite dans le document HTML.

    +

    Les technologies du Web permettent aussi de bénéficier d’un écosystème de travail collaboratifMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023 entre designeur·euses (pour collaborer sur un même projet et/ou mettre en commun ses compétences, utiliser un outil fabriqué par autrui ou contribuer au développement d’un outil) et avec le public ou le·a client·e de l’outil. Lors de nos échanges de courriels, Sarah Garcin évoquait justement la façon dont les technologies du Web lui ont permis, ainsi qu’à ses collaborateur·ices-commanditaires, de travailler simultanément sur l’édition d’un livre en pensant un processus éditorial spécifique au projet.

    +
    +« J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les 4 intégrés à la plateforme. C’était intéressant, car mes 3 collaborateur·ices / commanditaires se rendaient compte de certaines choses qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. [...] L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire ‹  j’ai oublié une phrase ici… › ‹ il manque des guillemets là… › etc. On peaufiné le design en intégrant les contenus et les corrections. » +
    + +

    En outre, le paradigme textuel du code désynchronise aussi la conceptualisation des principes graphiques et leur traduction visuelleIbid., puisqu’au contraire du WYSIWYG le·a designeur·euse ne visualise pas son travail pendant qu’i·el le produit. Cela incite à penser plus en amont les systèmes de fond et de forme par le biais d’une série de règles et de principes clairs qu’on impose par le code. Au premier abord, cette méthode de travail prive le·a designeur·euse d’une part de geste, pusiqu’i·el ne fait qu’éditer du contenu textuel. On négligerait alors la possibilité pour les designeur·euses de développer et d’utiliser des interfaces et des formes d’interactivité alternatives. En amont, la conceptualisation se fait souvent par du croquis ou une maquette papier. Certain·es designeur·euses conceptualisent aussi des interfaces alternatives qui engagent le corps à différents degrés : la PJ Machine [fig. 32] de Sarah Garcin permet de mettre en page des documents imprimés à partir d’une interface physique composée de boutons d’arcade tandis qu’une interface de PAO par le geste [fig. 33] a été expérimentée durant le workshop « Interfacial Workout » ayant eu lieu lors des rencontres Hackers & Designers de 2019.

    +

    fig. 33 La PJ Machine, une boîte composée de boutons de jeu d’arcade pour contrôler une interface Web de PAO, fabriquée par Sarah Garcin.

    +

    fig. 34 Interface corporelle de PAO par le geste, experimentation ayant eu lieu au cours de le workshop Hackers & Designers Interfacial Workout en 2019.

    +
    + + +
    + +

    + Le travail sans le labeur + +

    +
    +« Si [...] je développe un logiciel libre, ce n’est pas d’abord pour obtenir un salaire c’est pour m’enrichir en un sens beaucoup plus riche que le célèbre “Enrichissez-vous”, et peut-être aussi gagner ou économiser un peu d’argent à cette occasion, mais surtout me construire et m’épanouir dans la vie, et comme être vivant. »Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  !  : entretien avec Ariel Kyrou, op. cit. +
    + +

    Il y a dans l’ethos des hackeur·euses, comme dans l’idéal de l’artisan de Morris, la volonté de revenir à un travail valorisant et de participer pleinement à la production de logiciels sans être réduit·e au rôle d’un morceau de la chaîne de production. Dans cette vision du travail, le rapport au plaisir est similaire à l’élan spirituel que nous abordions plus tôt. En travaillant de façon autonome, faisant ellui-même le choix de ses tâches et de la gestion de son temps et ses ressources, le·a designeur·euse pourrait i·el aussi travail par plaisir, élaguant le labeur du sens du mot travail.

    +

    Nous avons effectivement montré qu’il est possible de travailler pour construire quelque chose, apprendre et développer des savoirs, plutôt qu’uniquement pour une rémunération. Attention cela dit à ne pas retomber dans le piège exploitant du « travail-passion » au travers duquel le capitaliste (patron·ne, commanditaire) tirera profit de l’appréciation du travail pour se permettre de sous-payer. Le but n’est pas de produire de la plus-valueFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-value », coll.« Les Chemins de la philosophie ». en travaillant plus, parce qu’on s’y plaît, mais de voir le travail comme une occasion de développer des savoirs et de tirer une satisfaction de l’ouvrage.

    +
    + +
    + +
    + + + +
    + + + + + +

    + Conclusion +

    + + +
    +
    +

    Pour reprendre leur autonomie sur leurs outils, les designeur·euses graphiques ont d’abord besoin de repenser ce qu’est le travail. Transformer ce temps laborieux en une occasion d’apprendre et de développer des compétences leur ouvre la voie d’un retour vers l’expérimentation autonome de l’outil. En refusant l’aliénation par l’automatisation de la machine et la fermeture des outils propriétaires, i·els se libèrent de l’outil unique qui conditionne à la fois l’usage de la machine et la production formelle. +Ce retour à une vision positive du travail (qui n’est pas seulement le fait d’être employé mais renvoie à l’idée moderne, hégélienneSOBEL Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210 d’une libération ‑ de soi dans la communauté ‑ par le travail) se fait par la réévaluation du rapport du·de la designeur·euse à l’outil, glissant du statut d’utilisateur·ice à celui de créateur·ice ou de designeur·euse‑hackeur·euse. En refusant de « faire avec » les outils imposés par l’industrie, i·el change de démarche et peut faire un pas de côté de l’industrie en s’émancipant des contraintes d’outils, de méthodes et de rythmes de travail. D’une part, cela demande à revenir sur toute la profession, de l’école au milieu professionnel, pour se libérer des injonctions de l’industrie capitaliste du design graphique. D’autre part, il est nécessaire que les designeur·euses puissent prendre le temps d’apprendre à comprendre et à fabriquer ou à altérer leurs outils en s’intéressant au code.

    +

    C’est là que l’ethos des hackeur·euses et des libristes intervient et semble, déjà, empreint de pistes de solutions. Plus qu’une façon curieuse et libre d’intéragir avec la machine et le logiciel, i·els ouvrent la voie sur une considération plus contemporaine du travail sans le labeur, à la façon d’un·e artisan·e numérique. Cette quête du plaisir dans le travail pousse les designeur·euses‑hackeur·euses vers les jubilations de l’exploration technique et formelle de la production de design graphique. S’en suit un engagement éthique qui considère les autres designeur·euses comme des collaborateur·ices potentielles, la production comme un·e contribution aux communs de design graphique et l’usagèr·e comme utilsateur·ice du design.

    +

    En dressant l’état des lieux de ce qu’est le travail de designeur·euses graphique, ce mémoire cherche à mettre en lumière d’autres possibles et à ouvrir un échange et une réflexion collective sur notre profession. C’est maintenant dans la pratique qu’il nous faut « réduire l’espace »« Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. entre ce qui est et ce qui pourraît être, et pour cela, le changement de posture vis‑à‑vis de l’outil ne peut être suffisant. Il faut, pour les designeur·euses graphiques, une morale appliquée à l’ensemble des sphères de la pratique. Vous trouverez à la suite un écrit explorant l’intérêt du libre au-delà de l’outil, recouvrant des espaces de liberté dans tous les espaces de la pratique, de notre organisation dans le travail à notre politisation, nos échanges et la diffusion de nos productions.

    + +
    +
    + +
    + + +
    + +

    + Annexes +

    + +
    + + + + +
    + +

    + L’ensemble de fonction + +

    +

    +Le texte ci-après explicite le schéma [fig. 11]fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit. de l’ensemble de fonction de Victor Papanek. C’est un court résumé des pages 44 à 60 de l’ouvrage Design pour un monde réel édité en 2021 par Les presses du réel et traduit de Design for the Real World: Human Ecology and Social Change dont la publication originale date de 1971. +

    +
    La méthode
    +
      +
    • Les procédés de conceptualisation et de fabrication faisant une utilisation honnête des outils et matériaux en ne les choisissant que s’il n’y en a pas d’autres qui feraient « l’affaire » plus efficacement et pour moins cher.
    • +
    +
    L’utilisation
    +
      +
    • Le fait que le design fonctionne pour l’usage qui en est fait, qu’il corresponde ou non à l’usage imaginé par le·a designeur·euse.
    • +
    +
    Le besoin
    +
      +
    • La réponse du design à un besoin « économique », « psychologique », « spirituel », « technique » ou « intellectuel » plutôt qu’à des « exigences et des désirs éphémères ».
    • +
    +
    La télésis
    +
      +
    • L’inscription cohérente du design dans la société et la nature dans lesquelles il est utilisé, sa correspondance au mode de vie de l’usagèr·e
    • +
    +
    L’association
    +
      +
    • La signification du design par association de ses qualités à notre « conditionnement psychologique », les valeurs qu’il incarne
    • +
    +
    L’esthétique
    +
      +
    • L’appréciation esthétique du design, le « beau » qui ne peut exister qu’en relation avec le reste de l’ensemble de fonction. Elle émane, selon Papanek, de l’association des six autres domaines.
    • +
    + + + +
    + + + + + + +
    + +

    + Entretien avec Sarah Garcin + +

    +
  • + Bonjour Sarah,

    + [...] Seriez-vous intéressée et disponible pour échanger sur le sujet au travers d’une entrevue ? Celle-ci portera sur votre positionnement en tant que designeuse faisant le choix de créer des outils libres, comme avec l’Atelier des Chercheurs par exemple.

    D’avance merci,

  • +

    +
  • + Bonjour Emma-Jade,

    + [...] + Avec plaisir pour échanger avec vous sur ces sujets. + Est-ce que ça vous convient si on fait ça par écrit par mail ? + [...]

    Bien à vous,

  • +

    +
  • + [...] Je souhaite vous interroger sur vos activités au sein de l’atelier des chercheurs, et en dehors, pour essayer de comprendre votre positionnement sur les outils libre, en tant que designer qui en fabrique et en utilise. + [Je pose ensuite une série de questions, auxquelles Sarah Garcin répond juste ensuite.] +

  • +

    +
  • + + [...] + Voici une première réponse à vos questions. + J’ai répondu spontanément, il y a peut-être des fautes d’orthographe ou des formulations malheureuses (n’hésitez pas à reformuler au besoin). + Je digresse, théorise et ne répond pas forcément directement aux questions. Et je n’évoque pas beaucoup la question du graphisme, car pour moi elle est accessoire, c’est finalement plutôt un outil qu’un sujet en soit. Mais n’hésitez pas à me reposer des questions en rapport avec mes réponses, je me ferai un plaisir de compléter (par exemple je donne très peu d’exemples de projets...). On peut démarrer une sorte de ping-pong.

    Bien à vous, Sarah

    +

  • +
  • + Qu’est-ce qui vous a poussée à la création d’outils libres, et comment transforment-ils et/ou influencent-ils selon vous les manières de travailler ? +

  • +

    +
  • + J’ai commencé à vouloir créer mes propres outils quand j’étais étudiante en 3e année des Beaux-Arts de Rennes (désormais nommée EESAB Rennes). À l’époque, je n’avais aucune idée de ce que pouvait représenter la culture du libre, je n’avais aucune connaissance dans la pratique du code. Je tentais de bidouiller Illustrator pour créer des semblants de scripts, c’est ainsi que j’ai fait la découverte de Scriptographer et de Jürg Lenhi et par la même occasion, de graphistes qui fabriquent leurs propres outils et qui les mettent à disposition de la communauté. La même année, j’ai appris Processing, le HTML et le CSS. Comme une révélation, le code m’est apparu comme l’outil dont j’avais besoin pour mettre en application ce que je tentais de faire en bidouillant Illustrator.

    + J’ai ensuite fait un stage dans le collectif g‑u‑i, que j’ai intégré par la suite. C’est à ce moment là que nous avons commencé à nous intéresser à la culture du libre et aux logiciels libres, qui nous paraissaient plus en accord avec nos valeurs et nos manières de travailler. Nous suivions depuis un moment le travail du collectif Open Source Publishing, et leur projet html2 print nous parlait tout particulièrement. En effet, avec g-u-i nous faisions à la fois des sites et des éditions, souvent les deux pour une même projet. Il nous semblait donc tout à fait logique de simplifier le travail et de n’avoir qu’une seule source de gestion du contenu permettant la génération de différents supports (site internet, édition, affiche etc.). Aussi nous intéressions aux dispositifs de documentation en live, dans ce cadre nous avons développé différents programmes et dispositifs. C’est dans ce contexte, que j’ai développé avec un camarade de classe, Victor Lebeau, mon projet de diplôme autour du logiciel libre et de la documentation. Un logiciel de prise de notes collaboratif permettant la mise en forme automatique du contenu et l’export imprimable.

    + Dans le même temps, quelques mètres plus loin, Louis Eveillard, Pauline Gourlet, Juliette Mancini et Ferdinand Dervieux commençaient le développement d’un logiciel de documentation pour les enfants. Naturellement, nous nous sommes rapprochés et avons partagé nos expériences, ces deux projets possédant des enjeux similaires. C’est ainsi qu’à la suite de mon diplôme j’ai rejoint le labo de recherche Sociable Media à l’ENSADLab, et que j’ai intégré le collectif nommé plus tard L’Atelier des Chercheurs. C’était important pour moi que les outils développés ensemble soit sous licence libre et soit open source. Nous travaillons dans le domaine publique (l’école), il me parait cohérent que les outils utilisés dans le public soit ouverts et emprunt d’une certaine éthique (mais apparemment le ministère de l’éducation n’est pas totalement d’accord avec moi).

    + Toutes ces années où nous avons travaillé dans les classes au développement de do.doc notamment (depuis maintenant 10 ans), nous avons analysé comment l’introduction d’un nouvel outil dans un environnement de travail pouvait changer les manières de travailler mais aussi d’être ensemble. Pauline Gourlet a d’ailleurs écrit sa thèse là-dessus.

    + D’abord, avec do.doc, nous avons fait le choix d’un outil hybride à la fois tangible et numérique. Ce qui crée dans une salle de classe un espace particulier de travail. Un espace convivial dans lequel on peut échanger, travailler, manipuler, collaborer. Ça reconfigure totalement la classe et l’organisation des activités.

    + Ensuite, nous avons pris le parti de développer l’outil in situ, en le testant dans des contextes, en observant et en prenant en compte les retours des utilisateur·ices. Les élèves et les enseignants, peuvent ainsi participer à la conception du logiciel suivant leurs besoins très concrets.

  • +

    +

    +

  • + Au sein de votre pratique de designer graphique, qu’est-ce que les outils libres permettent ? Quels sont leurs grands enjeux, d’après vous ? +

  • +

    +

    +

  • +De faire un pas de côté. J’évoque souvent une scène du film l’An 01. Un film tiré d’une BD de Gébé, dont le point de départ est « On arrête tout, on réfléchit (et c’est pas triste) ». Déjà il y a cette notion de prise de recul. En particulier, il y a cette scène d’une publicité pirate qui passe à la télé. « Et si on faisait un pas de côté », on y voit un homme qui regarde par la fenêtre, qui fait un pas de côté, qui se retrouve face au mur, on lui dit « Qu’est ce que tu fais », il répond « Je regarde dans ma tête ». Se déplacer, changer de point de vue, se mettre dans une situation d’inconfort, choisir ce que l’on regarde, choisir l’outil qui nous convient pour ce que l’on veut faire.

    +Évidemment il y a une dimension politique, avoir la main sur ses outils, les maîtriser, les contrôler. Ne pas être soumis·e à des décisions de grand groupe, qui impose des normes et des manières de faire, être libre. +Quand on y pense, si on regarde les interfaces des premiers logiciels de PAO, rien n’a changé, les paradigmes sont toujours les mêmes, une « boîte à outils », des calques, des déplacements en drag and drop d’objets flottants dans la page... +Et on se rend compte du pouvoir des concepteurs de logiciels propriétaires quand ils nous tiennent. Quand ils nous tiennent avec un abonnement extrêmement cher qui ne nous permet pas de posséder le logiciel. Quand ils décident d’arrêter le partenariat avec Pantone, que l’accès aux couleurs Pantone devient payant et que les anciens fichiers possédant ce type de couleur sont altérés.

    +

  • +
  • + Dans le cadre du mémoire, je cherche à comprendre s’il y a réellement une forme d’aliénation du graphiste par ses outils, qui passe par une « prolétarisation » (dans le sens où les outils propriétaires peuvent nous priver de savoirs et de savoir-faire, tant par leurs fonctionnalités que par l’opacité de leur fonctionnement). Les outils libres défendent une forme de réappropriation, de culture du faire soi-même. Selon vous, est-ce là l’enjeu principal de ces outils ? Permettent-ils vraiment d’empêcher cette prolétarisation et de reprendre possession de ses outils ? Si oui, comment ? Qu’est ce qui pourrait éventuellement leur manquer ? +

  • +

    +

  • + Peut-être pourrions nous faire un parallèle un peu étrange, logiciel propriétaire/logiciel libre et voiture/vélo. Je ne prends pas cette exemple au hasard, je le prends car c’est un des exemple qu’utilise Ivan Illich dans son livre « La Convivialité » pour faire la différence entre un outil convivial (le vélo) et un outil non convivial (la voiture).

    Le vélo (ici je parle bien du vélo mécanique et non pas électrique) est totalement transparent, on voit son mécanisme, on voit bien comment ça fonctionne, c’est assez simple à réparer, ça ne coûte pas très cher, on développe un savoir faire mécanique, on peut le customiser à son goût.

    + La voiture (et encore plus aujourd’hui) cache un tas de mécanisme complexe et inaccessible, elle coûte cher, est polluante, compliqué à réparer soit même, elle façonne les villes et les infrastructures (d’une manière qui ne me convient pas personnellement), elle est vecteur d’inégalité sociale.

    + Alors oui elle est rapide, plus rapide que le vélo, elle permet de transporter plus de choses, elle permet d’avoir chaud quand il fait froid et froid quand il fait chaud. En somme elle est confortable.

    + Il y a un énorme paradoxe à tout ces avantages. Paradoxe développé par Ivan Illich dans son livre « Équité et Énergie » (oui encore lui). Si on prend le même trajet en voiture et en vélo, disons Paris-Brest par exemple, on sait qu’en voiture on mettra environ 6h, alors qu’en vélo on mettra 4 jours. Mais si on regarde le temps que l’on a passé à travailler pour payer la voiture, son assurance, son parking, ses réparations, le temps que l’on a passé à essayer de la garer, à aller prendre de l’essence etc. et qu’on le compare au temps passé à s’occuper de son vélo, finalement on aura mis moins de temps à faire Paris-Brest en vélo qu’en voiture.

    + « La convivialité est la liberté individuelle réalisée dans la relation de production au sein d’une société dotée d’outils efficaces. Lorsqu’une société [...] refoule la convivialité en deçà d&’un certain niveau, elle devient la proie du manque; car aucune hypertrophie de la productivité ne parviendra jamais à satisfaire les besoins crées et multipliés à l&’envie. » (Au cas ce n’était pas clair, je suis fan d’Ivan Illich).

    +

    Finalement, pour moi c’est un peu comme commander sur Amazon vs passer trois heures à aller chercher le livre que je cherche dans une librairie ou une bibliothèque. En ne commandant pas chez Amazon, je perds du temps, du temps à travailler fixée sur ma chaise devant un ordinateur. Qu’est-ce que j’y gagne ? Je gagne une marche en ville, je découvrirai peut-être une nouvelle librairie, j’aurais peut-être une discussion intéressante avec le·a libraire, j’y découvrirai un livre essentiel à ma recherche, je rentrerai joyeuse de cette sortie. Je serai d’autant plus joyeuse que je n’aurais pas contribué à faire fonctionner une société avec laquelle je ne suis absolument pas d’accord. Pas d’accord avec le principe même, pas d’accord avec les conditions de travail, pas d’accord avec les ambitions de la personne qui la dirige, pas d’accord avec les valeurs des différents services proposés par l’entreprise...

    +

  • +

    +

  • + [...] Avant tout, un grand merci pour votre réponse que j’ai trouvé particulièrement intéressante. Cette fois encore, sentez-vous libre de répondre lorsque vous le pouvez. Ce premier échange m’aide déjà beaucoup.

    Je m’identifie beaucoup à votre approche du code, j’ai moi-même commencé à l’apprivoiser sans avoir connaissance du libre, justement parce qu’il me permettait de faire les choses autrement et sans être limitée par le manque de certaines fonctionnalités dans d’autres logiciels. Le rapport temps-productivité-plaisir, lui aussi, me pose question. Je trouve que l’image de la librairie permet de poser des mots ce sentiment étrange de devoir travailler vite, juste pour avoir plus de temps disponible pour continuer à travailler ensuite.

    L’un des reproches que j’entends souvent à propos des logiciels libres – de la part de celleux qui ne les utilisent pas – c’est le manque de professionnalisme de ceux-ci. Parce qu’ils sont « moins performants » que les outils propriétaires, ils ne vaudraient pas le coup d’être utilisés, sauf pour des productions très expérimentales, et seraient un frein à la collaboration en milieu professionnel.

    + Pourtant, il me semble que les outils libres (de développement, mais aussi les logiciels qui proposent des fichiers de travail en formats non-propriétaires tous simplement) permettent au contraire de trouver des moyens de collaborer. D’une certaine façon, « faire un pas de côté » ne se limite pas à notre pratique personnelle de designer, c’est peut-être aussi se mettre à contre-courant des attentes de l’industrie ? J’aurais aimé savoir comment est-ce que cela peut se passer dans le cas où vous proposez des projets de design graphique en réponse à une commande. Le choix des outils libres conditionne-t-il l’environnement de travail (les relations et collaborations, le rapport au temps, les échanges... plus que l’environnement physique) dans lequel vous produisez ? Sont-ils parfois un frein aux ambitions esthétiques ?

    S’il y a des projets spécifiques qui peuvent-être des éléments de réponse, ou des situations de travail que vous aimeriez évoquer, ce serait avec plaisir.

    Merci encore et bien à vous,

  • +

    +

    +
    +
    +

  • + [...] Je m’excuse encore pour les délais de réponse. Je suis sous l’eau !

    Pour moi, ça ne se limite effectivement pas à notre pratique du design. L’utilisation d’outils libres (mais aussi leur développement et leur partage) c’est une partie d’un mode vie. Une porosité entre le professionnel et le personnel. Ça va avec une certaine éthique. C’est une démarche militante. Évidemment que ça conditionne nos environnements de travail. D’abord parce que si je veux être cohérente (et c’est mon avis personnel), je ne peux pas utiliser des outils libres dans une pratique expérimentale personnelle et à côté aller faire des power points chez l’Oréal. Ou ça serait totalement absurde d’utiliser des outils libres pour designer les plaquettes d’Air France. Alors on choisit ses commandes, des projets qui correspondent à notre éthique, on choisit aussi les gens avec qui on travaille. Je me verrai mal travailler avec ou pour quelqu’un qui est raciste ou sexiste.

    Pour ce qui est du rapport au temps, c’est une vraie question. Il y a effectivement cette critique qui revient souvent sur la performance des outils libres. Ça prend plus de temps. J’en suis pas sûr. Je crois juste qu’on est plus rapide à certains endroits et plus lents à d’autres. Mais si on pense en terme de productivité et de temps alors il me semble qu’on re-rentre dans la logique capitaliste (désolé d’utiliser les grands mots fourre-tout) qu’on essaye d’éviter en faisant un pas de côté. On est toujours dans cette tension, on est entouré par cette société productivisme régit par la croissante et le progrès, c’est impossible d’en sortir. Utiliser des outils libres, c’est un micro pas à côté de cette société et c’est assez réjouissant et encourageant tout de même.

    Sur la question de l’esthétique, je crois qu’il n’y a pas de limite esthétique. Je n’ai pas d’exemples de choses que je n’ai pas réussi à faire avec des outils libres. C’est plutôt le contraire, ça ouvre vers de nouvelles formes. J’ai une anecdote à ce sujet. J’ai fait travaillé des étudiant·es de 2e année com avec un petit programme en ligne que j’ai développé et qui permet de faire de la mise en page d’affiche avec du CSS et une interface WYSIWYG. Ça change totalement des paradigmes d’Adobe, il n’y a pas de drag and drop. Alors les éléments se superposent régulièrement. Un autre enseignant leur a demandé de réaliser des affiches sur Indesign. Une des étudiantes a présenté son affiche tout en superposition en mentionnant que l’idée lui était venu en bidouillant mon programme. J’ai trouvé ça génial !

    Je peux finir ce mail assez théorique par la description de deux projets de commande (avec les mêmes commanditaires). En 2020, j’ai commencé à travailler pour le programme Forcast du media lab de Sciences Po pour la réalisation d’une édition (plus particulièrement avec Clémence Seurat, Robin de Mourat et Thomas Tari). Ça les intéressait d’expérimenter un processus éditorial non conventionnel et de travailler en web2print. On a d’abord travaillé avec Goji, un logiciel libre développé par Robin de Mourat, un des chercheur du projet. Goji devait permettre de gérer les contenus de l’édition et permettait de faire un export html. Il s’est avéré qu’à terme, nous abandonné Goji qui comportait trop de bugs et qui nécessitait pas mal de nouvelles fonctionnalités pour être utilisable. C’était un processus long et compliqué. Nous avons travaillé les contenus directement dans le HTML et la mise en page se faisait avec Paged.js et CSS. Ce qui a impliqué un gros travail pour moi d’intégration des contenus, de correction etc. En travaillant ainsi, on s’est dit que c’était idiot de ne pas exploiter le fait que le web permet la dissociation des contenus et de la mise en page (ce qui n’est pas du tout le cas dans Indesign). Finalement, on a terminé le livre tout en HTML à coup de nuits blanches d’intégration de correction et de micro-typo (le vrai problème qui prend du temps et qui est difficile à gérer c’est la micro typo en web2 print, c’est là ou le WYSIWYG est important). Le livre est sorti en version imprimée et en version web. On a trouvé des solutions avec l’imprimeur pour avoir des fichiers avec lesquels ils pouvait travailler et on a adapté le HTML pour en faire une version en ligne (le deal c’était que les contenus du livre étaient entièrement accessibles et en Creative Commons un an après la sortie papier du livre). C’était simple de faire ce passage du pdf imprimable au site web navigable. Si on en revient à la question du temps, on a gagné un temps fou à ce moment là (et aussi une cohérence graphique puisqu’on a quasiment utilisé le même CSS). Pour voir ce que tout ça donne, c’est ici. +

    + https://controverses.org/mode-demploi/

    Fin 2022, Clémence, Robin et Thomas avait un nouveau projet d’édition, du même type. Une édition de recherche sur une friche et une enquête citoyenne participative. Iels m’ont sollicité de nouveau pour le design en web2print de celle-ci (le sujet parait cohérent avec le fait d’utiliser des outils libre). Fort de la première expérience et toujours désireux·ses de réfléchir au processus éditorial, nous avons tenté autre chose. J’ai mis en place un CMS, permettant de gérer les contenus de l’édition en ligne. J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les quatre intégrés à la plateforme. C’était intéressant, car mes trois collaborateur·ices / commanditaires se rendaient compte de certaines chose qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. On a pu comme ça durant toute la durée de la fin de l’écriture, des corrections et de la mise en page travailler en collaboration. L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire « j’ai oublié une phrase ici... » « il manque des guillemets là... » etc. On peaufiné le design en intégrant les contenus et les corrections. J’ai passé beaucoup de temps avec la micro-typo, mais ça je le savais d’avance. L’édition vient juste d’être imprimée, on attend de les recevoir ! Et bientôt une adaptation web.

    J’espère que cet email ne part pas trop dans tous les sens, qu’il reste compréhensible et qu’il répond à vos questionnements. [...]

    Bien à vous, Sarah

    +

  • + + + +
    + +
    +
    + + + + +
    + + + + + +

    + Manifeste +

    + + +
    +
    +

    Libérons le design graphique !
    Pertinence du modèle libre au-delà de l’outil

    +

    Faire un pas de côté

    +

    Lorsqu’on refuse de se soumettre aux grands groupes propriétaires d’outils et à leur conception du design graphique, qu’on reprend le contrôle sur ses outils, qu’on refuse d’être contraint·es par des paradigmes logiciels qui n’ont jamais changé et qu’on arrête de dépenser notre argent dans des outils que l’on ne peut même pas posséder, nous engageons une démarche militante. Dès lors que que le choix de se tourner vers les outils libres n’est pas qu’un choix personnel ou un moyen d’expérimenter les formes, prenons le parti de faire un « pas de côté »Expression issue des échanges de courriels avec Sarah Garcin. vis à vis de l’industrie.

    +

    En faisant ce pas de côté, laissons nous le droit de refuser les logiques de production qui voudraient que l’on produise un maximum et le plus rapidement possible. Autorisons nous l’expérimentation créative, donnons une place à l’erreur, ouvrons nous à l’exploration technique et prenons le temps de penser nos méthodes plutôt que de garder, par défaut, un même outil fonctionnel mais pas forcément optimal.

    +

    À l’image des travailleur·euses de l’art des collectifs Art en Grève ou La BuseBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., organisons-nous et mettons en place une solidarité concrète pour nos conditions de travail, notre rémunération et nos droits. Soyons solidaires face aux entreprises de la tech qui cherchent à monopoliser le lien entre les designeur·euses et les client·es par le développement de plateformes qui nous mettent en concurrence, nous poussent à brader nos prixComme Fiverr, et les autres plateformes de mise en relation client·es-designeur·euses. Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. et à produire en masse à moindre coût, pour espérer séduire des algorithmes qui nous évaluent sur ces critères.Comme le fait Canva, cf. Canva Creator Journey, https://www.canva.com/help/canva-creator-journey/, consulté le 01/12/2023. +Comme les ouvrièr·es typographes l’ont fait avant nous, engageons nous dans des luttes sociales ou politiques et prenons le parti d’utiliser de nos compétences pour participer à celles-ci.

    +

    Repensons nos modèles économiques et éloignons nous des emplois aliénants qui nous demandent de ne pas compter nos heures, d’être toujours plus productif·ves et de suivre des directives sans pouvoir les remettre en question. Utilisons l’automatisation lorsqu’elle nous libère des tâches fastidieuses, et profitons de ce gain de temps pour faire autre chose que le travail. Inspirons nous des modèles économiques de collectifs déjà existants, en nous assurant de tous·tes nous rémunérer aussi justement que possible. Il est par exemple possible de diviser équitablement l’argent perçu pour un projet en fonction du travail fourni et en gardant un pourcentage pour le fonctionnement de la structure. Ce n’est qu’une possibilité, d’autres pourraient être imaginées au travers d’échanges et de prises de décisions collectives. +Faisons le choix de travailler avecExpression tirée de la conférence du collectif Luuse à Bruxelles lors de l’événement « Le design graphique comme outil d’expérimentation ? » organisé par Morgane le Ferec et Colin Roustan dans le cadre de P(A)F - Pratiques (Artistiques) Fonctionnelles., et non pour, des personnes que nous choisissons. Cherchons à travailler sur des sujets épanouissants et en alignement avec nos valeurs, quitte à diversifier nos activités pour atteindre un équilibre économique. Balisons des espaces de travail dans lesquels chacun·e des acteur·ices d’un projet se sentira considéré·e et à l’aise, et soyons transparent·es sur nos méthodes.

    +

    Les licences libres

    +

    En mettant à mal la précieuse « propriété intellectuelle », le travail collaboratif nous encourage à produire un graphisme libre. Le « droit sacré à l’originalité »Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. n’est de toute façon assuré qu’aux designeur·euses qui ont les moyens de financer un·e avocat·e pour les défendre, surtout à l’heure ou les grandes entreprises n’ont aucun scrupule à voler le travail des designeur·euses pour leurs productions, profitant d’avoir l’arsenal juridique nécessaire pour les déstabiliser.

    +

    Les licences libres permettent à tous·tes de bénéficier des productions d’autrui, sans pour autant remplacer la propriété intellectuelle. Elles permettent plutôt aux producteur·ices de céder par avance certains droits et, de fait, de clarifier les conditions dans lesquelles leur production peut-être utilisée.

    +

    Les licences Creative Commons [fig. 33] sont les plus connues et offrent une large variété d’usages possibles. D’autres ont vu le jour telles que la SIL Open Font Licence pour les typographies et le domaine public est, lui aussi, une possibilité. Bien sûr, la liste n’est pas exhaustive. Il est toujours possible de créer de nouvelles licences plus spécifiques comme l’ACSL (Anti-Capitalist Software Licence)Cette licence n’est pas tout à fait libre dans la mesure où elle n’assure les quatre libertés du libre qu’aux individus, associations à but non lucratif, institutions éducatives et aux sous certaines conditions aux organisations qui cherchent à générer un profit pour tous·tes ses membres en permettant aux non-membres de fixer le coût de leur main d’œuvre. The Anti-Capitalist Software Licence, https://anticapitalist.software/, consulté le 01/12/2023..

    +

    fig. 33 Les familles de licences Creative Commons : commercial / non commercial ; modifiable / non modifiable. Les licences vont de la moins à la plus restrictive.

    +

    La diffusion de nos productions sous licences libres permet aussi de passer sur des modes de production « cumulatifs »Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021. au travers desquels plusieurs personnes transforment l’ouvrage et échangent librement des informations sur les modifications. Elles permettent les forks et le partage des productions hors de la propriété exclusive de celle-ci, ou de la dissimulation des secrets de fabrication. En prenant la position d’« auteur·ice-relai », reconnaissons que nous ne pouvons pas être propriétaire d’une idéeAlbert Jacquard, entretien mené par le collectif Libre Accès en 2010 suite à la rencontre « Garantir les libertés publiques pour préserver les biens communs ». et que chacune de nos création a été « provoquée par la rencontre avec un autre »Ibid. et finira par nourrir elle aussi les idées d’autrui.

    +

    Constituer des communs graphiques

    +

    La diffusion de nos productions sous licence libre est l’élément clé de la constitution de communs graphiques. Les communs sont des ressources (digitales, matérielles, techniques ou théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils représentent l’ensemble des ressources et pratiques qui ne sont ni de propriété privée ou publique et sont une alternative à binarité, reposant sur un accès égal aux communs et au partage des décisions. +Les communs doivent pouvoir être accédés, partagés et transformés librement, surtout lorsqu’ils ont été produits, rassemblés ou édités par la communauté.Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

    +

    Refusons alors de se soumettre à des lois, telles que le copyright ou la propriété intellectuelle, qui freinent la constitutions de communs en privatisant les savoirs collectifs pour générer du profit.Ibid. Profitons de la mise en commun de capacités et de la circulation de nos idéesCollectif, « Open Source Publishing Relearn », future , 3 octobre 2011, http://f-u-t-u-r-e.org/r/02_OSP_Relearn_FR.md. en devenant des auteur·ices-relais qui font avancer, par leurs pratiques, le bien commun et les pratiques d’autrui.

    +

    Ouvrons nous aux forks et faisons circuler nos productions, comme le font déjà les typothèques libres, pour permettre leur usage par autrui. Contribuons à la mise en commun de ressources, comme le collectif Luuse le fait, et considérons que chacun·e mérite de bénéficier du partage culturel.

    +

    Et surtout, n’oublions pas qu’une production diffusée librement n’est pas forcément une production issue d’un travail gratuit. Ouvrons la discussion sur le libre avec nos commanditaires et faisons de notre éthique un étendard qu’aucune proposition de rémunération ne peut faire tomber.

    + +
    +
    + +
    + + + +
    + + + + + +

    + Bibliographie +

    + + +
    +
    +
    Concrétiser l’utopie
    +
      + +
    • +

      « Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. +

    • +
    + +
    Travail, industrie et aliénation
    +

    +
      +
    • +

      Arendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll. « Agora », 2002.

    • +
    • +

      France culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll. « Les Chemins de la philosophie ».

      +
    • +
    • +

      Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021.

      +
    • +
    • +

      Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015.

      +
    • +
    • +

      Stiegler Bernard, « Prolétarisation », Ars Industrialis, https://arsindustrialis.org/prol%C3%A9tarisation.

      +
    • +
    +

    + +
    Repenser le travail
    +
      +
    • +

      Boutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste., Marseille, 2019.

      +
    • +
    • +

      Chancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p. 66-70.

      +
    • +
    • +

      Congar, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », in Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259

      +
    • +
    • +

      Sobel Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210.

      +
    • +
    • +

      Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvriers imprimeurs de Paris, Monographie par M  L***, apprenti imprimeur.

      +
    • +
    • +

      Jacquet Hugues, L’intelligence de la main, préface de Pierre Maclouf, l’Harmattan, coll. « Logiques sociales », 2012.

      +
    • +
    • +

      Laski Gary. Le design : Théorie esthétique de l’histoire industrielle, Philosophie. Université Paris‑Est, 2011.

      +
    • +
    • +

      Levit Briar, Graphic Means: A History of Graphic Design Production, 2017.

      +
    • +
    • +

      Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022.

      +
    • +
    • +

      Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33.

      +
    • +
    • +

      Morris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.

      +
    • +
    + +
    L’école
    +
      +
    • +

      Huyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017.

      +
    • +
    • +

      JO №0253, 30 octobre 2022, texte №23

      +
    • +
    • +

      Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », Design Issues, 10-1, t 1994, p. 53‑63.

      +
    • + +
    + +
    Outils numériques et logiciels
    +
      +
    • +

      Blanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 7-33.

      +
    • +
    • +

      Donnot Kévin, Graphisme en France 2012, code<> outils <> design, Paris, France, Centre national des arts plastiques, 2012.

      +
    • +
    • +

      Grootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche 28, 2022, p. 59‑88.

      +
    • +
    • +

      Lehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012, consulté le 20 décembre 2023. https://scriptographer.org/news/the-future-of-scriptographer-is-paper-js/

      +
    • +
    • +

      Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011, consulté le 15 janvier 2024. https://www.anthonymasure.com/articles/2011-06-adobe-creatif-pouvoir

      +
    • +
    • +

      Kévin Donnot, « Faire avec Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll. « Outils, médias, savoirs », 2020, p. 95-115.

      +
    • +
    + +
    Culture numérique
    +
      +
    • +

      Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

      +
    • +
    • +

      Wiener Norbert, Cybernétique et société, Titre original : Cybernetics and Society (The Human Use of Human Beings), Deux Rives., 1952.

      +
    • +
    + +
    Culture libre et hacking : généralités
    + + +
    Culture libre et hacking dans le design
    +
      +
    • +

      Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021.

      +
    • +
    • +

      Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023. https://genderfluid.space/lexiquni.html

      +
    • +
    • +

      Klein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013.

      +
    • +
    • +

      Maudet Nolwenn. S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023.

      +
    • +
    • +

      Ozeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014.

      +
    • +
    + +
    L’outil et l’esthétique
    +
      +
    • +

      Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979.

      +
    • +
    • +

      Papanek Victor, Design pour un monde réel, titre original : Design for the Real World: Human Ecology and Social Change sorti en 1971, Les presses du réel, 2021.

      +
    • +
    • +

      Tufte Edward R.,The Cognitive Style of PowerPoint, 2003.

      +
    • +
    • +

      Ulm Elliot, « I made the same design in every program ever ». https://youtu.be/sAk9SZ9yrMY

      +
    • +
    + +
    +
    + + + +

    + Glossaire +

    + + +
    +
    +
    Aliénation
    +
      +
    • Dépossession de l’humain de son autonomie de pensée et production.
    • +
    +
    API
    +
      +
    • Une API permet qu’une application ou un programme accède aux données d’une autre application, à distance.
    • +
    +
    Automatisation
    +
      +
    • Remplacement de l’action humaine par l’action de la machine, en vue d’augmenter la productivité. Elle participe à l’aliénation de l’humain en le dépossédant de ses moyens de production, ses outils, au profit de la machine qu’il ne connaît pas pleinement.
    • +
    +
    Autonomie
    +
      +
    • Liberté, indépendance morale ou intellectuelle. Faculté de penser par et pour soi.
    • +
    +
    Boîte Noire
    +
      +
    • Théorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque.
    • +
    +
    Communs
    +
      +
    • Les ressources et pratiques (digitales, matérielles, techniques, théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils ne sont ni de propriété privée ni publique et représentent une alternative à cette binarité qui repose sur un accès égal aux communs et au partage des décisions.
    • +
    +
    Communauté
    +
      +
    • Ensemble de personnes partageant un intérêt, une morale, une éthique et se rassemblant physiquement ou numériquement pour produire, s’entraider, partager et améliorer leur production.
    • +
    +
    CMS
    +
      +
    • Un Content Manager System est un programme informatique qui permet de gérer le contenu d’un site web pour ensuite l’injecter dans des templates qui le formalisent lors de la mise en ligne.
    • +
    +
    Creative Coding
    +
      +
    • Utilisation de la programmation informatique à des fins artistiques, au travers d’un processus d’expérimentation et d’ouverture aux résultats inattendus.
    • +
    +
    Culture libre
    +
      +
    • Mouvement social et sous‑culture qui s’engage pour les quatres principes du libre. (liberté d’utilisation, d’étude, de modification et de copie ou redistribution).
    • +
    +
    Épanouissement
    +
      +
    • Fait de se réaliser pleinement, d’atteindre une forme d’harmonie de développement.
    • +
    +
    Éthique
    +
      +
    • Comportement qui dépend à la fois de valeurs morales préexistantes et de la prise en considération des sujets et environnements alentours.
    • +
    +
    Ethos
    +
      +
    • Tiré du grec du mot « coutume », l’ethos désigne dans ce mémoire un ensemble de valeurs qui s’incarne dans des actions et évolue au travers des pratiques.
    • +
    +
    Free
    +
      +
    • En anglais, le terme signifie à la fois libre et gratuit, causant parfois des contresens dans la compréhension et la traduction de textes liés aux logiciels free. Ce souci ne se pose pas en français.
    • +
    +
    Fork
    +
      +
    • En informatique, branche divergente du développement d’un programme. Un fork, une « dérivation », correspond à un nouveau projet qui émane d’un autre, déjà existant, avant d’évoluer dans une autre direction.
    • +
    +
    Gratuit
    +
      +
    • Qui ne nécessite pas de contrepartie pécuniaire pour être obtenu, utilisé ou adopté.
    • +
    +
    Hacker
    +
      +
    • Selon Collectif, « Hacker », The Jargon File 4.4.7 (traduction libre spécifiquement pour ce mémoire) « une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préférent n’apprendre que le minimum nécessaire. » Le sens du mot hacker se rapproche du mot « bidouilleur·euse » en français.
    • +
    +
    Hardware
    +
      +
    • Éléments matériels, composants physiques d’une machine informatique.
    • +
    +
    Liberté
    +
      +
    • Possibilité d’agir, de penser par soi‑même, refus de toute sujétion aux choses, de toute pression d’autrui. Absence d’entraves, de préjugés dans la démarche intellectuelle.
    • +
    +
    Libriste
    +
      +
    • Membre de la communauté libre.
    • +
    +
    Licence
    +
      +
    • Une licence, dans le domaine logiciel, est le contrat par lequel le·a titulaire des droits du logiciel (le·a propriétaire) définit les droits dont dispose l’utilisateur·ice vis-à-vis de celui‑ci.
    • +
    +
    Licence libre
    +
      +
    • Une licence libre est une licence avec laquelle le·a ou les auteur·ices font le choix de renoncer à une partie, ou l’entièreté, de leurs droits d’auteur·ice. Cette licence respecte les quatres principes du libre : utilisation, étude, redistribution et modification.
    • +
    +
    Machine
    +
      +
    • Selon Norbert Wiener, système complexe, dont on étudie le comportement (entrées et sorties) plutôt que le fonctionnement profond. Dans ce mémoire, le mot désigne l’ordinateur comme un appareil complexe qui fait fonctionner ensemble différents éléments de software.
    • +
    +
    Moyens de production
    +
      +
    • Les instruments de production (outils et machines) ainsi que la technique, les savoirs et savoirs‑faire qui permettent le travail.
    • +
    +
    Open Source
    +
      +
    • État du code d’un programme qui est accessible, soit dans le programme lui‑même soit grâce à une forme de documentation. Un programme open source n’est pas forcément libre alors qu’un logiciel libre est toujours open source.
    • +
    +
    Outil
    +
      +
    • Le mot désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux‑ci se rapprochent plutôt de « fonctionnalités ».
    • +
    +
    PAO
    +
      +
    • Publication Assistée par Ordinateur.
    • +
    +
    Propriété
    +
      +
    • Ensemble des droits exclusifs permettant l’exploitation d’une marque, d’un brevet, d’une licence, d’un dessin, d’une appellation et contre lesquels les propriétaires peuvent exiger une contrepartie pécuniaire.
    • +
    +
    Software
    +
      +
    • La partie immatérielle, logicielle, d’une machine informatique.
    • +
    + +
    +
    + + + +

    + Remerciements +

    + + +
    +
    +

    Je tiens à remercier toutes les personnes qui ont permis à ce mémoire d’exister tel qu’il est. +

    +Merci à Lénore Conte et Olivier Koettlitz, mes tuteur·ices, pour leurs conseils aussi précis que précieux, l’attention portée à mon écrit et leurs relectures. Merci à Bastien Sion de m’avoir transmis son affection si humaine pour le design graphique. J’espère vous avoir (au moins un peu) fait changer d’avis. +

    +Merci à ÉO, BT, NP, LM, AG et RM pour tout ce que vous m’avez transmis lors de mon stage aux côtés de Luuse l’année dernière. Merci pour les compétences techniques (sans lesquelles tout aurait été bien plus laborieux), le prêt des bouquins et, surtout, les conversations passionnantes. +
    +Merci à Sarah Garcin pour nos échanges par courriel, pour ta bienveillance et tes encouragements. +
    +À vous sept, merci de rendre concrètes et visibles des visions du design graphique qui s’autorisent à faire un pas de côté. +

    +Merci à Théo pour les leçons de JavaScript, pour le script que je n’aurai pas eu le temps d’écrire et pour tout le reste. Merci à Inès et Romy pour cinq des plus chouettes années de ma vie. +

    +Merci à Julien Taquet pour le coup de pouce sur les traits de coupe et à l’Atelier Bien Vu et Léo Carbonnet pour le suivi sur la mise en page. +
    +Merci à Nicolas Taffin pour la relecture qui m'a permis de corriger la version web.

    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + diff --git a/sac/pages/https---stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar b/sac/pages/https---stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar new file mode 100644 index 0000000..8ba9350 --- /dev/null +++ b/sac/pages/https---stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar @@ -0,0 +1,2046 @@ + + + + + + + + bash - How to use SED to find and replace URL strings with the "/" character in the targeted strings? - Stack Overflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + + + + +
    +
    +
    + + +
    + + + + + + +
    + + + +
    + + +
    +
    + + + + +
    +
    + Asked + +
    +
    + Modified + 10 years, 9 months ago +
    +
    + Viewed + 107k times +
    +
    + +
    + +
    + +
    +
    +
    +
    + + +
    +
    +
    + +
    + 80 +
    + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + + +
    + +

    I'm attempting to use SED through OS X Terminal to perform a find and replace.

    + +

    Imagine I have this string littered throughout the text file: http://www.find.com/page

    + +

    And I want to replace it with this string: http://www.replace.com/page

    + +

    I'm having trouble because I'm not sure how to properly escape or use the "/" character in my strings. For example if I simply wanted to find "cat" and replace with "dog" I've found the following command that works perfectly:

    + +
    sed -i '' 's/cat/dog/g' file.txt
    +
    + +

    Does anyone have any ideas on how to achieve the same functionality only instead of cat and dog have strings or URLs that container the "/" character? I tried many different ways of escaping the "/" characters but then it seems as if SED can no longer "find" the string and it doesn't perform any find & replace actions.

    + +

    Any help or tips are greatly appreciated.

    + +

    Thanks!

    +
    + +
    + +
    + +
    +
    +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + +
    + + + +
    +
    +
    + +
    + + + + + 0 +
    +
    +
      + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +
    + + + +
    + +
    +
    +
    +

    + 2 Answers + 2 +

    +
    +
    + + +
    +
    + + + Reset to default + +
    +
    + +
    +
    + + +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + 227 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    / is not the delimiter in sed commands, it's just one of the possible ones. For this example, you can for example use , instead since it does not conflict with your strings;

    + +
    echo 'I think http://www.find.com/page is my favorite' | 
    +    sed 's,http://www.find.com/page,http://www.replace.com/page,g'
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 0 +
    +
    +
      + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + 52 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    sed can take whatever follows the "s" as the separator. Since you are working with URL it is a good practice to use a different delimiter other than / to not confuse sed when your substitution ends and replacement begins.

    + +

    However, having said that you can definitely use / if you wish too. You just need to escape the literal /.

    + +

    So, you can either do:

    + +
    sed 's/http:\/\/www.find.com\/page/http:\/\/www.replace.com\/page/g' input_file
    +
    + +

    or use a different delimiter to avoid making your cryptic sed more cryptic.

    + +
    sed 's#http://www.find.com/page#http://www.replace.com/page#g' input_file
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 3 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Using this approach, any reason why the following only outputs the file without any changes? sed 's#:0.0.1#:new-build-number#g' some.yaml. 1. The change does not occur. 2. I don't want the file printed, just updated. + +
      +– Idan Adar +
      + Apr 26, 2017 at 4:14 + + + +
      +
      +
    • +
    • +
      +
      + 4 +
      +
      +
      +
      + + The space character works well as a sed delimiter when processing URLs. It's visually clean and will never occur in a properly-formatted (i.e., escaped) URL. + +
      +– Patrick Dark +
      + Jun 27, 2019 at 23:40 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + I had to use sed -i to make it work. Why doesn't it work without the -i? I read that -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) What does it mean that it makes backup? + +
      +– Vasiliki +
      + Feb 9, 2021 at 12:53 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + + + + +

    +
    +Not the answer you're looking for? Browse other questions tagged or ask your own question.
    +

    +
    +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/https:--memoire.emma-jade.fr- b/sac/pages/https:--memoire.emma-jade.fr- new file mode 100644 index 0000000..f40364a --- /dev/null +++ b/sac/pages/https:--memoire.emma-jade.fr- @@ -0,0 +1,1122 @@ + + + + + + + + + + Mémoire – Emma-Jade De Moor + + + +
    + +

    + Comment
    + nous travaillons,
    + comment nous
    + pourrions travailler +

    + +

    + Emma-Jade De Moor – Mémoire de recherche professionelle +
    + Ésaat Roubaix 2022 - 2024 – DSAA graphisme +
    + Tutorat : Léonore Conte & Olivier Koettlitz +

    +

    Cliquez pour accéder au site !

    +
    + + + + + + + + +
    + +
    + + + + + + +

    + Note éditoriale +

    + + +
    +
    +

    Ce mémoire a d’abord été mis en pages dans une version imprimée à l’aide de MkDocs et de la librairie Paged.Js de Fred Chasen, Julie Blanc et Julien Taquet. Vous pouvez trouver le repo git de la version imprimée juste ici et celui de la version web quelque part par là. S’ils ne sont pas accessibles, patience, je m’occupe de la documentation.

    +

    Il a originellement été composé avec le caractère Hershey Noailles, un fork de hersheytextjs par Luuse et est constitué de cinq cahiers, dont les contenus ont été réorganisés pour le web, et quelques corrections ont été faites.

    +

    Le site que vous consultez est un site statique généré grâce à MkDocs. Son code et ses contenus sont sous licence CC-BY-NC-SA. Plusieurs scripts Javascript permettent la gestion des notes et des légendes, la génération du sommaire et l’ouverture des images dans un nouvel onglet lors du clic. L’indication des mots du sommaire par une variation de graisse a été conservée, en clin d’œil à l’édition imprimée, ainsi que la « page de garde » par laquelle vous êtes entré·e sur ce site. Des prises de vues des mémoires physiques arriveront prochainement.

    + + +
    + + +
    + Passer à la lecture + + +
    + +
    + + + + + +

    + Introduction +

    + + +
    +
    +

    Lorsqu’il est question des outils des designeur·euses graphiques, Adobe semble hégémonique pour le regard extérieur comme celui de l’initié·e. Photoshop est souvent le premier outil cité, suivi de près par le reste de la famille Adobe Creative Suite. Pour moi, comme pour bien d’autres étudiant·esGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. et professionnel·les, l’essentiel des compétences techniques acquises et sollicitées à l’école et au travail relèvent de ces logiciels. Les alternatives, aux logiques plus ou moins similaires, ne sont que rarement plébiscitées et peinent à se faire une place dans l’industrie du design graphique. +Polyvalents et efficaces, les outils Adobe sont aussi dématérialisés et centralisés. Les designeur·euses graphiques qui les utilisent sont tributaires du propriétaire de l’outil – l’entreprise Adobe – en ce qui concerne la disponibilité, la maintenance et l’amélioration des logiciels. Si Adobe décidait d’arrêter la distribution de ses logiciels, de nombreux·ses designeur·euses graphiques se retrouveraient dépourvu·es de leurs outils de travail, ou pire : de leur travail.

    +

    Dans le paysage européen et contemporain du design graphique, la question du choix de l’outil numérique et les rapports à la propriété et à la chaîne de production sont déjà questionnés : certain·es designeur·euses graphiques se forment au développement informatique (au code) pour s’émanciper des outils propriétaires. Des projets de publication alternatives libresTels que PrePostPrint ou de web-to-printComme Paged.Js créé par Adam Hyde et actuellement développé par Fred Chasen , Julie Blanc et Julien Taquet, ou PageTypeToPrint par Julien Bidoret. voient le jour et des collectifs tels que Open Source Publishing ou Luuse font le choix de ne travailler qu’avec des outils « libres » dans une démarche de hacker. +Dans les écoles, des événements s’organisent autour de ces problématiquesEn 2023, ont été organisés les recontres « Open Open » par l’ESAC de Cambrai et « PostScript écoles sous licences » par l’atelier de Communication graphique de la HEAR Strasbourg et les départements typographiques de l’ERG et de l’ENSAV La Cambre (Bruxelles). et certaines écoles les incluent dans leurs cursus : les cours d’ustensiles numériques de l’ERG s’orientent autour des outils libres et open source, et le CASO Arts Numériques de l’ENSAV La Cambre sensibilise les étudiant·es aux outils libres. Ces initiatives restent cela dit sporadiques, se limitant bien souvent à des cercles d’initiés aux pratiques plutôt expérimentales et liées à une recherche autour de l’outil.

    +

    Alors que les outils propriétaires sont à la fois les standards de l’industrie et des logiciels à l’accessibilité ou l’appropriation limitées par la propriété, comment le·a designeur·euse graphique peut i·el reprendre le contrôle sur ceux-ci et son autonomie ? Il est question ici d’imaginer de nouveaux modèles en revoyant nos paradigmes de travail et notre rapport d’usage aux outils. Pour ce faire, nous interrogeront la viabilité (ou l’utopisme) des outils libres, la nécessité de vivre de nos productions et la possibilité de reconsidérer notre rapport au travail et à l’argent.

    +

    On n’entendra pas, par le mot « outil », un simple prolongement du corps servant à augmenter son efficacité. « Outil » désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux-ci se rapprochent plutôt de « fonctionnalités ».

    +

    Concernant le mot « machine », il désignera l’ordinateur qui abrite et permet d’utiliser ces outils, au sens d’un appareil complexe faisant fonctionner ensemble différents composants de software. Nous ne traitons donc pas, sauf exception, du sujet ordinateur et de ses composants hardware. +Les outils Adobe serviront ici de cas d’école pour analyser et poser un regard critique sur ce qu’est la situation actuelle des travailleur·euses du design graphique et leurs rapports à l’outil. C’est en posant un regard critique sur l’outil et l’industrie que nous pourrons imaginer ce qui pourrait être, réfléchir à d’autres façon de se positionner vis-à-vis du travail et proposer une utopie réaliste qui puise dans l’éthique des libristes et des hackers.

    + +
    +
    + +
    + + +
    + +

    + Comment nous travaillons +

    + +
    +

    + L'aliénation du·de la designer·euse graphique, origines et manifestations +

    + + + +
    + +

    + Le travail du·de la designeur·euse graphique + +

    +

    Le mot travail est régulièrement galvaudé dans le langage commun, utilisé pour parler à la fois de l’ouvrage et de lui-même. Hannah ArrendtArendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll.« Agora », 2002. fait la distinction entre le travail (labour, en anglais) et l’ouvrage, l’œuvre (work, en anglais). Il y a dans le travail une dimension biologique qui est nécessaire à la survie. Travailler, « c’est l’asservissement à la nécessité »Arendt Hannah, Condition de l’homme moderne Poche, op. cit.. tandis que l’ouvrage correspond à l’œuvre produite par le travail, que nous appellerons les « productions de design graphique ». +Il faut aussi faire la distinction entre le travail et l’emploi. Ce dernier s’est développé avec le salariat et correspond à l’échange du travail contre une rémunération au travers d’un salaire. Selon Bernard StieglerStiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015., l’emploi réside dans cet échange tandis que le travail est ce par quoi on cultive un savoir quelconque en accomplissant quelque choseIbid, p. 17.. L’employé·e n’est alors plus à l’initiative de son activité, i·el la subit. En agence, par exemple, le·a designeur·euse graphique est soumis·e à une forme de hiérarchie et d’exploitation, liée à une perte d’autonomie sur le choix de l’objet de son travail, de ses outils ou de ses horaires.

    +

    Puisqu’il est nécessaire à la survie, ou permet au moins de développer de nouvelles capacités, il ne semble pas que le travail soit le réel problème. Ce sont plutôt les conditions de celui-ci qui sont à remettre en cause. Lorsqu’elles sont dégradées et que le travail ne relève plus de la survieC’est à dire qu’il ne consiste pas en une activité de survie, comme rechercher ou cultiver de la nourriture ou bien construire un abri. ou de la construction de soiPar le développement de savoirs ou de compétences.,comme depuis la révolution industrielle, il devient aliénant. C’est là que la rémunération devient particulièrement importante : c’est elle qui donne son intérêt à un travail exploitant et destructeur du temps de vie, dans la mesure où il n’est pas épanouissant.

    +

    D’après la théorie marxiste, la nécessité pour un·e travailleur·euse de vendre sa force de travail, couplée à une dépossession de ses savoirs et savoir-faire par la machine (industrielle), est ce qui le prolétariseMarx Karl, Le Capital Livre I.. Le prolétariat constitue alors une classe sociale soumise à la classe capitaliste qui dispose du capital et des moyens de production. +Bernard Stiegler fait glisser cette définition, habituellement orientée vers l’ouvrièr·e, vers le·a « concepteur·ice »Stiegler Bernard, « Prolétarisation », Ars Industrialis, consulté le 27/11/2023. qui serait prolétarisé·e par l’automatisation des « systèmes d’aide à la décision »Ibid. intégrés aux programmes informatiques. Nos outils de design graphique portent une forme d’automatisation dans le pré-remplissage des réglages ainsi que dans l’exécution des tâchesTrès simplement, l’outil forme d’Illustrator nous permet de « tracer » automatiquement des rectangles sans réellement tracer gestuellement les quatre côtés de ceux-ci..

    +

    Pendant la production, le·a designeur·euse graphique n’a que rarement l’occasion de penser à ses outils et de se les approprier. Comme à l’heure du taylorismeLa doctrine d’organisation du travail de l’ingénieur américain Frederick Winslow Taylor, datant de 1911, qui consiste à confier aux travailleur·euses des tâches simples et répétitives pour améliorer leur productivité., il se sert des fonctionnalités, contenues dans la machine, pour effectuer des tâches récurrentes : créer une zone de texte, régler un crénage, déplacer des éléments... +I·el devient l’auxiliaire de la machine, qui lui permet d’agir en cliquant sur des boutons virtuels. Lorsqu’Hannah Harendt analyse le travail à la chaîneArendt Hannah, Condition de l’homme moderne, op. cit., elle évoque la façon dont le rythme biologique du·de la travailleur·euse doit se plier à celui de la machine qui lui est mécanique. C’est justement la répétition de ce même geste, le clic, qui assujettit le·a designeur·euse graphique au rythme de l’ordinateur. Par ce non-choix de l’outil – qui revient à utiliser les standards de l’industrie, comme la suite Adobe – le·a designeur·euse adapte son geste à la machine, i·el s’automatise, n’expérimente pas et n’apprend plus.

    +

    À l’ère pré-numérique, lorsque les designeur·euses composaient encore systématiquement à partir d’esquisses et de collageLevit Briar, Graphic Means: A History of Graphic Design Production, 2017., le rapport au corps était bien différent. La taille de l’atelier le prouve bien, les designeur·euses pouvaient naviguer entre différents plans de travail tandis qu’aujourd’hui un seul écran d’ordinateur peut en contenir plus d’une dizaine. Le geste n’est pas simplement réduit au sens où la palette gestuelle est réduite : c’est aussi l’espace dans lequel le corps évolue qui se voit rétrécir. Le corps n’est plus tout à fait engagé dans la pratique, c’est finalement la machine qui accomplit automatiquement les tâches, nous privant au passage de la satisfaction de l’ouvrage. Comment, alors, le numérique a-t-il conditionné le travail des designeur·euses graphiques ?

    + + + +
    + + + +
    + +

    + L'étroit lien entre le numérique et le design graphique + +

    +

    L’opinion fait naturellement le lien entre le design graphique et le numérique, sans forcément questionner les origines de celui-ci. À l’instar des designeur·euses d’espace, d’objet ou textile, les designeur·euses graphiques utilisent des outils numériques. Pourtant, cela ne semble pas être un critère suffisant, sinon tous les champs du design seraient concernés par cette association. +Bien sûr, le design graphique se retrouve sur des supports numériques tels que les sites webs ou le design d’interface. Mais revenons un instant à ce que sont le graphisme et le numérique, de la façon la plus élémentaire possible.

    +

    Le mot graphisme vient du latin graphicus, du grec ancien graphikos, issu de graphein « écrire, dessiner, marquer une surface par une entame, creuser, entailler, tailler légèrement ». En linguistique, il correspond à la « manière de représenter le langage par l’écriture »Rey Alain, Dictionnaire historique de la langue française, leRobert, 2010.. +Quand nous parlons du numérique dans ce mémoire, nous traitons en fait des données informatiques. Ces données, écrites par l’humain ou compilées par l’ordinateur qui les interprète ensuite, ne sont rien de plus ou de moins que des séries de caractères. Par leur connexion à l’écriture, les deux domaines sont donc intrinsèquement liés. +Historiquement, aussi, le lien entre design graphique et numérique est évident. Déjà dans les années 1960, l’informatique faisait son entrée dans l’histoire de l’imprimerie au travers des micro-ordinateurs dans les machines de photocomposition. Dix ans après, l’invention de terminaux d’affichage a permis la saisie de texte et la composition de ceux-ci. Plus tard, des langages standardisés se développent pour permettre de décrire la structuration des documents destinés à être mis en pageBlanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 5.

    +

    Simultanément, l’émergence des premiers ordinateurs personnels, a rendu nécessaire la production d’interfaces familières et compréhensibles pour les non‑initié·es. C’est ainsi que sont nés les paradigmes de travail auxquels les designeur·euses graphiques sont habitué·es : le WIMP, Window Icon Mouse PointerFenêtre, icône, souris, curseur. et, dans les logiciels de création graphique, le WYSIWYG, What You See Is What You GetCe que vous voyez est ce que vous obtenez., qui est actuellement le plus répandu dans les logiciels propriétaires. Ces nouveaux paradigmes de travail ont modifié les conditions de celui-ci pour les designeur·euses graphiques, impactant au passage leur aliénation.

    + + + +
    + + + +
    + +

    + L’impact des pratiques numériques sur l’aliénation du·de la designeur·euse graphique + +

    +

    En suivant la lignée de l’informatique personnelle, les interfaces des logiciels propriétaires reposent sur des affordances similaires à la « Métaphore du bureau » d’Alan KayIntroduite en 1980 avec la sortie de l’ordinateur personnel Xerox Star.. Les objets virtuels, comme la corbeille, illustrent l’action à laquelle ils correspondent. Sur Photoshop par exemple, on dessine au crayon et on emprunte à l’argentique ses outils de retouche lumière pour régler la densité d’une image.

    +

    Depuis son avènement sur le marché du logiciel, notamment avec le logiciel de mise en page PageMaker (encore édité par Aldus à la sortie du Macintosh de 1984), Adobe n’a eu de cesse de simplifier le travail des designeur·euses et autres professionnel·les de la création graphique. N’étant plus obligé·es d’avoir recourt à la photocomposition, i·els ont pu passer moins de temps sur leurs expérimentations et, de fait, les pousser plus loin et être plus productif·vesJe fais ici référence à des productions telles que celles de David Carson ou de la revue Emigre Magazine..

    +

    De la même façon, la société Adobe promeut la simplicité d’utilisation de ses outils. Adobe CS6 était mis en avant avec l’argument suivant :

    +
    « Innovez sans avoir à vous former à de nouveaux logiciels. Exploitez des outils familiers pour donner aisément libre cours à votre créativité au sein d’un univers élargi d’applications de création. »Adobe.com, citation tirée d’un écrit de Kévin Donnot, « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115.
    + +

    Il semble essentiel de questionner la pertinence de cet argument de vente pour les designeur·euses graphiques qui, de par leur pratiques spécialisées, utilisent quotidiennement ces outils. Avons-nous réellement besoin d’un logiciel clé en main ? N’ayant plus besoin d’avoir recours à des techniques spécialisées, nous pouvons (comme n’importe qui d’autre), obtenir rapidement un résultat satisfaisant. Maintenant que les logiciels ne sont plus nouveaux, ce gain de temps semble se faire au détriment de l’apprentissage et au profit de la productivité. L’enjeu ne semble alors plus être de libérer du temps pour expérimenter mais d’accélérer la cadence de production.

    +

    En outre, les évolutions esthétiques émanant de l’invention de la PAO montrent que les paradigmes de travail influent sur la manière d’interagir avec la machine. Les designeur·euses graphiques doivent prendre conscience que chaque interface prédéfinie possède « son propre cadre et schéma de pensée »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. qui, par l’utilisation automatique d’un même outil, finit par prendre le dessus sur l’autonomie du·de la designeur·euseNous aborderons plus tard l’influence de l’outil sur la forme.. L’étendue des fonctionnalités des logiciels Adobe semble, au premier abord, offrir un champ des possibles « infini », mais comment un seul outil pourrait-il correspondre à tous les projets ?

    +
    +« Ne serait-il pas pertinent de choisir ou d’adapter le logiciel utilisé au projet qu’il sert ? »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. +
    + +

    ...et, par la même occasion, d’adopter une approche située vis-à-vis des possibilités de l’outil et de son contexte de développement et d’utilisation.

    + + + +
    + +
    + + +
    +

    + Le rapport des designeur·euses à l’outil +

    + + + +
    + +

    + Portrait du modèle économique dans lequel évoluent les designeur·euses graphique + +

    +

    Pour comprendre les rapports entretenus par les designeur·euses à leurs outils, intéressons nous au modèle économique dans lequel ceux-ci prennent place. +Le travail artistique peine à être reconnu comme travail. Dans le cas précis du·de la designeur·euse graphique, i·el a commencé par une position de travailleur·euse technique, au sein des ateliers médiévaux de copistes ou de ceux des ouvrièr·es typographesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. p. 301. Le mythe du « génie créatif »Ibid. Traduction de l’expression creative genius employée par l’auteur. de la Renaissance ne refait son apparition dans le design qu’à partir du dix‑neuvième siècle.

    +

    Bien que John Ruskin et Karl Marx voyaient l’activité artistique comme non-aliénée, par l’épanouissement trouvé dans l’exécution d’une œuvre à la fois utile et satisfaisante pour l’unLaski Gary, Le design« : Théorie esthétique de l’histoire industrielle, Philosophie; Université Paris-Est, 2011. et par opposition au travail et à la concurrence pour l’autreBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., la culture professionnelle contemporaine fait des designeur·euses graphiques les travailleur·euses idéaux·ales pour le néo-capitalisme. Ce métier-passion, qui n’est pas qu’un emploi puisqu’il pourrait aussi être épanouissant, permet aux capitalistes (les employeur·euses et, dans une certaine mesure, les commanditaires) de tirer profit de l’engagement des designeur·euses et de les soumettre à des conditions de travail inacceptablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254.. Il n’est pas rare qu’un·e designeur·euse travaille au-delà du temps prévu sans être rémunéré·eCe que Marx appelle le surtravail, permettant de produire la plus-value., alors que son employeur·euse en tirera profit.

    +

    On retrouve ici cette question du temps : il y a un manque de temps pour expérimenter et, pourtant, des heures supplémentaires travaillées. Ce qui pose problème, c’est l’emploi du temps du·de la designeur·euse qui se consacre à la production capitaliste plutôt qu’à l’enrichissement de sa pratique et son épanouissement dans celle-ci. Je ne blâme ici nullement les designeur·euses, mais le modèle économique aliénant dans lequel i·els travaillent et qui ne leur laisse pas forcément le choix.

    +

    Au sein de ce modèle économique, les technologies occupent une place centrale. L’essentiel des licenciements dans le design graphique sont liés aux évolutions technologiquesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. : l’arrivée de la PAOPublication Assistée par Ordinateur. a fait disparaître des emplois au sein de l’imprimerie et, plus récemment, de nombreux·ses graphistes se sont retrouvé·es en difficultés lorsque les technologies standard du Web ont pris le dessus sur Flash, qui a cessé d’être pris en charge par Adobe en 2020.

    +

    La suite Adobe, qui paraît être indispensable au travail de designeur·euse graphique, relève d’un abonnement mensuel coûteux67,01 euros par mois, sans réduction, le 27 novembre 2023. ne rendant les outils accessibles qu’à celleux dont la pratique génère de l’argent et fait appel quotidiennement aux logiciels Adobe. Ce coût peut aussi représenter un frein à la multiplication des outils. Beaucoup de version piratées sont en circulationGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. mais elles ne suffisent pas toujours car elles ne permettent pas de faire de mises à jour, alors même que beaucoup d’imprimeur·euses et de sociétés de production travaillent avec les dernières versions. Une version antérieure manquera de certaines fonctionnalité, mais le logiciel ne devient pas obsolète puisqu’il existe une forme de rétro-compatibilité. Celle‑ci ne va que dans un seul sens, sans retour en arrière possible d’une version plus récente à une version datée. Heureusement, il est toujours possible aujourd’hui d’enregistrer ses fichiers de travail pour la version CS6, la dernière Adobe Creative Suite, licence « peprpétuelle » qui s’est arrêtée en 2013 pour passer au tout dématérialisé avec un abonnement dans le Cloud.

    +
    + + + +
    + +

    + Complications éthiques de l’outil propriétaire + +

    +

    Le passage des logiciels nécessitant un achat unique non-relié à un compteÀ l’image des formats physiques, comme le CD, mais aussi certains logicels dématérialisés. aux logiciels dématérialisés soumis à un abonnement ne sert qu’Adobe, pas les designeur·euses graphiques. Ce fonctionnement force l’utilisateur·ice à s’abonner car il faut être connecté·e pour utiliser l’outil, travailler sur sa production (les fichiers de travail sont par défaut enregistrés en format propriétaires et ne peuvent être ouverts qu’avec l’outil adéquat, comme le .ai d’Illustrator) voire même accéder aux fichiers puisque l’entreprise encourage aussi au stockage des fichiers de travail sur le cloud Adobe. La production ne peut donc pas exister sans l’outil tant qu’elle n’est pas finalisée et exportée dans un format souvent non-modifiable.

    +

    D’autre part, dans le capitalisme vu par Karl Marx, le·a travailleur·euse se retrouve en concurrence avec la machineFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll.« Les Chemins de la philosophie ». en terme de capacités de production et d’efficacité. Aujourd’hui, l’idée pourrait être transposée aux craintes de certain·es designeur·euses vis à vis du développement des intelligences artificielles qui tendent à se retrouver dans les logiciels de l’industrie. Adobe, par exemple, a introduit l’IAIntelligence artificielle. dans Photoshop. Ironiquement, ces IA sont alimentées par l’enregistrement de la production des designeur·euses, lorsqu’iels utilisent le logiciel, sans consentement explicite de leur part (une option qui peut être désactivée mais sur laquelle il n’y a pas eu de communication).

    +

    L’argument principal pour l’utilisation des IA est, à nouveau, le gain de temps. On retrouve l’idée de l’emploi du temps : que permet-il réellement ? En exécutant les tâches fastidieuses et peu satisfaisantes, comme le détourage, elles peuvent permettre d’alléger la charge de travail du·de la travailleur·euse, qui n’aura pas à effectuer ces tâches. Si c’est à ça que le temps économisé sert, il peut être intéressant comme lorsque William Morris ne rejette pas la machine qui permet de faire sans effort les tâches fastidieuses et nécessaires à la sociétéMorris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.. Cela dit, il semble que ce gain de temps permette surtout aux travailleur·euses de passer à d’autres tâches et, de fait, d’être plus productif·ves sur un même temps de travail : les avancées techniques des outils n’ont ni raccourci les journées de travail ni supprimé les heures supplémentaires.

    +
    + + + +
    + +

    + Faire avec, s’accommoder de l’outil plutôt que de se l’approprier + +

    +

    Puisque les outils Adobe règnent en maîtres sur l’industrie, les designeur·euses graphiques sont contraint·es de « faire avec » ceux-ci  i·els les utilisent, se débrouillent, s’en accommodentKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit.. Cette expression traduit « la relation actuelle de la majorité des designers graphiques à leurs outils de travail. Une relation pauvre, réduite à un rapport instrumental » Ibid. au logiciel. +L’outil est utilisé comme un moyen, sans forcément être considéré comme une fin (c’est même sa définition). Pourtant, face au monopole d’Adobe et les problèmes qu’il soulève, il est urgent de problématiser les relations qu’entretiennent les designeur·euses graphiques avec leurs outils. Bien sûr, un outil Adobe est efficace. Mais est-il le seul moyen ? L’outil semble offrir bien d’autre aspects à étudier que l’effet qu’il produit, ne serait-ce que la manière dont cet effet est produit et ce qu’il produit sur son utilisateur·ice.

    +

    On comprend d’instinct comment et pourquoi le fusain laisse une trace sur une feuille. Pourtant, nous ne réalisons pas tout à fait les mécanismes qui permettent à notre outil de générer du flou sur une image, ou de régler automatiquement le crénage d’un paragraphe. +Cette part de mystère s’apparente au concept de boîte noireThéorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque. : l’outil est appréhendé empiriquement, on peut déduire le résultat d’une action et décider de l’utiliser sans comprendre ce qui se passe dans les rouages internes de la machine. La boîte noire nous dépossède de l’outil compte tenu du fait que nous ne sommes plus en pleine capacité de le comprendre et de le contrôler. La machine est automatisée et effectue les tâches à notre place. On pourrait dire que la machine crée « toute seule » ou, en tout cas, qu’elle réalise elle‑même les idées du·de la designeur·euse graphique. C’est peut-être parcequ’il y a un besoin de contrôle de l’outil et de compréhension de celui-ci que, dans les écoles d’art, une forme jubilatoire de retour à l’artisanat émergeMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022. au travers de l’usage d’outils non-numériques.

    +

    fig. 1 Schéma d’une boîte noire, Adrien Moyaux, licence CC-BY-SA.

    +

    On ne cherche bien sûr pas ici à éliminer les machines (ou les logiciels) mais de s’assurer qu’elles ne dénaturent pas le travail humain. S’il y a une automatisation, une boîte noire, il faudrait qu’elle ne serve que pour la « pacotille »Morris William, Comment nous vivons, comment nous pourrions vivre, op. cit., les tâches chronophages que nous évoquions plus tôt. Quand bien même, il serait toujours pertinent de comprendre le fonctionnement de nos outils pour éviter de ne dépendre que d’un outil qu’on pense maîtriser mais que nous serions incapables de reproduire ou de réparer en cas de bug.

    +
    + +
    + +
    +

    + Quelle critique de l’outil pour la discipline ? +

    + + +
    + +

    + L’industrie, le déterminant de l’outil + +

    +

    En travaillant avec des logiciels tout-en-un, les tâches anciennement exécutées par des spécialistes ou avec des moyens de production spécifiques deviennent de simples fonctionnalitésGrootens Joost, « Tools R Us », op. cit.. L’outil numérique permet à la machine d’abriter tous les ateliers, faisant du·de la designeur·euse graphique un·e opérateur·ice de celle-ci. Un même outil sert à effectuer les tâches d’un·e typographe, d’un·e compositeur·euse, d’un·e metteur·euse en page… et de nombreux·ses autres. Le prix de l’économie de temps et de moyens (plus besoin de communication entre divers services, et moins de personnes à rémunérer sur un projet), est celui de la disparition de certains savoir-faire.

    +

    Comme tout est automatisé, le·a designeur·euse peut se fier à ce que produit la machine sans pour autant s’assurer que le résultat est optimal, puisqu’i·el n’a pas la maîtrise de tous les métiers qui ont pu constituer la chaîne de production graphique. Il semble d’ailleurs difficile pour un·e seule personne d’être parfaitement qualifiée à tous les niveaux.

    +

    Lorsqu’il parle de l’avénement de la PAO, Paul BrainerdLe co-fondateur d’Aldus, qui éditait Pagemaker à l’époque, entendu dans le documentaire Graphic Means: A History of Graphic Design Production de Briar Levit, op. cit. fait un constat similaire :

    +
    +« Je suis consterné par l’amateurisme de certaines compositions. On était très méticuleux, mais on faisait des erreurs. Et quand on en faisait, je pensais, ‹ Oh mon dieu, j’aimerais qu’on ait encore des compositeurs compétents pour faire ce travail. Nous sommes des amateurs. › » +
    + +

    En outre, les grands outils propriétaires utilisés par les designeur·euses graphiques sont des produits qui appartiennent à des entreprises (Adobe, Apple, Microsoft, Meta, Linotype...) ayant plus de comptes à rendre à leurs actionnaires qu’à leurs clients. En développant ces outils, elles créent le code mais aussi les standards, les interfaces, les plateformes et les filtres qui façonnent et influencent le design graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. p.390 à 392.. Par leur simplicité d’utilisation, ces outils sont plus accessibles pour des usages amateurs. Mais, tous ces pré-réglages ne sont-ils pas déterminants de la forme finale de la production graphique ?

    +
    + + +
    + +

    + L’influence formelle de l’outil sur les productions de design graphique + +

    +

    Le conditionnement et les pré-réglages des outils portent une influence sur l’usage qui peut en être fait. Loin du rapport de cause à effet rationnel (le texte est à cette taille par défaut, je le laisse tel quel) mais plutôt de l’ordre d’un effet mystérieux, irrationnel et insidieux. Il semble que les paradigmes de travail et les pré-réglages conditionnent la création du de·la designeur·euse graphique, sans qu’i·el en ai conscience. +Paradoxalement, l’outil est rempli de réglages rationnels. Les menus et paramètres ont des valeurs par défaut, issues des choix des producteur·ices d’outils, et sont donc le reflet d’une certaine conception du design graphique. En limitant le nombre de ses outils, on réduit par la même occasion le champ des possibles et la variété des approchesGrootens Joost, « Tools R Us », op. cit.. +La domination d’un outil risque aussi de conduire à une pratique spécifique, mais limitée. Edward R. Tufte soutenait par exemple que le recours systématique à PowerPoint modelait une même structure hiérarchisée pour tous les diaporamas, puis à toutes les présentations de contenu, transformant « l’information en argumentaire de vente et les présentateurs en marketeurs »R. Tufte Edward, The Cognitive Style of PowerPoint, 2003.. Nullement liées à un manque de créativité des designeur·euses – de nombreux travaux originaux ont été produits grâce aux outils d’Adobe – ces limites émanent simplement de l’enfermement de la créativité dans un seul paradigme logiciel.

    +

    Le designer graphique Elliot Ulm a mené l’expérience suivante : utiliser toute une série de logiciels différents pour la réalisation d’une même idéeUlm Elliot, « i made the same design in every program ever ».. Bien que l’idée d’origine soit la même, chaque production est différente. Dans son comportement, que nous analysons à partir de la vidéo qu’il a produiteIbid., il travaille avec les outils qu’il connaît en conservant ses automatismes et aborde les outils « nouveaux » par un moment de découverte au cours du quel il fait l’expérience des fonctionnalités, effets, réglages et/ou pré-sets disponibles. Cette phase expérimentale se ressent dans sa production, il arrive qu’il prenne la liberté de faire varier ses compositions en fonction des possibles de l’outil utilisé.

    +

    Quand il utilise Publisher [fig. 2], par exemple, il fait appel aux pré-sets du logiciels en guise d’éléments graphiques. Le résultat obtenu aurait été réalisable avec un autre logiciel, mais Elliot Ulm aurait-il eu l’idée d’utiliser des blocs textuels ? Quand bien même cela aurait été le cas, ces éléments graphiques n’auraient sûrement pas eu tout à fait la même forme. C’est aussi en expérimentant avec les textures inclues dans l’outil PicMonkey [fig. 3] qu’il a eu l’idée d’ajouter des textures, un choix encore inédit à ce stade de la vidéo. De la même façon, c’est parce que l’outil KidPixUn logiciel pour enfant, peut-être encore plus libérateur par son aspect désinvolte [fig. 4] lui a suggéré, à l’export, d’ajouter un effet 3D qu’il a fait le choix de l’ajouter.

    +

    fig. 2 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Microsoft Publisher</em>.

    +

    fig. 3 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MonkeyPic</em>.

    +

    fig. 4 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>KidPix</em>.

    +

    L’utilisation d’éléments 3D sur Powerpoint [fig. 5] semble elle aussi influencée par leur disponibilité dans le logiciel. Au-delà des éléments graphiques pré-existants, on peut remarquer que l’affiche produite avec PowerPoint utilise la police de caractère Calibri, proposée par défaut par le logiciel. Peut être que le (non-)choix typographique aurait été différent si la police par défaut avait été Arial ?

    +

    fig. 5 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>PowerPoint</em>.

    +

    Enfin, les outils très limités comme Microsoft Paint [fig. 6] influencent la forme au travers du tout petit champ des possibles proposé. La production d’Elliot Ulm est transparente sur la question de l’outil : elle a été produite à l’aide d’un logiciel qui n’abrite que des fonctions de dessin.

    +

    fig. 6 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MS Paint</em>.

    +

    Pour les logiciels « jumeaux », qui ont des interfaces et des fonctionnements similaires tels Photoshop [fig. 7] et Photopea [fig. 8] ou Inkscape [fig. 9] et Illustrator [fig. 10], sa méthode de travail a été similaire pour chaque duo. Il s’est appuyé sur les mêmes fonctionnalités et a adopté des méthodes de travail identiques à partir de ses automatismes. Pour Photoshop et Photopea, en particulier, l’interface est sensiblement identique. Il a donc pu proposer deux affiches très proches et n’a pas cherché à renouveler les formes produites.

    +

    fig. 7 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photoshop</em>.

    +

    fig. 8 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photopea</em>.

    +

    fig. 9 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Inkscape</em>.

    +

    fig. 10 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Illustrator</em>.

    +

    Le dernier aspect déterminant est la façon dont les designeur·euses agissent souvent par « sélection »Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011., c’est à dire en faisant des choix entre différentes options qui fonctionnent bien, selon des réglages précis, qu’i·els sélectionnent sans les créer i·els même, et qui ne laissent aucune place au hasard ou à l’erreur. L’outil fait parfaitement ce qu’il est supposé faire, ce sont les décisions prises par le·a designeur·euse et la combinaison des sélections qui créent la qualité de la production. +Il y a toute fois une trop petite marge de manœuvre, un manque de personnalisation dans les outils habituels. Avec les outils propriétaires, il est plus difficile de développer une singularité, sans laquelle il ne peut y avoir de création. En réponse à ces critiques, Adobe a permis l’intégration de plug-ins qui peuvent ouvrir à de nouveaux usages sans modifier fondamentalement l’application. Ils sont développés par Adobe, ou en « partenariat » avec des développeur·euses externes. Il n’est donc pas possible de développer un plug-in personnalisé. +ExtendScript Toolkit, une API d’Adobe, permet d’interagir avec ses logiciels par du code informatique plutôt que l’interface graphique habituelle et d’imaginer de nouvelles méthodes de travail. Malheureusement, le projet est faiblement documenté et l’éditeur de script plutôt aride. Il y a bien le projet Basil.Js, par l’Académie d’art et de design de Bâle, qui cherche à simplifier l’accès à l’API d’Indesign mais il est peu suivi. Il a toutefois permis au projet Scriptographer de voir le jour, bien que le projet ai été abandonné au profit de Paper.Js, un équivalent s’appuyant plutôt sur les technologies ouvertes du WebLehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012..

    +
    + + +
    + +

    + L’école, avant d’intégrer l’industrie + +

    +

    Les outils maîtrisés par les designeur·euses graphiques sont, pour la plupart, ceux qui leur ont été enseignés à l’école. Bien que les outils se soient démocratisés et que le design graphique soit devenu beaucoup plus accessible, l’école et l’industrie restent toujours très connectées.

    +

    En effet, les méthodes et les compétences acquises à l’école façonnent l’industrie qu’elles intègrent en même temps que les jeunes designeur·euses graphiques entrant dans le monde professionnel. Dans l’autre sens, le design graphique est aussi enseigné pour répondre aux besoins de l’industrie et rendre les étudiant·es sortant·es employablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it,op.cit., p. 348.

    +

    Nonobstant, l’école ne peut se contenter de simuler le « monde réel »Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit. et de délivrer des entry-level skillsIbid., p. 53‑63., compétences de base qui permettent de trouver un emploi et de pouvoir être en compétition loyale avec les diplômé·es sortant·es. +Les écoles sont en effet des terrains intéressants pour reconfigurer les pratiques de design graphique et repenser le rapport du·de la designeur·euse aux outils. Cela pousserait les écoles à retrouver une position centrale dans les débats sur le design graphiqueComme récemment lors des conférences organisées à Bruxelles ou Cambrai., plutôt que de former tout particulièrement à une pratique du design spécialisée, au profit des besoins de l’industrie et des entreprises, en formant les étudiant·es uniquement (ou presque) à ces moyens de production. Pour cela, il est impératif que l’école soit indépendante des grandes entreprises et puisse prendre de la distance avec les volontés gouvernementales et individuelles de former des designeur·euses prêts pour le marché du travail.

    +

    Il faut alors accepter que l’école ne mène pas forcément à un emploi de designeur·euse graphique prédéterminé. Dans les écoles gérées par le ministère de l’éducation nationale, la réforme du DN MADe va en ce sens : la pratique va vers la théorie, la conceptualisation, la recherche. La volonté de masterisation du DSAA confirme cette inclinaison de l’école à s’orienter vers la recherche, au sens d’une étude critique avec ses questionnements et incertitudes, en opposition à l’enseignement de savoirs et savoir-faire arrêtésHuyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017, p. 27.. L’idée est que la théorie puisse s’immiscer dans les pratiques autres que celle de l’écriture, et de mettre ces pratiques en regardop. cit..

    +

    Malgré tout, dans les cursus, l’étude théorique passe après les bases de la pratique et c’est seulement à un niveau supérieur que l’étudiant·e se retrouve face à l’histoire, la théorie et à des perspectives plus larges sur le designSwanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit.. À l’ésad d’AmiensÉcole supérieure d’art et de design d’Amiens, gérée par le ministère de la culture., les étudiant·es bénéficient de deux cours théoriques« Histoire des dispositifs de l’image » et « Histoire du graphisme ». contre huit cours de pratique« Graphiques communication visuelle et médium » et « plastiques artistiques ». Les informations sur le cursus sont tirées du mémoire de Guillaume Tourscher, « Le graphisme entre {artisanat, industrialisation, hybridation}» rédigé de 2021 à 2022 pour son DNSEP à l’ésad d’Amiens.. L’institut supérieur des arts et du design de Toulouse propose par exemple, certaines semaines, des créneaux dédiés à des enseignements théoriques sous forme de séminaire. Elle accorde à ces matières une « place de choix [...] parce qu’elles sont elles-mêmes des pratiques, un moyen de la pensée venant à la rencontre du langage de l’artiste » et défend l’importance de l’articulation entre réflexion théorique et expression artistiquePrésentation du Cycle 2, option design graphique de l’école dans le Livret de l’étudiant·e en art, design, design graphique 2023 - 2024, à l’adresse https://livret.isdat.fr/impression, consulté le 04/01/2024.. Il arrive pourtant que cette orientation théorique soit critiquée par les enseignant·es et les professionnel·lesLe sujet a été évoqué de façon informelle lors de l’entretien de mi-stage de DSAA entre mes tutrices et l’enseignant qui s’occupait du suivi pédagogique. qui pensent que l’enseignement devrait reposer sur un apprentissage technique qui rendrait efficace pour intégrer le marché dès la sortie de l’école. Mais alors, l’école nous apprendrait à entrer dans le moule de l’industrie, à se soumettre au marché et à l’exploitation et à devenir des catalogues de compétences plutôt qu’à développer une pensée du métier. Si le travail participe au développement de capacités nouvelles, ces compétences ne pourraient-elles pas être en partie acquises et solidifiées grâce à celui-ci ?

    +

    Il ne s’agit pas ici de n’étudier que de la théorie, la pratique et la maîtrise de savoir-faire spécialisés restent fondamentales au métier de designeur·euse graphique. L’école doit tout de même continuer à former au milieu professionnel, en trouvant le juste milieu pour rester un lieu propice au développement d’une pratique personnelle et d’un positionnement détaché de l’industrie.

    +

    Plutôt que d’apprendre, par exemple, à utiliser tel ou tel logiciel, les étudiant·es pourraient être formé·es à des logiques logicielles plus générales et préparé·es à de possibles futurs du design plutôt qu’à répondre aux attentes actuelles de l’industrie. D’ailleurs, en dépit de l’omniprésence des logiciels Adobe sur les curriculum vitae des étudiant·es Grootens Joost, « Tools R Us », op. cit., le référentiel du diplôme de Dn MADe préconise « de ne pas s’en tenir à des logiciels ou technologies propriétaires mais d’explorer également le champ des logiciels et technologies libres »JO №0253, 30 octobre 2022, texte №23 ainsi que celui de la programmation.

    +
    + +
    + + + +
    + + + + +
    + +

    + Comment nous pourrions travailler +

    + +
    +

    + Se positionner vis-à-vis de la production comme travail, comme ouvrage et comme ensemble de forme +

    + + + +
    + +

    + Puiser dans les modèles existants pour repenser le rapport au travail + +

    +

    Les derniers propos nous ont permis de mettre en évidence la nécessité de repenser le modèle de travail des designeur·euses graphiques. La suite de ce mémoire cherche à dessiner des possibles réalisables, à la façon d’une utopie concrète, qui partent de la réalité contemporaine pour tendre vers un idéal. La première chose à faire serait de regarder autour de nous, et en arrière, pour puiser dans des modèles existants.

    +

    Dans les ateliers médiévaux des copistes, le travail se faisait collectivement et de façon anonyme, sans parler d’auteur·icesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit., à la façon des collectifs de designeur·euses. De même, les typographes de la révolution industrielle étaient avant tout des ouvriers, organisés entre ell·eux et touché·es par les même problématiques que tous·tes les prolétairesBoutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste, Marseille, 2019.. C’est le partage du travail, et la collectivité, qui ont permis aux « confréries typographique »Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33. parisiennes de la révolution française d’être solidaires face aux corporations et de développer une morale du métier, qui passe par l’entraide (avec des caisses de solidarité), l’apprentissage (puisque la qualification de l’ouvrier est ce qui doit lui donner de la valeur), une juste rémunération et la liberté de s’établir à son compte. Les ouvrièr·es typographes disent elleux-même :

    +
    +« Nous sommes redevenus propriétaires de notre industrie. »Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvrièr·es imprimeur·euses de Paris, Monographie par par M. L***, apprenti imprimeur. +
    + +

    Pour les designeur·euses graphiques contemporains, l’organisation politique de la profession pourrait permettre de faire preuve de solidarité face à l’exploitation capitaliste.Le propos sera plus développé dans l’écrit en annexe de ce mémoire.

    +

    Le modèle de l’artisan·e serait aussi, selon William Morris, moins difficile à supporter car dénué de maître unique et de division du travail. Le labeur serait alors plus doux : il n’y a pas la pénibilité de travailler sur une même tâche, le travail est varié et l’artisan·e a la satisfaction d’achever son ouvrage. Cette vision de l’artisan·e médiéval est nuancée par les historienne de l’art mais, en tout cas, cette théorie hérite de la considération médiévale du travail comme un problème moralMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit. : Quod omnes tangit ab omnibus tractari et approbari debet, maxime tirée du droit romain impérial et principe constitutif des coroporation de l’époque médiévale : Ce qui concerne tout le monde doit être décidé par tout le mondeCONGAR, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259. Un principe de mutualité, associé à la disparition de l’individualisme au profit de la beauté de l’ouvrage et une maîtrise technique permise par un enseignement professionnel entre maîtres et apprentis, dans des ateliers faisant aussi office de lieux de vieCollectif Ressources, « Le code du travail au Moyen Âge, les corporations en France »..

    +

    En regardant vers d’autres modèles que celui du néo-capitalisme, nous pouvons repenser notre rapport à l’ouvrage et, peut-être, trouver des moyens de réinvestir la morale et le plaisir dans le travail.

    + + + +
    + + + +
    + +

    + Puiser dans les modèles existant pour repenser le rapport à l’ouvrage + +

    +

    L’artiste-artisan·e nous intéresse pour redéfinir le rapport du·de la designeur·euse graphique à l’ouvrage, comme œuvre et non pas simple produit. D’une certaine façon, nous posons le même regard que le mouvement Arts & Crafts sur l’artisanat. Si Morris et Ruskin s’opposaient à l’industrialisation de masse et la modernité de leur époque, nous nous devons d’être lucide quant à cette recrudescence du mythe de l’artisan dans nos pratiques à l’heure d’une digitalisation de masse JACQUET Hugues, L’intelligence de la main, l’Harmattan, coll. « Logiques sociales », 2012. . Semble-t-il alors qu’il y a dans notre contemporanéité un malaise face aux conditions techniques de notre modernité.

    +

    Il y a chez l’artisan·e un goût du travail bien fait qui fait entrer le plaisir dans le travail, alors même que celui-ci est présupposé subi, difficile, laborieux. Il y a supposément autre chose que ce simple « travail » ; une activité foncièrement libre qui n’est pas centrée sur le schéma de production, consommation, consumation. À partir de l’élan spirituel pour le travailAu sens d’un élan moral, de l’esprit., on peut aussi redéfinir le rapport entretenu aux productions. Dès lors que le·a designeur·euse graphique n’est plus uniquement un personne dotée des compétences nécessaires pour rendre des services spécialisés, il faut redéfinir ce qu’est l’usagèr·e. En accordant plus de temps, d’effort et de plaisirUn plaisir tiré de l’effort, du goût du bel ouvrage. à la production, à l’instar de celle des objets artisanaux, on pourrait lui donner plus d’importance, s’en satisfaire au-delà de l’éphémère, de la consommation-consumation. L’usagèr·e ne serait plus dans un rapport de consommation d’un « beau » design graphique (l’identité visuelle qui ne dure qu’un temps et suit la tendance esthétique actuelle) mais plutôt d’utilisation d’un design graphique aussi fonctionnel qu’esthétique (l’identité peut servir, et reste « belle » des années après sa production). Pour définir ce que peut-être un graphisme fonctionnelQui reste esthétique, « beau » au sens que lui donne Morris : sa beauté n’est pas un frein à l’utile, elle émane de la qualité de sa conception., et non subjectivement « beau », nous pourrions nous appuyer sur le schéma [fig. 11]Papanek Victor, Design pour un monde réel, titre original«  Design for the Real World: Human Ecology and Social Change, publication originale en 1971, Les presses du réel, 2021. de Victor Papanek sur l’ensemble de fonctionExplicité en annexe de ce mémoire..

    +

    fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit.

    +

    Repenser le but de la production de design graphique permet aussi, comme le critical graphic designChancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p 66-70. le fait déjà, de ne pas se contenter de produire mais aussi de prendre du recul tant sur les productions en tant que sujets que, plus généralement, sur la production de signes et ses moyens. Ce pas de côté suggère de se donner le temps de chercher, de se tromper, d’errer comme méthode de travail. Avoir une pratique de recherche, s’ouvrir au monde et aux autres (sujets) et ne pas simplement répondre à la commande du·de la client·e ou aux ordres du·de la patron·ne, permet de donner à penser en mettant en péril les idées pré-conçues pour remettre sa production en question et s’en distancerIbid.. Cette posture critiqueDu latin criticus « capable de discernement, de jugement », la posture critique suppose de ne pas s’en tenir aux affirmations et aux idées validées mais plutôt de les étudier de près et d’en tirer des conclusions sur ses conditions, conséquences, limites et contradictions. peut aussi se faire au travers de l’organisation d’expositions, de rencontres, d’écrits. Le·a designeur·euse graphique adopterait une méthode de travail composite, mêlant différentes « compétences » ou « activités » et osant faire l’expérience ce qui peut a priori sembler étranger au champ du design graphique. Cette pratique serait aventureuse et réellement expérimentale, au sens où elle se façonnerait dans ses interactions le monde et ses expériences vécues.

    + + + +
    + + + +
    + +

    + Ouvrir le champ des possibilités formelles + +

    +

    Lors de la restitution orale la plupart de mes camarades ont eu des réactions positives :

    +

    « L’outil n’est pas parfait, c’était plus long mais aussi plus sensible. Le logiciel a fait varier la taille de certains glyphes, ces incidents ont apporté une sensibilité au projet. »Citation issue de la restitution orale du projet.

    +
    +« J’avais l’impression que la confrontation à une technologie nouvelle réduirait les intentions et les ambitions esthétiques, mais pas du tout. On perçoit une sensibilité, de l’imaginaire, on sent que c’est fait par des graphistes. »Idem. +
    + +
    +« On a choisit d’utiliser les outils différement, d’inventer de nouveaux procédés. Ça nous a fait chercher tout son potentiel. Détourner l’outil c’est aussi la capacité du designer graphique à passer outre les habitudes et a explorer de nouvelles idées.»Idem. +
    + +
    +« L’expérimentation est à l’origine de la forme, toutes les contraines de l’outil ont influé. Avec la mise en page en html/css, on a trouvé d’autres possibilités de mise en page en mouvement. »Idem. +
    + +

    Pour le projet d’Inès et Axelle [fig. 12 et 13], qui ont fait le choix de n’utiliser qu’un outilGlyph Drawing Club, un outil de dessin modulaire, à partir de glyphes typographiques, développé par Heikki Lotvonen., les formes du personnage et de la typographie de titrage émanent clairement du fonctionnement de l’outil. Les différents glyphes utilisés sont encore identifiables et il aurait été compliqué pour les designeuses de s’émanciper de cet aspect sans altérer complètement l’outil. Si les outils libres sont plébiscités pour leur ouvertureTechnique, dans ce cas, mais aussi pour la collaboration, nous en parlerons plus tard., c’est aussi de par leur « fermeture fonctionnelle que naît la création de formes singulières et originales »Maudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023. lorsque le·a designeur·euse se met à investir au maximum une infinité pourtant limitée de combinaisons.

    +

    fig. 12 et fig. 13 Proposition d’Inès et Axelle pour le PPG

    + + +

    En outre, les accidents, les bugs et le hasard inhérents aux outils plus expérimentaux permettent aussi de faire naître des formes intéressantes sur lesquelles le·a designeur·euse n’a pas toujours le contrôle, le·a tirant vers d’autres possibilités formelles qu’i·el n’aurait pas forcément envisagé. Le collectif bruxellois Luuse, qui développe ses propres outils grâce à la programmation informatique, collectionne notamment ces accidents sur son site Web [fig. 14 à 20]. Pouvoir construire ou adapter ses propres outils par le code, c’est aussi considérer la question de l’outil comme un nouveau terrain d’expérimentation créative.Donnot Kévin, Graphisme en France 2012, code outils design, Paris, France, Centre national des arts plastiques, 2012.

    +

    La collecte de cette matière graphique est aussi une façon pour elleux de garder une trace de toutes les formes inattendues produites par leurs expérimentations ou les accidents techniques, et de partager une partie souvent invisibilisée du processus de production. Pour un même projet, de nombreuses formes sont produites par le collectif avant d’arriver au résultat final.

    +

    fig. 14 Affiche extraite du projet « Open Call - Design Parade » par Luuse.

    +

    fig. 15 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 16 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 17 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 18 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 19 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 20 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    Le champ du design graphique n’a pas attendu les outils numériques pour bénéficier des apports d’une démarche d’appropriation des outils. L’artisan typographe Albert Schiller, qui a commencé son activité dans les années 1920, a developpé des formes innovantes en tirant parti des casseaux typographiques et de la presse pour proposer des illustrations modulaires [fig. 21 et 22]. Ce qui est intéressant est que ce détournement, qui s’apparente à une forme de hacking, est qu’il a été forké d’une certaine façon puisqu’il a inspiré l’outil numérique Glyph Drawing Club [fig. 23 et 24] dont nous parlions plus tôt.

    + + +

    Enfin, les formes produites par avec les outils libres ne correspondent pas tout à fait à une conception du « bon goût »Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979. au sens que lui donne BourdieuLe goût est déterminé par une position sociale (capital culturel et économique) et le « bon goût » ne serait en fait que celui de la classe dominante. Je considère ici que le design graphique de « bon goût » est celui qui inspire le design graphique de masse, et que l’on voit dans le paysage graphique quotidien, en opposition à des propositions plus expérimentales ou aux formes parfois plus radicales. et font souvent un pas de côté du graphisme « de masse ». C’est probablement parce que l’utilisation de tels outils se fait généralement avec un engagement éthique que les formes produites semblent elles-mêmes refléter le refus d’une esthétique formatée par les outils propriétaires (et standards dans l’industrie) comme une façon de résister au système capitaliste qui exploite les graphistes.

    + + + +
    + +
    + + +
    +

    + Hacking et culture libre +

    + + + +
    + +

    + Le modèle libre + +

    +

    Nous évoquions les outils libres comme alternative aux logiciels propriétaires, et comme solution aux différentes problématiques qu’ils soulèvent. Plus qu’un simple changement d’outil, le modèle libre s’inscrit dans un mouvement politique plus large : la culture libre. +Née en 1985 avec la publication d’un manifesteStallman Richard, « Le manifeste GNU - Projet GNU - Free Software Foundation », Système d’exploitation GNU, 1985. par l’informaticien Richard Stallman, agacé de ne pas pouvoir réparer lui‑même son imprimante à cause de la fermeture de son code source, la culture libre a un ancrage résolument politique et engagé hérité des cultures hippies et contestataires des États‑Unis des années 1970.

    +

    Le libre, qui n’équivaut pas à la gratuité puisqu’il y a des logiciels libres payants et d’autres propriétaires gratuits, repose sur quatre principes qui fixent les libertés des utilisateur·ices et contributeur·ices des logiciels.

    +
      +
    1. +

      Liberté d’utilisation pour n’importe quel usage

      +
    2. +
    3. +

      Liberté d’étude et de modification

      +
    4. +
    5. +

      Liberté de copie et de redistribution

      +
    6. +
    7. +

      Liberté de redistribution des versions modifiées

      +
    8. +
    +

    Défendu comme un mouvement social par son créateur, la culture libre a parfois vu cet aspect être délaissé pour se rendre plus séduisante pour les entreprises en promouvant l’innovation à partir des contributions de bénévoles. Dans le cas d’un logiciel propriétaire dont le code est ouvert, on parle de logiciel open source.

    +

    La transposition de la culture libre de l’informatique au design graphique a déjà été faite par des collectifs, tels que Velvetyne [fig. 25], Open Source Publishing, et dans des écrits d’étudiant·es comme Étienne OzerayOzeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014. (qui a co-fondé Luuse) ou Xavier KleinKlein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013. Elle n’est nullement étonnante puisque le logiciel est l’outil principal des designeur·euses contemporain·es. Délibérément axés vers la collaboration et le partage, ces outils intéressent aussi les designeur·euses qui cherchent à travailler ensembleMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design, op. cit. ou à partager leurs ressources.

    +

    fig. 25 Illustration des 4 libertés du logiciel libre. Poster conçu par le designer graphique Jérémy Landes-Nones pour la fonderie de caractères Velvetyne, 2016.

    +

    Au-delà du code, la culture libre a vu son intérêt s’étendre à la transmission de savoirs, à la façon du site Wikipédia, mais aussi dans le champ de la recherche universitaire voire de la littératureLe livre Copy This Book d’Eric Schrijver est diffusé sous licence CC-BY NC 4.0, en anglais depuis 2019 puis en français depuis 2023. Les versions imprimées sont disponibles à la vente en librairie, tandis que le contenu textuel est sous licence libre et peut être utilisé en suivant les recommandations de la licence CC-BY NC 4.0., et à la diffusion d’œuvres ou de typographiesAvec des fonderies libres telles que Velvetyne ou Republish, et des typothèques comme la collection de l’Atelier National de Recherche Typographique, celle de l’ESA Septante-Cinq ou encore du collectif Bye Bye Binary.. Facilitée par l’existence d’Internet et du Web, cet idéal libertaire s’inspire directement de l’idéal à l’origine de ces protocoles qui nourrissaient, déjà, une forme d’utopie.

    +
    + + + +
    + +

    + Le Web, redistributeur du pouvoir aux sujets + +

    +

    Toutes les initiatives liées à la culture libre ont pu voir le jour grâce à Internet, et au Web. Pour rappel, Internet est un protocole informatique proposé par Vinton « Vint » Cerf et qui permet la mise en réseau des ordinateurs. Le Web, de son côté, est un protocole de communication qui permet de relier entre elles des pages « Web » via un système d’adressage « http:// ».

    +

    La création de l’informatique a été motivée par une logique de contrôle et de commandement militaire, raison pour laquelle les projets étaient financés et soutenus par l’armée américaine. Cela dit, les universitaires qui les développaient (notamment celleux qui travaillaient à la création d’Internet) étaient « guidés par les idées de liberté et de coopération de la contre culture des années 1970 »Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019. p.24 des États-Unis où i·els résidaient.

    +

    Avec l’avènement du numérique, le pouvoir des individus a augmenté, grâce aux nouvelles capacités d’expression et de communication qui ont bousculé la sociabilité, la politique et la création, rendant réaliste l’utopie dont nous parlions plus tôt. Chacun·e peut maintenant s’exprimer sur le Web, un espace d’expression public et libreIbid.. De plus, la diffusion des outils numériques s’est accompagnée d’une extension des pratiques numériques des sujets. Depuis les années 1990 et la démocratisation de l’ordinateur personel, tout le monde peut avoir accès aux outils de production d’un travail de qualité professionnelle. En 1981, un français sur dix avait exercé une activité créative au moins une fois dans l’année, contre un sur quatre en 1997 et un sur trois en 2003Ibid..

    +
    + + + +
    + +

    + La place des usages amateurs dans la reconsidération du rapport des designeur·euses à l’outil + +

    +

    Selon le sociologue Olivier Donnat, les activités d’auto-production créatives utilisant le numérique ne relèvent pas que de la consommation mais aussi d’une volonté d’être dans le « faire »Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit.. Avec la généralisation de technologies simples et accessibles, tout le monde peut-être un·e designeur·euse graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 330, en suivant la même logique que celle de la démocratisation de la production d’imprimées avec la culture DIY des années 1950 et la sortie du photocopieur commercial qui a donné l’impulsion aux fanzines de la culture punk.

    +

    En s’ouvrant aux non-spécialistes, la production de graphisme et d’images « DIY » est devenue un « levier de classe, une force politique »Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254, traduction libres spécifiquement pour ce mémoire. qui, au travers des usages amateurs et de l’appropriation d’outils inhérente à ceux-ci, peut nous donner des pistes pour étendre notre vision des outils de design à des outils qui, au premier abord, nous paraîtraient inenvisageables. Après tout, les premières personnes intéressées par la PAO et le graphisme sur ordinateurs n’étaient pas les designeur·euses, encore frileux, mais les informaticien·nes qui ont développé ces outilsLevit Briar, Graphic Means: A History of Graphic Design, op. cit..

    +

    C’est une partie de la démarche d’Elliot Ulm dont nous parlions plus tôt. En élargissant notre boîte à outils, quitte à aller vers l’incongru, il est possible de développer des formes particulières. Le studio Ingrid Picanyol a notamment développé l’identité de La Officina del Praque [fig. 26 à 28] à l’aide du logiciel de tableur Microsoft Excel, jusqu’ici plutôt reservé aux tâches de comptabilité. C’est en déplaçant l’outil vers le champ du design graphique que le studio a pu produire ces formes et proposer une telle hiérarchisation de l’information dans des tableaux, sans variation typographique et mettre en place une grille modulaire pour le lettrage, par exemple.

    +

    fig. 26 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 27 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 28 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +
    + + + +
    + +

    + Pourquoi le design graphique libre ne peut se contenter d’émuler le modèle actuel + +

    +

    Le choix d’utiliser des outils libres se fait en accord avec une certaine éthique logicielle qui, pour le design graphique, ne peut se faire au dépend des considérations formelles. Prenons l’exemple du logiciel libre Scribus, souvent proposé comme alternative à Indesign, qui est un logiciel de PAO WYSIWYG avec une interface graphique comparable. Puisque les deux outils fonctionnent avec les mêmes logiques – à cela près que Scribus est largement moins efficace sur certains points techniques, comme la production de PDF imposés ou la gestion des tons directs – il est difficile d’y trouver un intérêt graphique. Le choix d’utiliser l’alternative libre semble ici ne relever que de l’éthique du·de la designeur·euse ou la collaboration avec des non graphistes.

    +
    +« Certes, on a toute liberté de l’améliorer puisqu’il est sous licence GNU, mais à quoi bon réinventer la roue si ce n’est pour apprendre ? »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit. +
    + +

    C’est en cela qu’il est important de basculer notre positionnement d’utilisateur·ice des outils vers un rapport de créateur·ice. L’intérêt graphique du libre réside uniquement dans son ouverture, permettant l’appropriation de l’outil et un usage circonstanciel de ceux‑ci. En basculant son positionnement, le·a designeur·euse quitte la passivité technique et se met à choisir (ou fabriquer) de façon autonomeAu sens d’un choix fait indépendamment de toute volonté d’autrui. le bon outil pour chaque projet. L’émulation des outils propriétaires et un usage passif de l’outil, même libre, ne suffit pas à émanciper le·a designeur·euse : c’est l’appropriation au travers d’une démarche de hacking, qui permet de concrétiser tous les idéaux que nous avons déjà cités.

    +
    + +
    + +
    +

    + Être designeur·euse‐hackeur·euse, ou comment l’ethos du libre pourrait s’intégrer à nos pratiques

    + + +
    + +

    + Hackeur·euse, nom commun + +

    +

    « Une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préfèrent n’apprendre que le minimum nécessaire »Collectif, « Hacker », The Jargon File 4.4.7, 29 décembre 2023, http://www.catb.org/~esr/jargon/html/H/hacker.html, traduction libre spécifiquement pour ce mémoire.. Le sens du mot « hacker » en anglais se rapproche du mot « bidouilleur·euse » en français.

    +

    Un·e designeur·euse-hackeur·euse se reconnaît à son enthousiasme et sa curiosité vis-à-vis de l’outil qui s’expriment au travers de pratiques de hacking : le détournement de l’utilisation habituelle des outils et des techniques. Une pratique expérimentale, donc, et exploratoire qui considère simultanément l’outil comme une fin et un moyen.

    +

    L’ethos des hackeur·euses s’étend aussi au-delà du logiciel. À l’instar des libristes, i·els estiment que la circulation de l’information doit être libre et non censurée, car la connaissance ouverte sert de « carburant » Cardon Dominique, Culture Numérique, op. cit. à la coopération. La coopération et le partage permettent d’apprendre des un·es et des autres et de tirer parti des contributions de chacun·es pour construire, ensemble, des projets en commun. +Pour les designeur·euses-hackeur·euses, le partage des expérimentations et l’ouverture de celles-ci, en autorisant leur usage et les forks, permettraient de nourrir réciproquement les pratiques des autres et de construire des projets par cumulationBosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021, p.24.. +À partir de petits projets, pour un usage spécifique et personnel, les contributions tous azimuts pourraient permettre à l’idée initiale de prendre de l’ampleur et de se diffuserÀ l’image du site IMDb, l’une des plus grosses bases de données collaboratives du monde qui n’était à la base qu’une base de données de films mise en ligne par un étudiant en informatique, Col Needham, passionné de cinéma.. Dans la typographie libre, les forks sont courants : la typographie Baskervvol [fig. 28] de Bye Bye Binary est un fork ajoutant des glyphes inclusifs au Baskervville de l’ANRT [fig. 29] de 2018, revival de la Baskervville de Claude Jacob de 1815 [fig. 30] qui, de son côté, est aussi un revival du caractère de John Baskerville de 1757 [fig. 31]Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023, https://genderfluid.space/lexiquni.html.

    +

    fig. 29 Glyphes inclusifs du Baskervvol de Bye Bye Binary.

    +

    fig. 30 Baskervville, ANRT, 2018.

    +

    fig. 31 Épreuves des caractères de la fonderie des frères Levrault, Strasbourg, 1800.

    +

    fig. 32 Détail d’une Biblee Baskerville pour Cambridge.

    +
    + + +
    + +

    + L’aventure du code : l’intêret des technologies du Web + +

    +

    La compréhension des logiciels ne peut se faire sans passer par l’étude de leur code sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit., de la même façon que le hacking d’outils numériques demande presque systématiquement au·à la designeur·euse graphique de passer par l’écriture ou l’appropriation de code. +Le paradigme de l’éditeur de code est à l’opposé des « simulation[s] appauvries du monde »Ibid. que sont les paradigmes WIMP et WYSIWYG. Le·a codeur·euse est en immersion dans un univers textuel, même lorsqu’i·el code pour créer du visuel (comme dans le creative coding). I·el y fixe toutes les règles sans partir de réglages pré-définis. Nous évoquions plus tôt les « boîtes noires » qui nous dépossèdent de nos outils. Face à cela, l’intêret du code est de pouvoir à la fois comprendre, adapter et fabriquer ses outils sans qu’ils ne prennent le pas sur nos décisions avec des pré-sets. « La puissance créative, c’est écrire le code du filtre, c’est décider comment il marche, ce n’est pas l’utiliser. »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit.

    +

    Différents langages et outils peuvent servir à faire du design graphique : le programme Processing permet de générer de l’image avec des langages de programmation comme Python et Java, tandis que les langages du Web (HTML, CSS et Javascript) se prêtent bien à la gestion de contenu. Le CSS permet la composition visuelle des pages Web, en fonction du support sur lequel elles sont affichées : écran horizontal, vertical et même support imprimé : le web-to-print.

    +

    Ces nouvelles méthodologies de travail permettent de tisser une relation riche et continue entre les différents médias, mis en forme différemment à partir d’un même texte sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit. en explorant une logique de conception propre au numérique, ne contraignant ni à un chantier de mise en page par support ni aux règles affordance d’Adobe. Par exemple, l’outil texte d’Indesign simule un bloc de caractère mobiles tandis qu’en CSS le texte est géré de façon « liquide » en s’adaptant au support, à l’échelle ou au format à partir de la sémantique décrite dans le document HTML.

    +

    Les technologies du Web permettent aussi de bénéficier d’un écosystème de travail collaboratifMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023 entre designeur·euses (pour collaborer sur un même projet et/ou mettre en commun ses compétences, utiliser un outil fabriqué par autrui ou contribuer au développement d’un outil) et avec le public ou le·a client·e de l’outil. Lors de nos échanges de courriels, Sarah Garcin évoquait justement la façon dont les technologies du Web lui ont permis, ainsi qu’à ses collaborateur·ices-commanditaires, de travailler simultanément sur l’édition d’un livre en pensant un processus éditorial spécifique au projet.

    +
    +« J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les 4 intégrés à la plateforme. C’était intéressant, car mes 3 collaborateur·ices / commanditaires se rendaient compte de certaines choses qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. [...] L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire ‹  j’ai oublié une phrase ici… › ‹ il manque des guillemets là… › etc. On peaufiné le design en intégrant les contenus et les corrections. » +
    + +

    En outre, le paradigme textuel du code désynchronise aussi la conceptualisation des principes graphiques et leur traduction visuelleIbid., puisqu’au contraire du WYSIWYG le·a designeur·euse ne visualise pas son travail pendant qu’i·el le produit. Cela incite à penser plus en amont les systèmes de fond et de forme par le biais d’une série de règles et de principes clairs qu’on impose par le code. Au premier abord, cette méthode de travail prive le·a designeur·euse d’une part de geste, pusiqu’i·el ne fait qu’éditer du contenu textuel. On négligerait alors la possibilité pour les designeur·euses de développer et d’utiliser des interfaces et des formes d’interactivité alternatives. En amont, la conceptualisation se fait souvent par du croquis ou une maquette papier. Certain·es designeur·euses conceptualisent aussi des interfaces alternatives qui engagent le corps à différents degrés : la PJ Machine [fig. 32] de Sarah Garcin permet de mettre en page des documents imprimés à partir d’une interface physique composée de boutons d’arcade tandis qu’une interface de PAO par le geste [fig. 33] a été expérimentée durant le workshop « Interfacial Workout » ayant eu lieu lors des rencontres Hackers & Designers de 2019.

    +

    fig. 33 La PJ Machine, une boîte composée de boutons de jeu d’arcade pour contrôler une interface Web de PAO, fabriquée par Sarah Garcin.

    +

    fig. 34 Interface corporelle de PAO par le geste, experimentation ayant eu lieu au cours de le workshop Hackers & Designers Interfacial Workout en 2019.

    +
    + + +
    + +

    + Le travail sans le labeur + +

    +
    +« Si [...] je développe un logiciel libre, ce n’est pas d’abord pour obtenir un salaire c’est pour m’enrichir en un sens beaucoup plus riche que le célèbre “Enrichissez-vous”, et peut-être aussi gagner ou économiser un peu d’argent à cette occasion, mais surtout me construire et m’épanouir dans la vie, et comme être vivant. »Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  !  : entretien avec Ariel Kyrou, op. cit. +
    + +

    Il y a dans l’ethos des hackeur·euses, comme dans l’idéal de l’artisan de Morris, la volonté de revenir à un travail valorisant et de participer pleinement à la production de logiciels sans être réduit·e au rôle d’un morceau de la chaîne de production. Dans cette vision du travail, le rapport au plaisir est similaire à l’élan spirituel que nous abordions plus tôt. En travaillant de façon autonome, faisant ellui-même le choix de ses tâches et de la gestion de son temps et ses ressources, le·a designeur·euse pourrait i·el aussi travail par plaisir, élaguant le labeur du sens du mot travail.

    +

    Nous avons effectivement montré qu’il est possible de travailler pour construire quelque chose, apprendre et développer des savoirs, plutôt qu’uniquement pour une rémunération. Attention cela dit à ne pas retomber dans le piège exploitant du « travail-passion » au travers duquel le capitaliste (patron·ne, commanditaire) tirera profit de l’appréciation du travail pour se permettre de sous-payer. Le but n’est pas de produire de la plus-valueFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-value », coll.« Les Chemins de la philosophie ». en travaillant plus, parce qu’on s’y plaît, mais de voir le travail comme une occasion de développer des savoirs et de tirer une satisfaction de l’ouvrage.

    +
    + +
    + +
    + + + +
    + + + + + +

    + Conclusion +

    + + +
    +
    +

    Pour reprendre leur autonomie sur leurs outils, les designeur·euses graphiques ont d’abord besoin de repenser ce qu’est le travail. Transformer ce temps laborieux en une occasion d’apprendre et de développer des compétences leur ouvre la voie d’un retour vers l’expérimentation autonome de l’outil. En refusant l’aliénation par l’automatisation de la machine et la fermeture des outils propriétaires, i·els se libèrent de l’outil unique qui conditionne à la fois l’usage de la machine et la production formelle. +Ce retour à une vision positive du travail (qui n’est pas seulement le fait d’être employé mais renvoie à l’idée moderne, hégélienneSOBEL Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210 d’une libération ‑ de soi dans la communauté ‑ par le travail) se fait par la réévaluation du rapport du·de la designeur·euse à l’outil, glissant du statut d’utilisateur·ice à celui de créateur·ice ou de designeur·euse‑hackeur·euse. En refusant de « faire avec » les outils imposés par l’industrie, i·el change de démarche et peut faire un pas de côté de l’industrie en s’émancipant des contraintes d’outils, de méthodes et de rythmes de travail. D’une part, cela demande à revenir sur toute la profession, de l’école au milieu professionnel, pour se libérer des injonctions de l’industrie capitaliste du design graphique. D’autre part, il est nécessaire que les designeur·euses puissent prendre le temps d’apprendre à comprendre et à fabriquer ou à altérer leurs outils en s’intéressant au code.

    +

    C’est là que l’ethos des hackeur·euses et des libristes intervient et semble, déjà, empreint de pistes de solutions. Plus qu’une façon curieuse et libre d’intéragir avec la machine et le logiciel, i·els ouvrent la voie sur une considération plus contemporaine du travail sans le labeur, à la façon d’un·e artisan·e numérique. Cette quête du plaisir dans le travail pousse les designeur·euses‑hackeur·euses vers les jubilations de l’exploration technique et formelle de la production de design graphique. S’en suit un engagement éthique qui considère les autres designeur·euses comme des collaborateur·ices potentielles, la production comme un·e contribution aux communs de design graphique et l’usagèr·e comme utilsateur·ice du design.

    +

    En dressant l’état des lieux de ce qu’est le travail de designeur·euses graphique, ce mémoire cherche à mettre en lumière d’autres possibles et à ouvrir un échange et une réflexion collective sur notre profession. C’est maintenant dans la pratique qu’il nous faut « réduire l’espace »« Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. entre ce qui est et ce qui pourraît être, et pour cela, le changement de posture vis‑à‑vis de l’outil ne peut être suffisant. Il faut, pour les designeur·euses graphiques, une morale appliquée à l’ensemble des sphères de la pratique. Vous trouverez à la suite un écrit explorant l’intérêt du libre au-delà de l’outil, recouvrant des espaces de liberté dans tous les espaces de la pratique, de notre organisation dans le travail à notre politisation, nos échanges et la diffusion de nos productions.

    + +
    +
    + +
    + + +
    + +

    + Annexes +

    + +
    + + + + +
    + +

    + L’ensemble de fonction + +

    +

    +Le texte ci-après explicite le schéma [fig. 11]fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit. de l’ensemble de fonction de Victor Papanek. C’est un court résumé des pages 44 à 60 de l’ouvrage Design pour un monde réel édité en 2021 par Les presses du réel et traduit de Design for the Real World: Human Ecology and Social Change dont la publication originale date de 1971. +

    +
    La méthode
    +
      +
    • Les procédés de conceptualisation et de fabrication faisant une utilisation honnête des outils et matériaux en ne les choisissant que s’il n’y en a pas d’autres qui feraient « l’affaire » plus efficacement et pour moins cher.
    • +
    +
    L’utilisation
    +
      +
    • Le fait que le design fonctionne pour l’usage qui en est fait, qu’il corresponde ou non à l’usage imaginé par le·a designeur·euse.
    • +
    +
    Le besoin
    +
      +
    • La réponse du design à un besoin « économique », « psychologique », « spirituel », « technique » ou « intellectuel » plutôt qu’à des « exigences et des désirs éphémères ».
    • +
    +
    La télésis
    +
      +
    • L’inscription cohérente du design dans la société et la nature dans lesquelles il est utilisé, sa correspondance au mode de vie de l’usagèr·e
    • +
    +
    L’association
    +
      +
    • La signification du design par association de ses qualités à notre « conditionnement psychologique », les valeurs qu’il incarne
    • +
    +
    L’esthétique
    +
      +
    • L’appréciation esthétique du design, le « beau » qui ne peut exister qu’en relation avec le reste de l’ensemble de fonction. Elle émane, selon Papanek, de l’association des six autres domaines.
    • +
    + + + +
    + + + + + + +
    + +

    + Entretien avec Sarah Garcin + +

    +
  • + Bonjour Sarah,

    + [...] Seriez-vous intéressée et disponible pour échanger sur le sujet au travers d’une entrevue ? Celle-ci portera sur votre positionnement en tant que designeuse faisant le choix de créer des outils libres, comme avec l’Atelier des Chercheurs par exemple.

    D’avance merci,

  • +

    +
  • + Bonjour Emma-Jade,

    + [...] + Avec plaisir pour échanger avec vous sur ces sujets. + Est-ce que ça vous convient si on fait ça par écrit par mail ? + [...]

    Bien à vous,

  • +

    +
  • + [...] Je souhaite vous interroger sur vos activités au sein de l’atelier des chercheurs, et en dehors, pour essayer de comprendre votre positionnement sur les outils libre, en tant que designer qui en fabrique et en utilise. + [Je pose ensuite une série de questions, auxquelles Sarah Garcin répond juste ensuite.] +

  • +

    +
  • + + [...] + Voici une première réponse à vos questions. + J’ai répondu spontanément, il y a peut-être des fautes d’orthographe ou des formulations malheureuses (n’hésitez pas à reformuler au besoin). + Je digresse, théorise et ne répond pas forcément directement aux questions. Et je n’évoque pas beaucoup la question du graphisme, car pour moi elle est accessoire, c’est finalement plutôt un outil qu’un sujet en soit. Mais n’hésitez pas à me reposer des questions en rapport avec mes réponses, je me ferai un plaisir de compléter (par exemple je donne très peu d’exemples de projets...). On peut démarrer une sorte de ping-pong.

    Bien à vous, Sarah

    +

  • +
  • + Qu’est-ce qui vous a poussée à la création d’outils libres, et comment transforment-ils et/ou influencent-ils selon vous les manières de travailler ? +

  • +

    +
  • + J’ai commencé à vouloir créer mes propres outils quand j’étais étudiante en 3e année des Beaux-Arts de Rennes (désormais nommée EESAB Rennes). À l’époque, je n’avais aucune idée de ce que pouvait représenter la culture du libre, je n’avais aucune connaissance dans la pratique du code. Je tentais de bidouiller Illustrator pour créer des semblants de scripts, c’est ainsi que j’ai fait la découverte de Scriptographer et de Jürg Lenhi et par la même occasion, de graphistes qui fabriquent leurs propres outils et qui les mettent à disposition de la communauté. La même année, j’ai appris Processing, le HTML et le CSS. Comme une révélation, le code m’est apparu comme l’outil dont j’avais besoin pour mettre en application ce que je tentais de faire en bidouillant Illustrator.

    + J’ai ensuite fait un stage dans le collectif g‑u‑i, que j’ai intégré par la suite. C’est à ce moment là que nous avons commencé à nous intéresser à la culture du libre et aux logiciels libres, qui nous paraissaient plus en accord avec nos valeurs et nos manières de travailler. Nous suivions depuis un moment le travail du collectif Open Source Publishing, et leur projet html2 print nous parlait tout particulièrement. En effet, avec g-u-i nous faisions à la fois des sites et des éditions, souvent les deux pour une même projet. Il nous semblait donc tout à fait logique de simplifier le travail et de n’avoir qu’une seule source de gestion du contenu permettant la génération de différents supports (site internet, édition, affiche etc.). Aussi nous intéressions aux dispositifs de documentation en live, dans ce cadre nous avons développé différents programmes et dispositifs. C’est dans ce contexte, que j’ai développé avec un camarade de classe, Victor Lebeau, mon projet de diplôme autour du logiciel libre et de la documentation. Un logiciel de prise de notes collaboratif permettant la mise en forme automatique du contenu et l’export imprimable.

    + Dans le même temps, quelques mètres plus loin, Louis Eveillard, Pauline Gourlet, Juliette Mancini et Ferdinand Dervieux commençaient le développement d’un logiciel de documentation pour les enfants. Naturellement, nous nous sommes rapprochés et avons partagé nos expériences, ces deux projets possédant des enjeux similaires. C’est ainsi qu’à la suite de mon diplôme j’ai rejoint le labo de recherche Sociable Media à l’ENSADLab, et que j’ai intégré le collectif nommé plus tard L’Atelier des Chercheurs. C’était important pour moi que les outils développés ensemble soit sous licence libre et soit open source. Nous travaillons dans le domaine publique (l’école), il me parait cohérent que les outils utilisés dans le public soit ouverts et emprunt d’une certaine éthique (mais apparemment le ministère de l’éducation n’est pas totalement d’accord avec moi).

    + Toutes ces années où nous avons travaillé dans les classes au développement de do.doc notamment (depuis maintenant 10 ans), nous avons analysé comment l’introduction d’un nouvel outil dans un environnement de travail pouvait changer les manières de travailler mais aussi d’être ensemble. Pauline Gourlet a d’ailleurs écrit sa thèse là-dessus.

    + D’abord, avec do.doc, nous avons fait le choix d’un outil hybride à la fois tangible et numérique. Ce qui crée dans une salle de classe un espace particulier de travail. Un espace convivial dans lequel on peut échanger, travailler, manipuler, collaborer. Ça reconfigure totalement la classe et l’organisation des activités.

    + Ensuite, nous avons pris le parti de développer l’outil in situ, en le testant dans des contextes, en observant et en prenant en compte les retours des utilisateur·ices. Les élèves et les enseignants, peuvent ainsi participer à la conception du logiciel suivant leurs besoins très concrets.

  • +

    +

    +

  • + Au sein de votre pratique de designer graphique, qu’est-ce que les outils libres permettent ? Quels sont leurs grands enjeux, d’après vous ? +

  • +

    +

    +

  • +De faire un pas de côté. J’évoque souvent une scène du film l’An 01. Un film tiré d’une BD de Gébé, dont le point de départ est « On arrête tout, on réfléchit (et c’est pas triste) ». Déjà il y a cette notion de prise de recul. En particulier, il y a cette scène d’une publicité pirate qui passe à la télé. « Et si on faisait un pas de côté », on y voit un homme qui regarde par la fenêtre, qui fait un pas de côté, qui se retrouve face au mur, on lui dit « Qu’est ce que tu fais », il répond « Je regarde dans ma tête ». Se déplacer, changer de point de vue, se mettre dans une situation d’inconfort, choisir ce que l’on regarde, choisir l’outil qui nous convient pour ce que l’on veut faire.

    +Évidemment il y a une dimension politique, avoir la main sur ses outils, les maîtriser, les contrôler. Ne pas être soumis·e à des décisions de grand groupe, qui impose des normes et des manières de faire, être libre. +Quand on y pense, si on regarde les interfaces des premiers logiciels de PAO, rien n’a changé, les paradigmes sont toujours les mêmes, une « boîte à outils », des calques, des déplacements en drag and drop d’objets flottants dans la page... +Et on se rend compte du pouvoir des concepteurs de logiciels propriétaires quand ils nous tiennent. Quand ils nous tiennent avec un abonnement extrêmement cher qui ne nous permet pas de posséder le logiciel. Quand ils décident d’arrêter le partenariat avec Pantone, que l’accès aux couleurs Pantone devient payant et que les anciens fichiers possédant ce type de couleur sont altérés.

    +

  • +
  • + Dans le cadre du mémoire, je cherche à comprendre s’il y a réellement une forme d’aliénation du graphiste par ses outils, qui passe par une « prolétarisation » (dans le sens où les outils propriétaires peuvent nous priver de savoirs et de savoir-faire, tant par leurs fonctionnalités que par l’opacité de leur fonctionnement). Les outils libres défendent une forme de réappropriation, de culture du faire soi-même. Selon vous, est-ce là l’enjeu principal de ces outils ? Permettent-ils vraiment d’empêcher cette prolétarisation et de reprendre possession de ses outils ? Si oui, comment ? Qu’est ce qui pourrait éventuellement leur manquer ? +

  • +

    +

  • + Peut-être pourrions nous faire un parallèle un peu étrange, logiciel propriétaire/logiciel libre et voiture/vélo. Je ne prends pas cette exemple au hasard, je le prends car c’est un des exemple qu’utilise Ivan Illich dans son livre « La Convivialité » pour faire la différence entre un outil convivial (le vélo) et un outil non convivial (la voiture).

    Le vélo (ici je parle bien du vélo mécanique et non pas électrique) est totalement transparent, on voit son mécanisme, on voit bien comment ça fonctionne, c’est assez simple à réparer, ça ne coûte pas très cher, on développe un savoir faire mécanique, on peut le customiser à son goût.

    + La voiture (et encore plus aujourd’hui) cache un tas de mécanisme complexe et inaccessible, elle coûte cher, est polluante, compliqué à réparer soit même, elle façonne les villes et les infrastructures (d’une manière qui ne me convient pas personnellement), elle est vecteur d’inégalité sociale.

    + Alors oui elle est rapide, plus rapide que le vélo, elle permet de transporter plus de choses, elle permet d’avoir chaud quand il fait froid et froid quand il fait chaud. En somme elle est confortable.

    + Il y a un énorme paradoxe à tout ces avantages. Paradoxe développé par Ivan Illich dans son livre « Équité et Énergie » (oui encore lui). Si on prend le même trajet en voiture et en vélo, disons Paris-Brest par exemple, on sait qu’en voiture on mettra environ 6h, alors qu’en vélo on mettra 4 jours. Mais si on regarde le temps que l’on a passé à travailler pour payer la voiture, son assurance, son parking, ses réparations, le temps que l’on a passé à essayer de la garer, à aller prendre de l’essence etc. et qu’on le compare au temps passé à s’occuper de son vélo, finalement on aura mis moins de temps à faire Paris-Brest en vélo qu’en voiture.

    + « La convivialité est la liberté individuelle réalisée dans la relation de production au sein d’une société dotée d’outils efficaces. Lorsqu’une société [...] refoule la convivialité en deçà d&’un certain niveau, elle devient la proie du manque; car aucune hypertrophie de la productivité ne parviendra jamais à satisfaire les besoins crées et multipliés à l&’envie. » (Au cas ce n’était pas clair, je suis fan d’Ivan Illich).

    +

    Finalement, pour moi c’est un peu comme commander sur Amazon vs passer trois heures à aller chercher le livre que je cherche dans une librairie ou une bibliothèque. En ne commandant pas chez Amazon, je perds du temps, du temps à travailler fixée sur ma chaise devant un ordinateur. Qu’est-ce que j’y gagne ? Je gagne une marche en ville, je découvrirai peut-être une nouvelle librairie, j’aurais peut-être une discussion intéressante avec le·a libraire, j’y découvrirai un livre essentiel à ma recherche, je rentrerai joyeuse de cette sortie. Je serai d’autant plus joyeuse que je n’aurais pas contribué à faire fonctionner une société avec laquelle je ne suis absolument pas d’accord. Pas d’accord avec le principe même, pas d’accord avec les conditions de travail, pas d’accord avec les ambitions de la personne qui la dirige, pas d’accord avec les valeurs des différents services proposés par l’entreprise...

    +

  • +

    +

  • + [...] Avant tout, un grand merci pour votre réponse que j’ai trouvé particulièrement intéressante. Cette fois encore, sentez-vous libre de répondre lorsque vous le pouvez. Ce premier échange m’aide déjà beaucoup.

    Je m’identifie beaucoup à votre approche du code, j’ai moi-même commencé à l’apprivoiser sans avoir connaissance du libre, justement parce qu’il me permettait de faire les choses autrement et sans être limitée par le manque de certaines fonctionnalités dans d’autres logiciels. Le rapport temps-productivité-plaisir, lui aussi, me pose question. Je trouve que l’image de la librairie permet de poser des mots ce sentiment étrange de devoir travailler vite, juste pour avoir plus de temps disponible pour continuer à travailler ensuite.

    L’un des reproches que j’entends souvent à propos des logiciels libres – de la part de celleux qui ne les utilisent pas – c’est le manque de professionnalisme de ceux-ci. Parce qu’ils sont « moins performants » que les outils propriétaires, ils ne vaudraient pas le coup d’être utilisés, sauf pour des productions très expérimentales, et seraient un frein à la collaboration en milieu professionnel.

    + Pourtant, il me semble que les outils libres (de développement, mais aussi les logiciels qui proposent des fichiers de travail en formats non-propriétaires tous simplement) permettent au contraire de trouver des moyens de collaborer. D’une certaine façon, « faire un pas de côté » ne se limite pas à notre pratique personnelle de designer, c’est peut-être aussi se mettre à contre-courant des attentes de l’industrie ? J’aurais aimé savoir comment est-ce que cela peut se passer dans le cas où vous proposez des projets de design graphique en réponse à une commande. Le choix des outils libres conditionne-t-il l’environnement de travail (les relations et collaborations, le rapport au temps, les échanges... plus que l’environnement physique) dans lequel vous produisez ? Sont-ils parfois un frein aux ambitions esthétiques ?

    S’il y a des projets spécifiques qui peuvent-être des éléments de réponse, ou des situations de travail que vous aimeriez évoquer, ce serait avec plaisir.

    Merci encore et bien à vous,

  • +

    +

    +
    +
    +

  • + [...] Je m’excuse encore pour les délais de réponse. Je suis sous l’eau !

    Pour moi, ça ne se limite effectivement pas à notre pratique du design. L’utilisation d’outils libres (mais aussi leur développement et leur partage) c’est une partie d’un mode vie. Une porosité entre le professionnel et le personnel. Ça va avec une certaine éthique. C’est une démarche militante. Évidemment que ça conditionne nos environnements de travail. D’abord parce que si je veux être cohérente (et c’est mon avis personnel), je ne peux pas utiliser des outils libres dans une pratique expérimentale personnelle et à côté aller faire des power points chez l’Oréal. Ou ça serait totalement absurde d’utiliser des outils libres pour designer les plaquettes d’Air France. Alors on choisit ses commandes, des projets qui correspondent à notre éthique, on choisit aussi les gens avec qui on travaille. Je me verrai mal travailler avec ou pour quelqu’un qui est raciste ou sexiste.

    Pour ce qui est du rapport au temps, c’est une vraie question. Il y a effectivement cette critique qui revient souvent sur la performance des outils libres. Ça prend plus de temps. J’en suis pas sûr. Je crois juste qu’on est plus rapide à certains endroits et plus lents à d’autres. Mais si on pense en terme de productivité et de temps alors il me semble qu’on re-rentre dans la logique capitaliste (désolé d’utiliser les grands mots fourre-tout) qu’on essaye d’éviter en faisant un pas de côté. On est toujours dans cette tension, on est entouré par cette société productivisme régit par la croissante et le progrès, c’est impossible d’en sortir. Utiliser des outils libres, c’est un micro pas à côté de cette société et c’est assez réjouissant et encourageant tout de même.

    Sur la question de l’esthétique, je crois qu’il n’y a pas de limite esthétique. Je n’ai pas d’exemples de choses que je n’ai pas réussi à faire avec des outils libres. C’est plutôt le contraire, ça ouvre vers de nouvelles formes. J’ai une anecdote à ce sujet. J’ai fait travaillé des étudiant·es de 2e année com avec un petit programme en ligne que j’ai développé et qui permet de faire de la mise en page d’affiche avec du CSS et une interface WYSIWYG. Ça change totalement des paradigmes d’Adobe, il n’y a pas de drag and drop. Alors les éléments se superposent régulièrement. Un autre enseignant leur a demandé de réaliser des affiches sur Indesign. Une des étudiantes a présenté son affiche tout en superposition en mentionnant que l’idée lui était venu en bidouillant mon programme. J’ai trouvé ça génial !

    Je peux finir ce mail assez théorique par la description de deux projets de commande (avec les mêmes commanditaires). En 2020, j’ai commencé à travailler pour le programme Forcast du media lab de Sciences Po pour la réalisation d’une édition (plus particulièrement avec Clémence Seurat, Robin de Mourat et Thomas Tari). Ça les intéressait d’expérimenter un processus éditorial non conventionnel et de travailler en web2print. On a d’abord travaillé avec Goji, un logiciel libre développé par Robin de Mourat, un des chercheur du projet. Goji devait permettre de gérer les contenus de l’édition et permettait de faire un export html. Il s’est avéré qu’à terme, nous abandonné Goji qui comportait trop de bugs et qui nécessitait pas mal de nouvelles fonctionnalités pour être utilisable. C’était un processus long et compliqué. Nous avons travaillé les contenus directement dans le HTML et la mise en page se faisait avec Paged.js et CSS. Ce qui a impliqué un gros travail pour moi d’intégration des contenus, de correction etc. En travaillant ainsi, on s’est dit que c’était idiot de ne pas exploiter le fait que le web permet la dissociation des contenus et de la mise en page (ce qui n’est pas du tout le cas dans Indesign). Finalement, on a terminé le livre tout en HTML à coup de nuits blanches d’intégration de correction et de micro-typo (le vrai problème qui prend du temps et qui est difficile à gérer c’est la micro typo en web2 print, c’est là ou le WYSIWYG est important). Le livre est sorti en version imprimée et en version web. On a trouvé des solutions avec l’imprimeur pour avoir des fichiers avec lesquels ils pouvait travailler et on a adapté le HTML pour en faire une version en ligne (le deal c’était que les contenus du livre étaient entièrement accessibles et en Creative Commons un an après la sortie papier du livre). C’était simple de faire ce passage du pdf imprimable au site web navigable. Si on en revient à la question du temps, on a gagné un temps fou à ce moment là (et aussi une cohérence graphique puisqu’on a quasiment utilisé le même CSS). Pour voir ce que tout ça donne, c’est ici. +

    + https://controverses.org/mode-demploi/

    Fin 2022, Clémence, Robin et Thomas avait un nouveau projet d’édition, du même type. Une édition de recherche sur une friche et une enquête citoyenne participative. Iels m’ont sollicité de nouveau pour le design en web2print de celle-ci (le sujet parait cohérent avec le fait d’utiliser des outils libre). Fort de la première expérience et toujours désireux·ses de réfléchir au processus éditorial, nous avons tenté autre chose. J’ai mis en place un CMS, permettant de gérer les contenus de l’édition en ligne. J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les quatre intégrés à la plateforme. C’était intéressant, car mes trois collaborateur·ices / commanditaires se rendaient compte de certaines chose qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. On a pu comme ça durant toute la durée de la fin de l’écriture, des corrections et de la mise en page travailler en collaboration. L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire « j’ai oublié une phrase ici... » « il manque des guillemets là... » etc. On peaufiné le design en intégrant les contenus et les corrections. J’ai passé beaucoup de temps avec la micro-typo, mais ça je le savais d’avance. L’édition vient juste d’être imprimée, on attend de les recevoir ! Et bientôt une adaptation web.

    J’espère que cet email ne part pas trop dans tous les sens, qu’il reste compréhensible et qu’il répond à vos questionnements. [...]

    Bien à vous, Sarah

    +

  • + + + +
    + +
    +
    + + + + +
    + + + + + +

    + Manifeste +

    + + +
    +
    +

    Libérons le design graphique !
    Pertinence du modèle libre au-delà de l’outil

    +

    Faire un pas de côté

    +

    Lorsqu’on refuse de se soumettre aux grands groupes propriétaires d’outils et à leur conception du design graphique, qu’on reprend le contrôle sur ses outils, qu’on refuse d’être contraint·es par des paradigmes logiciels qui n’ont jamais changé et qu’on arrête de dépenser notre argent dans des outils que l’on ne peut même pas posséder, nous engageons une démarche militante. Dès lors que que le choix de se tourner vers les outils libres n’est pas qu’un choix personnel ou un moyen d’expérimenter les formes, prenons le parti de faire un « pas de côté »Expression issue des échanges de courriels avec Sarah Garcin. vis à vis de l’industrie.

    +

    En faisant ce pas de côté, laissons nous le droit de refuser les logiques de production qui voudraient que l’on produise un maximum et le plus rapidement possible. Autorisons nous l’expérimentation créative, donnons une place à l’erreur, ouvrons nous à l’exploration technique et prenons le temps de penser nos méthodes plutôt que de garder, par défaut, un même outil fonctionnel mais pas forcément optimal.

    +

    À l’image des travailleur·euses de l’art des collectifs Art en Grève ou La BuseBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., organisons-nous et mettons en place une solidarité concrète pour nos conditions de travail, notre rémunération et nos droits. Soyons solidaires face aux entreprises de la tech qui cherchent à monopoliser le lien entre les designeur·euses et les client·es par le développement de plateformes qui nous mettent en concurrence, nous poussent à brader nos prixComme Fiverr, et les autres plateformes de mise en relation client·es-designeur·euses. Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. et à produire en masse à moindre coût, pour espérer séduire des algorithmes qui nous évaluent sur ces critères.Comme le fait Canva, cf. Canva Creator Journey, https://www.canva.com/help/canva-creator-journey/, consulté le 01/12/2023. +Comme les ouvrièr·es typographes l’ont fait avant nous, engageons nous dans des luttes sociales ou politiques et prenons le parti d’utiliser de nos compétences pour participer à celles-ci.

    +

    Repensons nos modèles économiques et éloignons nous des emplois aliénants qui nous demandent de ne pas compter nos heures, d’être toujours plus productif·ves et de suivre des directives sans pouvoir les remettre en question. Utilisons l’automatisation lorsqu’elle nous libère des tâches fastidieuses, et profitons de ce gain de temps pour faire autre chose que le travail. Inspirons nous des modèles économiques de collectifs déjà existants, en nous assurant de tous·tes nous rémunérer aussi justement que possible. Il est par exemple possible de diviser équitablement l’argent perçu pour un projet en fonction du travail fourni et en gardant un pourcentage pour le fonctionnement de la structure. Ce n’est qu’une possibilité, d’autres pourraient être imaginées au travers d’échanges et de prises de décisions collectives. +Faisons le choix de travailler avecExpression tirée de la conférence du collectif Luuse à Bruxelles lors de l’événement « Le design graphique comme outil d’expérimentation ? » organisé par Morgane le Ferec et Colin Roustan dans le cadre de P(A)F - Pratiques (Artistiques) Fonctionnelles., et non pour, des personnes que nous choisissons. Cherchons à travailler sur des sujets épanouissants et en alignement avec nos valeurs, quitte à diversifier nos activités pour atteindre un équilibre économique. Balisons des espaces de travail dans lesquels chacun·e des acteur·ices d’un projet se sentira considéré·e et à l’aise, et soyons transparent·es sur nos méthodes.

    +

    Les licences libres

    +

    En mettant à mal la précieuse « propriété intellectuelle », le travail collaboratif nous encourage à produire un graphisme libre. Le « droit sacré à l’originalité »Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. n’est de toute façon assuré qu’aux designeur·euses qui ont les moyens de financer un·e avocat·e pour les défendre, surtout à l’heure ou les grandes entreprises n’ont aucun scrupule à voler le travail des designeur·euses pour leurs productions, profitant d’avoir l’arsenal juridique nécessaire pour les déstabiliser.

    +

    Les licences libres permettent à tous·tes de bénéficier des productions d’autrui, sans pour autant remplacer la propriété intellectuelle. Elles permettent plutôt aux producteur·ices de céder par avance certains droits et, de fait, de clarifier les conditions dans lesquelles leur production peut-être utilisée.

    +

    Les licences Creative Commons [fig. 33] sont les plus connues et offrent une large variété d’usages possibles. D’autres ont vu le jour telles que la SIL Open Font Licence pour les typographies et le domaine public est, lui aussi, une possibilité. Bien sûr, la liste n’est pas exhaustive. Il est toujours possible de créer de nouvelles licences plus spécifiques comme l’ACSL (Anti-Capitalist Software Licence)Cette licence n’est pas tout à fait libre dans la mesure où elle n’assure les quatre libertés du libre qu’aux individus, associations à but non lucratif, institutions éducatives et aux sous certaines conditions aux organisations qui cherchent à générer un profit pour tous·tes ses membres en permettant aux non-membres de fixer le coût de leur main d’œuvre. The Anti-Capitalist Software Licence, https://anticapitalist.software/, consulté le 01/12/2023..

    +

    fig. 33 Les familles de licences Creative Commons : commercial / non commercial ; modifiable / non modifiable. Les licences vont de la moins à la plus restrictive.

    +

    La diffusion de nos productions sous licences libres permet aussi de passer sur des modes de production « cumulatifs »Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021. au travers desquels plusieurs personnes transforment l’ouvrage et échangent librement des informations sur les modifications. Elles permettent les forks et le partage des productions hors de la propriété exclusive de celle-ci, ou de la dissimulation des secrets de fabrication. En prenant la position d’« auteur·ice-relai », reconnaissons que nous ne pouvons pas être propriétaire d’une idéeAlbert Jacquard, entretien mené par le collectif Libre Accès en 2010 suite à la rencontre « Garantir les libertés publiques pour préserver les biens communs ». et que chacune de nos création a été « provoquée par la rencontre avec un autre »Ibid. et finira par nourrir elle aussi les idées d’autrui.

    +

    Constituer des communs graphiques

    +

    La diffusion de nos productions sous licence libre est l’élément clé de la constitution de communs graphiques. Les communs sont des ressources (digitales, matérielles, techniques ou théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils représentent l’ensemble des ressources et pratiques qui ne sont ni de propriété privée ou publique et sont une alternative à binarité, reposant sur un accès égal aux communs et au partage des décisions. +Les communs doivent pouvoir être accédés, partagés et transformés librement, surtout lorsqu’ils ont été produits, rassemblés ou édités par la communauté.Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

    +

    Refusons alors de se soumettre à des lois, telles que le copyright ou la propriété intellectuelle, qui freinent la constitutions de communs en privatisant les savoirs collectifs pour générer du profit.Ibid. Profitons de la mise en commun de capacités et de la circulation de nos idéesCollectif, « Open Source Publishing Relearn », future , 3 octobre 2011, http://f-u-t-u-r-e.org/r/02_OSP_Relearn_FR.md. en devenant des auteur·ices-relais qui font avancer, par leurs pratiques, le bien commun et les pratiques d’autrui.

    +

    Ouvrons nous aux forks et faisons circuler nos productions, comme le font déjà les typothèques libres, pour permettre leur usage par autrui. Contribuons à la mise en commun de ressources, comme le collectif Luuse le fait, et considérons que chacun·e mérite de bénéficier du partage culturel.

    +

    Et surtout, n’oublions pas qu’une production diffusée librement n’est pas forcément une production issue d’un travail gratuit. Ouvrons la discussion sur le libre avec nos commanditaires et faisons de notre éthique un étendard qu’aucune proposition de rémunération ne peut faire tomber.

    + +
    +
    + +
    + + + +
    + + + + + +

    + Bibliographie +

    + + +
    +
    +
    Concrétiser l’utopie
    +
      + +
    • +

      « Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. +

    • +
    + +
    Travail, industrie et aliénation
    +

    +
      +
    • +

      Arendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll. « Agora », 2002.

    • +
    • +

      France culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll. « Les Chemins de la philosophie ».

      +
    • +
    • +

      Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021.

      +
    • +
    • +

      Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015.

      +
    • +
    • +

      Stiegler Bernard, « Prolétarisation », Ars Industrialis, https://arsindustrialis.org/prol%C3%A9tarisation.

      +
    • +
    +

    + +
    Repenser le travail
    +
      +
    • +

      Boutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste., Marseille, 2019.

      +
    • +
    • +

      Chancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p. 66-70.

      +
    • +
    • +

      Congar, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », in Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259

      +
    • +
    • +

      Sobel Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210.

      +
    • +
    • +

      Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvriers imprimeurs de Paris, Monographie par M  L***, apprenti imprimeur.

      +
    • +
    • +

      Jacquet Hugues, L’intelligence de la main, préface de Pierre Maclouf, l’Harmattan, coll. « Logiques sociales », 2012.

      +
    • +
    • +

      Laski Gary. Le design : Théorie esthétique de l’histoire industrielle, Philosophie. Université Paris‑Est, 2011.

      +
    • +
    • +

      Levit Briar, Graphic Means: A History of Graphic Design Production, 2017.

      +
    • +
    • +

      Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022.

      +
    • +
    • +

      Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33.

      +
    • +
    • +

      Morris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.

      +
    • +
    + +
    L’école
    +
      +
    • +

      Huyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017.

      +
    • +
    • +

      JO №0253, 30 octobre 2022, texte №23

      +
    • +
    • +

      Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », Design Issues, 10-1, t 1994, p. 53‑63.

      +
    • + +
    + +
    Outils numériques et logiciels
    +
      +
    • +

      Blanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 7-33.

      +
    • +
    • +

      Donnot Kévin, Graphisme en France 2012, code<> outils <> design, Paris, France, Centre national des arts plastiques, 2012.

      +
    • +
    • +

      Grootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche 28, 2022, p. 59‑88.

      +
    • +
    • +

      Lehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012, consulté le 20 décembre 2023. https://scriptographer.org/news/the-future-of-scriptographer-is-paper-js/

      +
    • +
    • +

      Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011, consulté le 15 janvier 2024. https://www.anthonymasure.com/articles/2011-06-adobe-creatif-pouvoir

      +
    • +
    • +

      Kévin Donnot, « Faire avec Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll. « Outils, médias, savoirs », 2020, p. 95-115.

      +
    • +
    + +
    Culture numérique
    +
      +
    • +

      Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

      +
    • +
    • +

      Wiener Norbert, Cybernétique et société, Titre original : Cybernetics and Society (The Human Use of Human Beings), Deux Rives., 1952.

      +
    • +
    + +
    Culture libre et hacking : généralités
    + + +
    Culture libre et hacking dans le design
    +
      +
    • +

      Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021.

      +
    • +
    • +

      Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023. https://genderfluid.space/lexiquni.html

      +
    • +
    • +

      Klein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013.

      +
    • +
    • +

      Maudet Nolwenn. S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023.

      +
    • +
    • +

      Ozeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014.

      +
    • +
    + +
    L’outil et l’esthétique
    +
      +
    • +

      Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979.

      +
    • +
    • +

      Papanek Victor, Design pour un monde réel, titre original : Design for the Real World: Human Ecology and Social Change sorti en 1971, Les presses du réel, 2021.

      +
    • +
    • +

      Tufte Edward R.,The Cognitive Style of PowerPoint, 2003.

      +
    • +
    • +

      Ulm Elliot, « I made the same design in every program ever ». https://youtu.be/sAk9SZ9yrMY

      +
    • +
    + +
    +
    + + + +

    + Glossaire +

    + + +
    +
    +
    Aliénation
    +
      +
    • Dépossession de l’humain de son autonomie de pensée et production.
    • +
    +
    API
    +
      +
    • Une API permet qu’une application ou un programme accède aux données d’une autre application, à distance.
    • +
    +
    Automatisation
    +
      +
    • Remplacement de l’action humaine par l’action de la machine, en vue d’augmenter la productivité. Elle participe à l’aliénation de l’humain en le dépossédant de ses moyens de production, ses outils, au profit de la machine qu’il ne connaît pas pleinement.
    • +
    +
    Autonomie
    +
      +
    • Liberté, indépendance morale ou intellectuelle. Faculté de penser par et pour soi.
    • +
    +
    Boîte Noire
    +
      +
    • Théorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque.
    • +
    +
    Communs
    +
      +
    • Les ressources et pratiques (digitales, matérielles, techniques, théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils ne sont ni de propriété privée ni publique et représentent une alternative à cette binarité qui repose sur un accès égal aux communs et au partage des décisions.
    • +
    +
    Communauté
    +
      +
    • Ensemble de personnes partageant un intérêt, une morale, une éthique et se rassemblant physiquement ou numériquement pour produire, s’entraider, partager et améliorer leur production.
    • +
    +
    CMS
    +
      +
    • Un Content Manager System est un programme informatique qui permet de gérer le contenu d’un site web pour ensuite l’injecter dans des templates qui le formalisent lors de la mise en ligne.
    • +
    +
    Creative Coding
    +
      +
    • Utilisation de la programmation informatique à des fins artistiques, au travers d’un processus d’expérimentation et d’ouverture aux résultats inattendus.
    • +
    +
    Culture libre
    +
      +
    • Mouvement social et sous‑culture qui s’engage pour les quatres principes du libre. (liberté d’utilisation, d’étude, de modification et de copie ou redistribution).
    • +
    +
    Épanouissement
    +
      +
    • Fait de se réaliser pleinement, d’atteindre une forme d’harmonie de développement.
    • +
    +
    Éthique
    +
      +
    • Comportement qui dépend à la fois de valeurs morales préexistantes et de la prise en considération des sujets et environnements alentours.
    • +
    +
    Ethos
    +
      +
    • Tiré du grec du mot « coutume », l’ethos désigne dans ce mémoire un ensemble de valeurs qui s’incarne dans des actions et évolue au travers des pratiques.
    • +
    +
    Free
    +
      +
    • En anglais, le terme signifie à la fois libre et gratuit, causant parfois des contresens dans la compréhension et la traduction de textes liés aux logiciels free. Ce souci ne se pose pas en français.
    • +
    +
    Fork
    +
      +
    • En informatique, branche divergente du développement d’un programme. Un fork, une « dérivation », correspond à un nouveau projet qui émane d’un autre, déjà existant, avant d’évoluer dans une autre direction.
    • +
    +
    Gratuit
    +
      +
    • Qui ne nécessite pas de contrepartie pécuniaire pour être obtenu, utilisé ou adopté.
    • +
    +
    Hacker
    +
      +
    • Selon Collectif, « Hacker », The Jargon File 4.4.7 (traduction libre spécifiquement pour ce mémoire) « une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préférent n’apprendre que le minimum nécessaire. » Le sens du mot hacker se rapproche du mot « bidouilleur·euse » en français.
    • +
    +
    Hardware
    +
      +
    • Éléments matériels, composants physiques d’une machine informatique.
    • +
    +
    Liberté
    +
      +
    • Possibilité d’agir, de penser par soi‑même, refus de toute sujétion aux choses, de toute pression d’autrui. Absence d’entraves, de préjugés dans la démarche intellectuelle.
    • +
    +
    Libriste
    +
      +
    • Membre de la communauté libre.
    • +
    +
    Licence
    +
      +
    • Une licence, dans le domaine logiciel, est le contrat par lequel le·a titulaire des droits du logiciel (le·a propriétaire) définit les droits dont dispose l’utilisateur·ice vis-à-vis de celui‑ci.
    • +
    +
    Licence libre
    +
      +
    • Une licence libre est une licence avec laquelle le·a ou les auteur·ices font le choix de renoncer à une partie, ou l’entièreté, de leurs droits d’auteur·ice. Cette licence respecte les quatres principes du libre : utilisation, étude, redistribution et modification.
    • +
    +
    Machine
    +
      +
    • Selon Norbert Wiener, système complexe, dont on étudie le comportement (entrées et sorties) plutôt que le fonctionnement profond. Dans ce mémoire, le mot désigne l’ordinateur comme un appareil complexe qui fait fonctionner ensemble différents éléments de software.
    • +
    +
    Moyens de production
    +
      +
    • Les instruments de production (outils et machines) ainsi que la technique, les savoirs et savoirs‑faire qui permettent le travail.
    • +
    +
    Open Source
    +
      +
    • État du code d’un programme qui est accessible, soit dans le programme lui‑même soit grâce à une forme de documentation. Un programme open source n’est pas forcément libre alors qu’un logiciel libre est toujours open source.
    • +
    +
    Outil
    +
      +
    • Le mot désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux‑ci se rapprochent plutôt de « fonctionnalités ».
    • +
    +
    PAO
    +
      +
    • Publication Assistée par Ordinateur.
    • +
    +
    Propriété
    +
      +
    • Ensemble des droits exclusifs permettant l’exploitation d’une marque, d’un brevet, d’une licence, d’un dessin, d’une appellation et contre lesquels les propriétaires peuvent exiger une contrepartie pécuniaire.
    • +
    +
    Software
    +
      +
    • La partie immatérielle, logicielle, d’une machine informatique.
    • +
    + +
    +
    + + + +

    + Remerciements +

    + + +
    +
    +

    Je tiens à remercier toutes les personnes qui ont permis à ce mémoire d’exister tel qu’il est. +

    +Merci à Lénore Conte et Olivier Koettlitz, mes tuteur·ices, pour leurs conseils aussi précis que précieux, l’attention portée à mon écrit et leurs relectures. Merci à Bastien Sion de m’avoir transmis son affection si humaine pour le design graphique. J’espère vous avoir (au moins un peu) fait changer d’avis. +

    +Merci à ÉO, BT, NP, LM, AG et RM pour tout ce que vous m’avez transmis lors de mon stage aux côtés de Luuse l’année dernière. Merci pour les compétences techniques (sans lesquelles tout aurait été bien plus laborieux), le prêt des bouquins et, surtout, les conversations passionnantes. +
    +Merci à Sarah Garcin pour nos échanges par courriel, pour ta bienveillance et tes encouragements. +
    +À vous sept, merci de rendre concrètes et visibles des visions du design graphique qui s’autorisent à faire un pas de côté. +

    +Merci à Théo pour les leçons de JavaScript, pour le script que je n’aurai pas eu le temps d’écrire et pour tout le reste. Merci à Inès et Romy pour cinq des plus chouettes années de ma vie. +

    +Merci à Julien Taquet pour le coup de pouce sur les traits de coupe et à l’Atelier Bien Vu et Léo Carbonnet pour le suivi sur la mise en page. +
    +Merci à Nicolas Taffin pour la relecture qui m'a permis de corriger la version web.

    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + diff --git a/sac/pages/https:__memoire.emma-jade.fr_ b/sac/pages/https:__memoire.emma-jade.fr_ new file mode 100644 index 0000000..f40364a --- /dev/null +++ b/sac/pages/https:__memoire.emma-jade.fr_ @@ -0,0 +1,1122 @@ + + + + + + + + + + Mémoire – Emma-Jade De Moor + + + +
    + +

    + Comment
    + nous travaillons,
    + comment nous
    + pourrions travailler +

    + +

    + Emma-Jade De Moor – Mémoire de recherche professionelle +
    + Ésaat Roubaix 2022 - 2024 – DSAA graphisme +
    + Tutorat : Léonore Conte & Olivier Koettlitz +

    +

    Cliquez pour accéder au site !

    +
    + + + + + + + + +
    + +
    + + + + + + +

    + Note éditoriale +

    + + +
    +
    +

    Ce mémoire a d’abord été mis en pages dans une version imprimée à l’aide de MkDocs et de la librairie Paged.Js de Fred Chasen, Julie Blanc et Julien Taquet. Vous pouvez trouver le repo git de la version imprimée juste ici et celui de la version web quelque part par là. S’ils ne sont pas accessibles, patience, je m’occupe de la documentation.

    +

    Il a originellement été composé avec le caractère Hershey Noailles, un fork de hersheytextjs par Luuse et est constitué de cinq cahiers, dont les contenus ont été réorganisés pour le web, et quelques corrections ont été faites.

    +

    Le site que vous consultez est un site statique généré grâce à MkDocs. Son code et ses contenus sont sous licence CC-BY-NC-SA. Plusieurs scripts Javascript permettent la gestion des notes et des légendes, la génération du sommaire et l’ouverture des images dans un nouvel onglet lors du clic. L’indication des mots du sommaire par une variation de graisse a été conservée, en clin d’œil à l’édition imprimée, ainsi que la « page de garde » par laquelle vous êtes entré·e sur ce site. Des prises de vues des mémoires physiques arriveront prochainement.

    + + +
    + + +
    + Passer à la lecture + + +
    + +
    + + + + + +

    + Introduction +

    + + +
    +
    +

    Lorsqu’il est question des outils des designeur·euses graphiques, Adobe semble hégémonique pour le regard extérieur comme celui de l’initié·e. Photoshop est souvent le premier outil cité, suivi de près par le reste de la famille Adobe Creative Suite. Pour moi, comme pour bien d’autres étudiant·esGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. et professionnel·les, l’essentiel des compétences techniques acquises et sollicitées à l’école et au travail relèvent de ces logiciels. Les alternatives, aux logiques plus ou moins similaires, ne sont que rarement plébiscitées et peinent à se faire une place dans l’industrie du design graphique. +Polyvalents et efficaces, les outils Adobe sont aussi dématérialisés et centralisés. Les designeur·euses graphiques qui les utilisent sont tributaires du propriétaire de l’outil – l’entreprise Adobe – en ce qui concerne la disponibilité, la maintenance et l’amélioration des logiciels. Si Adobe décidait d’arrêter la distribution de ses logiciels, de nombreux·ses designeur·euses graphiques se retrouveraient dépourvu·es de leurs outils de travail, ou pire : de leur travail.

    +

    Dans le paysage européen et contemporain du design graphique, la question du choix de l’outil numérique et les rapports à la propriété et à la chaîne de production sont déjà questionnés : certain·es designeur·euses graphiques se forment au développement informatique (au code) pour s’émanciper des outils propriétaires. Des projets de publication alternatives libresTels que PrePostPrint ou de web-to-printComme Paged.Js créé par Adam Hyde et actuellement développé par Fred Chasen , Julie Blanc et Julien Taquet, ou PageTypeToPrint par Julien Bidoret. voient le jour et des collectifs tels que Open Source Publishing ou Luuse font le choix de ne travailler qu’avec des outils « libres » dans une démarche de hacker. +Dans les écoles, des événements s’organisent autour de ces problématiquesEn 2023, ont été organisés les recontres « Open Open » par l’ESAC de Cambrai et « PostScript écoles sous licences » par l’atelier de Communication graphique de la HEAR Strasbourg et les départements typographiques de l’ERG et de l’ENSAV La Cambre (Bruxelles). et certaines écoles les incluent dans leurs cursus : les cours d’ustensiles numériques de l’ERG s’orientent autour des outils libres et open source, et le CASO Arts Numériques de l’ENSAV La Cambre sensibilise les étudiant·es aux outils libres. Ces initiatives restent cela dit sporadiques, se limitant bien souvent à des cercles d’initiés aux pratiques plutôt expérimentales et liées à une recherche autour de l’outil.

    +

    Alors que les outils propriétaires sont à la fois les standards de l’industrie et des logiciels à l’accessibilité ou l’appropriation limitées par la propriété, comment le·a designeur·euse graphique peut i·el reprendre le contrôle sur ceux-ci et son autonomie ? Il est question ici d’imaginer de nouveaux modèles en revoyant nos paradigmes de travail et notre rapport d’usage aux outils. Pour ce faire, nous interrogeront la viabilité (ou l’utopisme) des outils libres, la nécessité de vivre de nos productions et la possibilité de reconsidérer notre rapport au travail et à l’argent.

    +

    On n’entendra pas, par le mot « outil », un simple prolongement du corps servant à augmenter son efficacité. « Outil » désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux-ci se rapprochent plutôt de « fonctionnalités ».

    +

    Concernant le mot « machine », il désignera l’ordinateur qui abrite et permet d’utiliser ces outils, au sens d’un appareil complexe faisant fonctionner ensemble différents composants de software. Nous ne traitons donc pas, sauf exception, du sujet ordinateur et de ses composants hardware. +Les outils Adobe serviront ici de cas d’école pour analyser et poser un regard critique sur ce qu’est la situation actuelle des travailleur·euses du design graphique et leurs rapports à l’outil. C’est en posant un regard critique sur l’outil et l’industrie que nous pourrons imaginer ce qui pourrait être, réfléchir à d’autres façon de se positionner vis-à-vis du travail et proposer une utopie réaliste qui puise dans l’éthique des libristes et des hackers.

    + +
    +
    + +
    + + +
    + +

    + Comment nous travaillons +

    + +
    +

    + L'aliénation du·de la designer·euse graphique, origines et manifestations +

    + + + +
    + +

    + Le travail du·de la designeur·euse graphique + +

    +

    Le mot travail est régulièrement galvaudé dans le langage commun, utilisé pour parler à la fois de l’ouvrage et de lui-même. Hannah ArrendtArendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll.« Agora », 2002. fait la distinction entre le travail (labour, en anglais) et l’ouvrage, l’œuvre (work, en anglais). Il y a dans le travail une dimension biologique qui est nécessaire à la survie. Travailler, « c’est l’asservissement à la nécessité »Arendt Hannah, Condition de l’homme moderne Poche, op. cit.. tandis que l’ouvrage correspond à l’œuvre produite par le travail, que nous appellerons les « productions de design graphique ». +Il faut aussi faire la distinction entre le travail et l’emploi. Ce dernier s’est développé avec le salariat et correspond à l’échange du travail contre une rémunération au travers d’un salaire. Selon Bernard StieglerStiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015., l’emploi réside dans cet échange tandis que le travail est ce par quoi on cultive un savoir quelconque en accomplissant quelque choseIbid, p. 17.. L’employé·e n’est alors plus à l’initiative de son activité, i·el la subit. En agence, par exemple, le·a designeur·euse graphique est soumis·e à une forme de hiérarchie et d’exploitation, liée à une perte d’autonomie sur le choix de l’objet de son travail, de ses outils ou de ses horaires.

    +

    Puisqu’il est nécessaire à la survie, ou permet au moins de développer de nouvelles capacités, il ne semble pas que le travail soit le réel problème. Ce sont plutôt les conditions de celui-ci qui sont à remettre en cause. Lorsqu’elles sont dégradées et que le travail ne relève plus de la survieC’est à dire qu’il ne consiste pas en une activité de survie, comme rechercher ou cultiver de la nourriture ou bien construire un abri. ou de la construction de soiPar le développement de savoirs ou de compétences.,comme depuis la révolution industrielle, il devient aliénant. C’est là que la rémunération devient particulièrement importante : c’est elle qui donne son intérêt à un travail exploitant et destructeur du temps de vie, dans la mesure où il n’est pas épanouissant.

    +

    D’après la théorie marxiste, la nécessité pour un·e travailleur·euse de vendre sa force de travail, couplée à une dépossession de ses savoirs et savoir-faire par la machine (industrielle), est ce qui le prolétariseMarx Karl, Le Capital Livre I.. Le prolétariat constitue alors une classe sociale soumise à la classe capitaliste qui dispose du capital et des moyens de production. +Bernard Stiegler fait glisser cette définition, habituellement orientée vers l’ouvrièr·e, vers le·a « concepteur·ice »Stiegler Bernard, « Prolétarisation », Ars Industrialis, consulté le 27/11/2023. qui serait prolétarisé·e par l’automatisation des « systèmes d’aide à la décision »Ibid. intégrés aux programmes informatiques. Nos outils de design graphique portent une forme d’automatisation dans le pré-remplissage des réglages ainsi que dans l’exécution des tâchesTrès simplement, l’outil forme d’Illustrator nous permet de « tracer » automatiquement des rectangles sans réellement tracer gestuellement les quatre côtés de ceux-ci..

    +

    Pendant la production, le·a designeur·euse graphique n’a que rarement l’occasion de penser à ses outils et de se les approprier. Comme à l’heure du taylorismeLa doctrine d’organisation du travail de l’ingénieur américain Frederick Winslow Taylor, datant de 1911, qui consiste à confier aux travailleur·euses des tâches simples et répétitives pour améliorer leur productivité., il se sert des fonctionnalités, contenues dans la machine, pour effectuer des tâches récurrentes : créer une zone de texte, régler un crénage, déplacer des éléments... +I·el devient l’auxiliaire de la machine, qui lui permet d’agir en cliquant sur des boutons virtuels. Lorsqu’Hannah Harendt analyse le travail à la chaîneArendt Hannah, Condition de l’homme moderne, op. cit., elle évoque la façon dont le rythme biologique du·de la travailleur·euse doit se plier à celui de la machine qui lui est mécanique. C’est justement la répétition de ce même geste, le clic, qui assujettit le·a designeur·euse graphique au rythme de l’ordinateur. Par ce non-choix de l’outil – qui revient à utiliser les standards de l’industrie, comme la suite Adobe – le·a designeur·euse adapte son geste à la machine, i·el s’automatise, n’expérimente pas et n’apprend plus.

    +

    À l’ère pré-numérique, lorsque les designeur·euses composaient encore systématiquement à partir d’esquisses et de collageLevit Briar, Graphic Means: A History of Graphic Design Production, 2017., le rapport au corps était bien différent. La taille de l’atelier le prouve bien, les designeur·euses pouvaient naviguer entre différents plans de travail tandis qu’aujourd’hui un seul écran d’ordinateur peut en contenir plus d’une dizaine. Le geste n’est pas simplement réduit au sens où la palette gestuelle est réduite : c’est aussi l’espace dans lequel le corps évolue qui se voit rétrécir. Le corps n’est plus tout à fait engagé dans la pratique, c’est finalement la machine qui accomplit automatiquement les tâches, nous privant au passage de la satisfaction de l’ouvrage. Comment, alors, le numérique a-t-il conditionné le travail des designeur·euses graphiques ?

    + + + +
    + + + +
    + +

    + L'étroit lien entre le numérique et le design graphique + +

    +

    L’opinion fait naturellement le lien entre le design graphique et le numérique, sans forcément questionner les origines de celui-ci. À l’instar des designeur·euses d’espace, d’objet ou textile, les designeur·euses graphiques utilisent des outils numériques. Pourtant, cela ne semble pas être un critère suffisant, sinon tous les champs du design seraient concernés par cette association. +Bien sûr, le design graphique se retrouve sur des supports numériques tels que les sites webs ou le design d’interface. Mais revenons un instant à ce que sont le graphisme et le numérique, de la façon la plus élémentaire possible.

    +

    Le mot graphisme vient du latin graphicus, du grec ancien graphikos, issu de graphein « écrire, dessiner, marquer une surface par une entame, creuser, entailler, tailler légèrement ». En linguistique, il correspond à la « manière de représenter le langage par l’écriture »Rey Alain, Dictionnaire historique de la langue française, leRobert, 2010.. +Quand nous parlons du numérique dans ce mémoire, nous traitons en fait des données informatiques. Ces données, écrites par l’humain ou compilées par l’ordinateur qui les interprète ensuite, ne sont rien de plus ou de moins que des séries de caractères. Par leur connexion à l’écriture, les deux domaines sont donc intrinsèquement liés. +Historiquement, aussi, le lien entre design graphique et numérique est évident. Déjà dans les années 1960, l’informatique faisait son entrée dans l’histoire de l’imprimerie au travers des micro-ordinateurs dans les machines de photocomposition. Dix ans après, l’invention de terminaux d’affichage a permis la saisie de texte et la composition de ceux-ci. Plus tard, des langages standardisés se développent pour permettre de décrire la structuration des documents destinés à être mis en pageBlanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 5.

    +

    Simultanément, l’émergence des premiers ordinateurs personnels, a rendu nécessaire la production d’interfaces familières et compréhensibles pour les non‑initié·es. C’est ainsi que sont nés les paradigmes de travail auxquels les designeur·euses graphiques sont habitué·es : le WIMP, Window Icon Mouse PointerFenêtre, icône, souris, curseur. et, dans les logiciels de création graphique, le WYSIWYG, What You See Is What You GetCe que vous voyez est ce que vous obtenez., qui est actuellement le plus répandu dans les logiciels propriétaires. Ces nouveaux paradigmes de travail ont modifié les conditions de celui-ci pour les designeur·euses graphiques, impactant au passage leur aliénation.

    + + + +
    + + + +
    + +

    + L’impact des pratiques numériques sur l’aliénation du·de la designeur·euse graphique + +

    +

    En suivant la lignée de l’informatique personnelle, les interfaces des logiciels propriétaires reposent sur des affordances similaires à la « Métaphore du bureau » d’Alan KayIntroduite en 1980 avec la sortie de l’ordinateur personnel Xerox Star.. Les objets virtuels, comme la corbeille, illustrent l’action à laquelle ils correspondent. Sur Photoshop par exemple, on dessine au crayon et on emprunte à l’argentique ses outils de retouche lumière pour régler la densité d’une image.

    +

    Depuis son avènement sur le marché du logiciel, notamment avec le logiciel de mise en page PageMaker (encore édité par Aldus à la sortie du Macintosh de 1984), Adobe n’a eu de cesse de simplifier le travail des designeur·euses et autres professionnel·les de la création graphique. N’étant plus obligé·es d’avoir recourt à la photocomposition, i·els ont pu passer moins de temps sur leurs expérimentations et, de fait, les pousser plus loin et être plus productif·vesJe fais ici référence à des productions telles que celles de David Carson ou de la revue Emigre Magazine..

    +

    De la même façon, la société Adobe promeut la simplicité d’utilisation de ses outils. Adobe CS6 était mis en avant avec l’argument suivant :

    +
    « Innovez sans avoir à vous former à de nouveaux logiciels. Exploitez des outils familiers pour donner aisément libre cours à votre créativité au sein d’un univers élargi d’applications de création. »Adobe.com, citation tirée d’un écrit de Kévin Donnot, « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115.
    + +

    Il semble essentiel de questionner la pertinence de cet argument de vente pour les designeur·euses graphiques qui, de par leur pratiques spécialisées, utilisent quotidiennement ces outils. Avons-nous réellement besoin d’un logiciel clé en main ? N’ayant plus besoin d’avoir recours à des techniques spécialisées, nous pouvons (comme n’importe qui d’autre), obtenir rapidement un résultat satisfaisant. Maintenant que les logiciels ne sont plus nouveaux, ce gain de temps semble se faire au détriment de l’apprentissage et au profit de la productivité. L’enjeu ne semble alors plus être de libérer du temps pour expérimenter mais d’accélérer la cadence de production.

    +

    En outre, les évolutions esthétiques émanant de l’invention de la PAO montrent que les paradigmes de travail influent sur la manière d’interagir avec la machine. Les designeur·euses graphiques doivent prendre conscience que chaque interface prédéfinie possède « son propre cadre et schéma de pensée »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. qui, par l’utilisation automatique d’un même outil, finit par prendre le dessus sur l’autonomie du·de la designeur·euseNous aborderons plus tard l’influence de l’outil sur la forme.. L’étendue des fonctionnalités des logiciels Adobe semble, au premier abord, offrir un champ des possibles « infini », mais comment un seul outil pourrait-il correspondre à tous les projets ?

    +
    +« Ne serait-il pas pertinent de choisir ou d’adapter le logiciel utilisé au projet qu’il sert ? »Donnot Kévin , « Faire avec  Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll.« Outils, médias, savoirs », 2020, p. 95-115. +
    + +

    ...et, par la même occasion, d’adopter une approche située vis-à-vis des possibilités de l’outil et de son contexte de développement et d’utilisation.

    + + + +
    + +
    + + +
    +

    + Le rapport des designeur·euses à l’outil +

    + + + +
    + +

    + Portrait du modèle économique dans lequel évoluent les designeur·euses graphique + +

    +

    Pour comprendre les rapports entretenus par les designeur·euses à leurs outils, intéressons nous au modèle économique dans lequel ceux-ci prennent place. +Le travail artistique peine à être reconnu comme travail. Dans le cas précis du·de la designeur·euse graphique, i·el a commencé par une position de travailleur·euse technique, au sein des ateliers médiévaux de copistes ou de ceux des ouvrièr·es typographesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. p. 301. Le mythe du « génie créatif »Ibid. Traduction de l’expression creative genius employée par l’auteur. de la Renaissance ne refait son apparition dans le design qu’à partir du dix‑neuvième siècle.

    +

    Bien que John Ruskin et Karl Marx voyaient l’activité artistique comme non-aliénée, par l’épanouissement trouvé dans l’exécution d’une œuvre à la fois utile et satisfaisante pour l’unLaski Gary, Le design« : Théorie esthétique de l’histoire industrielle, Philosophie; Université Paris-Est, 2011. et par opposition au travail et à la concurrence pour l’autreBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., la culture professionnelle contemporaine fait des designeur·euses graphiques les travailleur·euses idéaux·ales pour le néo-capitalisme. Ce métier-passion, qui n’est pas qu’un emploi puisqu’il pourrait aussi être épanouissant, permet aux capitalistes (les employeur·euses et, dans une certaine mesure, les commanditaires) de tirer profit de l’engagement des designeur·euses et de les soumettre à des conditions de travail inacceptablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254.. Il n’est pas rare qu’un·e designeur·euse travaille au-delà du temps prévu sans être rémunéré·eCe que Marx appelle le surtravail, permettant de produire la plus-value., alors que son employeur·euse en tirera profit.

    +

    On retrouve ici cette question du temps : il y a un manque de temps pour expérimenter et, pourtant, des heures supplémentaires travaillées. Ce qui pose problème, c’est l’emploi du temps du·de la designeur·euse qui se consacre à la production capitaliste plutôt qu’à l’enrichissement de sa pratique et son épanouissement dans celle-ci. Je ne blâme ici nullement les designeur·euses, mais le modèle économique aliénant dans lequel i·els travaillent et qui ne leur laisse pas forcément le choix.

    +

    Au sein de ce modèle économique, les technologies occupent une place centrale. L’essentiel des licenciements dans le design graphique sont liés aux évolutions technologiquesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. : l’arrivée de la PAOPublication Assistée par Ordinateur. a fait disparaître des emplois au sein de l’imprimerie et, plus récemment, de nombreux·ses graphistes se sont retrouvé·es en difficultés lorsque les technologies standard du Web ont pris le dessus sur Flash, qui a cessé d’être pris en charge par Adobe en 2020.

    +

    La suite Adobe, qui paraît être indispensable au travail de designeur·euse graphique, relève d’un abonnement mensuel coûteux67,01 euros par mois, sans réduction, le 27 novembre 2023. ne rendant les outils accessibles qu’à celleux dont la pratique génère de l’argent et fait appel quotidiennement aux logiciels Adobe. Ce coût peut aussi représenter un frein à la multiplication des outils. Beaucoup de version piratées sont en circulationGrootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche-28, 2022, p. 59‑88. mais elles ne suffisent pas toujours car elles ne permettent pas de faire de mises à jour, alors même que beaucoup d’imprimeur·euses et de sociétés de production travaillent avec les dernières versions. Une version antérieure manquera de certaines fonctionnalité, mais le logiciel ne devient pas obsolète puisqu’il existe une forme de rétro-compatibilité. Celle‑ci ne va que dans un seul sens, sans retour en arrière possible d’une version plus récente à une version datée. Heureusement, il est toujours possible aujourd’hui d’enregistrer ses fichiers de travail pour la version CS6, la dernière Adobe Creative Suite, licence « peprpétuelle » qui s’est arrêtée en 2013 pour passer au tout dématérialisé avec un abonnement dans le Cloud.

    +
    + + + +
    + +

    + Complications éthiques de l’outil propriétaire + +

    +

    Le passage des logiciels nécessitant un achat unique non-relié à un compteÀ l’image des formats physiques, comme le CD, mais aussi certains logicels dématérialisés. aux logiciels dématérialisés soumis à un abonnement ne sert qu’Adobe, pas les designeur·euses graphiques. Ce fonctionnement force l’utilisateur·ice à s’abonner car il faut être connecté·e pour utiliser l’outil, travailler sur sa production (les fichiers de travail sont par défaut enregistrés en format propriétaires et ne peuvent être ouverts qu’avec l’outil adéquat, comme le .ai d’Illustrator) voire même accéder aux fichiers puisque l’entreprise encourage aussi au stockage des fichiers de travail sur le cloud Adobe. La production ne peut donc pas exister sans l’outil tant qu’elle n’est pas finalisée et exportée dans un format souvent non-modifiable.

    +

    D’autre part, dans le capitalisme vu par Karl Marx, le·a travailleur·euse se retrouve en concurrence avec la machineFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll.« Les Chemins de la philosophie ». en terme de capacités de production et d’efficacité. Aujourd’hui, l’idée pourrait être transposée aux craintes de certain·es designeur·euses vis à vis du développement des intelligences artificielles qui tendent à se retrouver dans les logiciels de l’industrie. Adobe, par exemple, a introduit l’IAIntelligence artificielle. dans Photoshop. Ironiquement, ces IA sont alimentées par l’enregistrement de la production des designeur·euses, lorsqu’iels utilisent le logiciel, sans consentement explicite de leur part (une option qui peut être désactivée mais sur laquelle il n’y a pas eu de communication).

    +

    L’argument principal pour l’utilisation des IA est, à nouveau, le gain de temps. On retrouve l’idée de l’emploi du temps : que permet-il réellement ? En exécutant les tâches fastidieuses et peu satisfaisantes, comme le détourage, elles peuvent permettre d’alléger la charge de travail du·de la travailleur·euse, qui n’aura pas à effectuer ces tâches. Si c’est à ça que le temps économisé sert, il peut être intéressant comme lorsque William Morris ne rejette pas la machine qui permet de faire sans effort les tâches fastidieuses et nécessaires à la sociétéMorris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.. Cela dit, il semble que ce gain de temps permette surtout aux travailleur·euses de passer à d’autres tâches et, de fait, d’être plus productif·ves sur un même temps de travail : les avancées techniques des outils n’ont ni raccourci les journées de travail ni supprimé les heures supplémentaires.

    +
    + + + +
    + +

    + Faire avec, s’accommoder de l’outil plutôt que de se l’approprier + +

    +

    Puisque les outils Adobe règnent en maîtres sur l’industrie, les designeur·euses graphiques sont contraint·es de « faire avec » ceux-ci  i·els les utilisent, se débrouillent, s’en accommodentKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit.. Cette expression traduit « la relation actuelle de la majorité des designers graphiques à leurs outils de travail. Une relation pauvre, réduite à un rapport instrumental » Ibid. au logiciel. +L’outil est utilisé comme un moyen, sans forcément être considéré comme une fin (c’est même sa définition). Pourtant, face au monopole d’Adobe et les problèmes qu’il soulève, il est urgent de problématiser les relations qu’entretiennent les designeur·euses graphiques avec leurs outils. Bien sûr, un outil Adobe est efficace. Mais est-il le seul moyen ? L’outil semble offrir bien d’autre aspects à étudier que l’effet qu’il produit, ne serait-ce que la manière dont cet effet est produit et ce qu’il produit sur son utilisateur·ice.

    +

    On comprend d’instinct comment et pourquoi le fusain laisse une trace sur une feuille. Pourtant, nous ne réalisons pas tout à fait les mécanismes qui permettent à notre outil de générer du flou sur une image, ou de régler automatiquement le crénage d’un paragraphe. +Cette part de mystère s’apparente au concept de boîte noireThéorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque. : l’outil est appréhendé empiriquement, on peut déduire le résultat d’une action et décider de l’utiliser sans comprendre ce qui se passe dans les rouages internes de la machine. La boîte noire nous dépossède de l’outil compte tenu du fait que nous ne sommes plus en pleine capacité de le comprendre et de le contrôler. La machine est automatisée et effectue les tâches à notre place. On pourrait dire que la machine crée « toute seule » ou, en tout cas, qu’elle réalise elle‑même les idées du·de la designeur·euse graphique. C’est peut-être parcequ’il y a un besoin de contrôle de l’outil et de compréhension de celui-ci que, dans les écoles d’art, une forme jubilatoire de retour à l’artisanat émergeMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022. au travers de l’usage d’outils non-numériques.

    +

    fig. 1 Schéma d’une boîte noire, Adrien Moyaux, licence CC-BY-SA.

    +

    On ne cherche bien sûr pas ici à éliminer les machines (ou les logiciels) mais de s’assurer qu’elles ne dénaturent pas le travail humain. S’il y a une automatisation, une boîte noire, il faudrait qu’elle ne serve que pour la « pacotille »Morris William, Comment nous vivons, comment nous pourrions vivre, op. cit., les tâches chronophages que nous évoquions plus tôt. Quand bien même, il serait toujours pertinent de comprendre le fonctionnement de nos outils pour éviter de ne dépendre que d’un outil qu’on pense maîtriser mais que nous serions incapables de reproduire ou de réparer en cas de bug.

    +
    + +
    + +
    +

    + Quelle critique de l’outil pour la discipline ? +

    + + +
    + +

    + L’industrie, le déterminant de l’outil + +

    +

    En travaillant avec des logiciels tout-en-un, les tâches anciennement exécutées par des spécialistes ou avec des moyens de production spécifiques deviennent de simples fonctionnalitésGrootens Joost, « Tools R Us », op. cit.. L’outil numérique permet à la machine d’abriter tous les ateliers, faisant du·de la designeur·euse graphique un·e opérateur·ice de celle-ci. Un même outil sert à effectuer les tâches d’un·e typographe, d’un·e compositeur·euse, d’un·e metteur·euse en page… et de nombreux·ses autres. Le prix de l’économie de temps et de moyens (plus besoin de communication entre divers services, et moins de personnes à rémunérer sur un projet), est celui de la disparition de certains savoir-faire.

    +

    Comme tout est automatisé, le·a designeur·euse peut se fier à ce que produit la machine sans pour autant s’assurer que le résultat est optimal, puisqu’i·el n’a pas la maîtrise de tous les métiers qui ont pu constituer la chaîne de production graphique. Il semble d’ailleurs difficile pour un·e seule personne d’être parfaitement qualifiée à tous les niveaux.

    +

    Lorsqu’il parle de l’avénement de la PAO, Paul BrainerdLe co-fondateur d’Aldus, qui éditait Pagemaker à l’époque, entendu dans le documentaire Graphic Means: A History of Graphic Design Production de Briar Levit, op. cit. fait un constat similaire :

    +
    +« Je suis consterné par l’amateurisme de certaines compositions. On était très méticuleux, mais on faisait des erreurs. Et quand on en faisait, je pensais, ‹ Oh mon dieu, j’aimerais qu’on ait encore des compositeurs compétents pour faire ce travail. Nous sommes des amateurs. › » +
    + +

    En outre, les grands outils propriétaires utilisés par les designeur·euses graphiques sont des produits qui appartiennent à des entreprises (Adobe, Apple, Microsoft, Meta, Linotype...) ayant plus de comptes à rendre à leurs actionnaires qu’à leurs clients. En développant ces outils, elles créent le code mais aussi les standards, les interfaces, les plateformes et les filtres qui façonnent et influencent le design graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op.cit. p.390 à 392.. Par leur simplicité d’utilisation, ces outils sont plus accessibles pour des usages amateurs. Mais, tous ces pré-réglages ne sont-ils pas déterminants de la forme finale de la production graphique ?

    +
    + + +
    + +

    + L’influence formelle de l’outil sur les productions de design graphique + +

    +

    Le conditionnement et les pré-réglages des outils portent une influence sur l’usage qui peut en être fait. Loin du rapport de cause à effet rationnel (le texte est à cette taille par défaut, je le laisse tel quel) mais plutôt de l’ordre d’un effet mystérieux, irrationnel et insidieux. Il semble que les paradigmes de travail et les pré-réglages conditionnent la création du de·la designeur·euse graphique, sans qu’i·el en ai conscience. +Paradoxalement, l’outil est rempli de réglages rationnels. Les menus et paramètres ont des valeurs par défaut, issues des choix des producteur·ices d’outils, et sont donc le reflet d’une certaine conception du design graphique. En limitant le nombre de ses outils, on réduit par la même occasion le champ des possibles et la variété des approchesGrootens Joost, « Tools R Us », op. cit.. +La domination d’un outil risque aussi de conduire à une pratique spécifique, mais limitée. Edward R. Tufte soutenait par exemple que le recours systématique à PowerPoint modelait une même structure hiérarchisée pour tous les diaporamas, puis à toutes les présentations de contenu, transformant « l’information en argumentaire de vente et les présentateurs en marketeurs »R. Tufte Edward, The Cognitive Style of PowerPoint, 2003.. Nullement liées à un manque de créativité des designeur·euses – de nombreux travaux originaux ont été produits grâce aux outils d’Adobe – ces limites émanent simplement de l’enfermement de la créativité dans un seul paradigme logiciel.

    +

    Le designer graphique Elliot Ulm a mené l’expérience suivante : utiliser toute une série de logiciels différents pour la réalisation d’une même idéeUlm Elliot, « i made the same design in every program ever ».. Bien que l’idée d’origine soit la même, chaque production est différente. Dans son comportement, que nous analysons à partir de la vidéo qu’il a produiteIbid., il travaille avec les outils qu’il connaît en conservant ses automatismes et aborde les outils « nouveaux » par un moment de découverte au cours du quel il fait l’expérience des fonctionnalités, effets, réglages et/ou pré-sets disponibles. Cette phase expérimentale se ressent dans sa production, il arrive qu’il prenne la liberté de faire varier ses compositions en fonction des possibles de l’outil utilisé.

    +

    Quand il utilise Publisher [fig. 2], par exemple, il fait appel aux pré-sets du logiciels en guise d’éléments graphiques. Le résultat obtenu aurait été réalisable avec un autre logiciel, mais Elliot Ulm aurait-il eu l’idée d’utiliser des blocs textuels ? Quand bien même cela aurait été le cas, ces éléments graphiques n’auraient sûrement pas eu tout à fait la même forme. C’est aussi en expérimentant avec les textures inclues dans l’outil PicMonkey [fig. 3] qu’il a eu l’idée d’ajouter des textures, un choix encore inédit à ce stade de la vidéo. De la même façon, c’est parce que l’outil KidPixUn logiciel pour enfant, peut-être encore plus libérateur par son aspect désinvolte [fig. 4] lui a suggéré, à l’export, d’ajouter un effet 3D qu’il a fait le choix de l’ajouter.

    +

    fig. 2 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Microsoft Publisher</em>.

    +

    fig. 3 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MonkeyPic</em>.

    +

    fig. 4 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>KidPix</em>.

    +

    L’utilisation d’éléments 3D sur Powerpoint [fig. 5] semble elle aussi influencée par leur disponibilité dans le logiciel. Au-delà des éléments graphiques pré-existants, on peut remarquer que l’affiche produite avec PowerPoint utilise la police de caractère Calibri, proposée par défaut par le logiciel. Peut être que le (non-)choix typographique aurait été différent si la police par défaut avait été Arial ?

    +

    fig. 5 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>PowerPoint</em>.

    +

    Enfin, les outils très limités comme Microsoft Paint [fig. 6] influencent la forme au travers du tout petit champ des possibles proposé. La production d’Elliot Ulm est transparente sur la question de l’outil : elle a été produite à l’aide d’un logiciel qui n’abrite que des fonctions de dessin.

    +

    fig. 6 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>MS Paint</em>.

    +

    Pour les logiciels « jumeaux », qui ont des interfaces et des fonctionnements similaires tels Photoshop [fig. 7] et Photopea [fig. 8] ou Inkscape [fig. 9] et Illustrator [fig. 10], sa méthode de travail a été similaire pour chaque duo. Il s’est appuyé sur les mêmes fonctionnalités et a adopté des méthodes de travail identiques à partir de ses automatismes. Pour Photoshop et Photopea, en particulier, l’interface est sensiblement identique. Il a donc pu proposer deux affiches très proches et n’a pas cherché à renouveler les formes produites.

    +

    fig. 7 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photoshop</em>.

    +

    fig. 8 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Photopea</em>.

    +

    fig. 9 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Inkscape</em>.

    +

    fig. 10 Capture d’écran de la vidéo d’Elliot Ulm, montrant sa production avec le logiciel <em>Illustrator</em>.

    +

    Le dernier aspect déterminant est la façon dont les designeur·euses agissent souvent par « sélection »Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011., c’est à dire en faisant des choix entre différentes options qui fonctionnent bien, selon des réglages précis, qu’i·els sélectionnent sans les créer i·els même, et qui ne laissent aucune place au hasard ou à l’erreur. L’outil fait parfaitement ce qu’il est supposé faire, ce sont les décisions prises par le·a designeur·euse et la combinaison des sélections qui créent la qualité de la production. +Il y a toute fois une trop petite marge de manœuvre, un manque de personnalisation dans les outils habituels. Avec les outils propriétaires, il est plus difficile de développer une singularité, sans laquelle il ne peut y avoir de création. En réponse à ces critiques, Adobe a permis l’intégration de plug-ins qui peuvent ouvrir à de nouveaux usages sans modifier fondamentalement l’application. Ils sont développés par Adobe, ou en « partenariat » avec des développeur·euses externes. Il n’est donc pas possible de développer un plug-in personnalisé. +ExtendScript Toolkit, une API d’Adobe, permet d’interagir avec ses logiciels par du code informatique plutôt que l’interface graphique habituelle et d’imaginer de nouvelles méthodes de travail. Malheureusement, le projet est faiblement documenté et l’éditeur de script plutôt aride. Il y a bien le projet Basil.Js, par l’Académie d’art et de design de Bâle, qui cherche à simplifier l’accès à l’API d’Indesign mais il est peu suivi. Il a toutefois permis au projet Scriptographer de voir le jour, bien que le projet ai été abandonné au profit de Paper.Js, un équivalent s’appuyant plutôt sur les technologies ouvertes du WebLehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012..

    +
    + + +
    + +

    + L’école, avant d’intégrer l’industrie + +

    +

    Les outils maîtrisés par les designeur·euses graphiques sont, pour la plupart, ceux qui leur ont été enseignés à l’école. Bien que les outils se soient démocratisés et que le design graphique soit devenu beaucoup plus accessible, l’école et l’industrie restent toujours très connectées.

    +

    En effet, les méthodes et les compétences acquises à l’école façonnent l’industrie qu’elles intègrent en même temps que les jeunes designeur·euses graphiques entrant dans le monde professionnel. Dans l’autre sens, le design graphique est aussi enseigné pour répondre aux besoins de l’industrie et rendre les étudiant·es sortant·es employablesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it,op.cit., p. 348.

    +

    Nonobstant, l’école ne peut se contenter de simuler le « monde réel »Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit. et de délivrer des entry-level skillsIbid., p. 53‑63., compétences de base qui permettent de trouver un emploi et de pouvoir être en compétition loyale avec les diplômé·es sortant·es. +Les écoles sont en effet des terrains intéressants pour reconfigurer les pratiques de design graphique et repenser le rapport du·de la designeur·euse aux outils. Cela pousserait les écoles à retrouver une position centrale dans les débats sur le design graphiqueComme récemment lors des conférences organisées à Bruxelles ou Cambrai., plutôt que de former tout particulièrement à une pratique du design spécialisée, au profit des besoins de l’industrie et des entreprises, en formant les étudiant·es uniquement (ou presque) à ces moyens de production. Pour cela, il est impératif que l’école soit indépendante des grandes entreprises et puisse prendre de la distance avec les volontés gouvernementales et individuelles de former des designeur·euses prêts pour le marché du travail.

    +

    Il faut alors accepter que l’école ne mène pas forcément à un emploi de designeur·euse graphique prédéterminé. Dans les écoles gérées par le ministère de l’éducation nationale, la réforme du DN MADe va en ce sens : la pratique va vers la théorie, la conceptualisation, la recherche. La volonté de masterisation du DSAA confirme cette inclinaison de l’école à s’orienter vers la recherche, au sens d’une étude critique avec ses questionnements et incertitudes, en opposition à l’enseignement de savoirs et savoir-faire arrêtésHuyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017, p. 27.. L’idée est que la théorie puisse s’immiscer dans les pratiques autres que celle de l’écriture, et de mettre ces pratiques en regardop. cit..

    +

    Malgré tout, dans les cursus, l’étude théorique passe après les bases de la pratique et c’est seulement à un niveau supérieur que l’étudiant·e se retrouve face à l’histoire, la théorie et à des perspectives plus larges sur le designSwanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », op. cit.. À l’ésad d’AmiensÉcole supérieure d’art et de design d’Amiens, gérée par le ministère de la culture., les étudiant·es bénéficient de deux cours théoriques« Histoire des dispositifs de l’image » et « Histoire du graphisme ». contre huit cours de pratique« Graphiques communication visuelle et médium » et « plastiques artistiques ». Les informations sur le cursus sont tirées du mémoire de Guillaume Tourscher, « Le graphisme entre {artisanat, industrialisation, hybridation}» rédigé de 2021 à 2022 pour son DNSEP à l’ésad d’Amiens.. L’institut supérieur des arts et du design de Toulouse propose par exemple, certaines semaines, des créneaux dédiés à des enseignements théoriques sous forme de séminaire. Elle accorde à ces matières une « place de choix [...] parce qu’elles sont elles-mêmes des pratiques, un moyen de la pensée venant à la rencontre du langage de l’artiste » et défend l’importance de l’articulation entre réflexion théorique et expression artistiquePrésentation du Cycle 2, option design graphique de l’école dans le Livret de l’étudiant·e en art, design, design graphique 2023 - 2024, à l’adresse https://livret.isdat.fr/impression, consulté le 04/01/2024.. Il arrive pourtant que cette orientation théorique soit critiquée par les enseignant·es et les professionnel·lesLe sujet a été évoqué de façon informelle lors de l’entretien de mi-stage de DSAA entre mes tutrices et l’enseignant qui s’occupait du suivi pédagogique. qui pensent que l’enseignement devrait reposer sur un apprentissage technique qui rendrait efficace pour intégrer le marché dès la sortie de l’école. Mais alors, l’école nous apprendrait à entrer dans le moule de l’industrie, à se soumettre au marché et à l’exploitation et à devenir des catalogues de compétences plutôt qu’à développer une pensée du métier. Si le travail participe au développement de capacités nouvelles, ces compétences ne pourraient-elles pas être en partie acquises et solidifiées grâce à celui-ci ?

    +

    Il ne s’agit pas ici de n’étudier que de la théorie, la pratique et la maîtrise de savoir-faire spécialisés restent fondamentales au métier de designeur·euse graphique. L’école doit tout de même continuer à former au milieu professionnel, en trouvant le juste milieu pour rester un lieu propice au développement d’une pratique personnelle et d’un positionnement détaché de l’industrie.

    +

    Plutôt que d’apprendre, par exemple, à utiliser tel ou tel logiciel, les étudiant·es pourraient être formé·es à des logiques logicielles plus générales et préparé·es à de possibles futurs du design plutôt qu’à répondre aux attentes actuelles de l’industrie. D’ailleurs, en dépit de l’omniprésence des logiciels Adobe sur les curriculum vitae des étudiant·es Grootens Joost, « Tools R Us », op. cit., le référentiel du diplôme de Dn MADe préconise « de ne pas s’en tenir à des logiciels ou technologies propriétaires mais d’explorer également le champ des logiciels et technologies libres »JO №0253, 30 octobre 2022, texte №23 ainsi que celui de la programmation.

    +
    + +
    + + + +
    + + + + +
    + +

    + Comment nous pourrions travailler +

    + +
    +

    + Se positionner vis-à-vis de la production comme travail, comme ouvrage et comme ensemble de forme +

    + + + +
    + +

    + Puiser dans les modèles existants pour repenser le rapport au travail + +

    +

    Les derniers propos nous ont permis de mettre en évidence la nécessité de repenser le modèle de travail des designeur·euses graphiques. La suite de ce mémoire cherche à dessiner des possibles réalisables, à la façon d’une utopie concrète, qui partent de la réalité contemporaine pour tendre vers un idéal. La première chose à faire serait de regarder autour de nous, et en arrière, pour puiser dans des modèles existants.

    +

    Dans les ateliers médiévaux des copistes, le travail se faisait collectivement et de façon anonyme, sans parler d’auteur·icesPater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit., à la façon des collectifs de designeur·euses. De même, les typographes de la révolution industrielle étaient avant tout des ouvriers, organisés entre ell·eux et touché·es par les même problématiques que tous·tes les prolétairesBoutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste, Marseille, 2019.. C’est le partage du travail, et la collectivité, qui ont permis aux « confréries typographique »Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33. parisiennes de la révolution française d’être solidaires face aux corporations et de développer une morale du métier, qui passe par l’entraide (avec des caisses de solidarité), l’apprentissage (puisque la qualification de l’ouvrier est ce qui doit lui donner de la valeur), une juste rémunération et la liberté de s’établir à son compte. Les ouvrièr·es typographes disent elleux-même :

    +
    +« Nous sommes redevenus propriétaires de notre industrie. »Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvrièr·es imprimeur·euses de Paris, Monographie par par M. L***, apprenti imprimeur. +
    + +

    Pour les designeur·euses graphiques contemporains, l’organisation politique de la profession pourrait permettre de faire preuve de solidarité face à l’exploitation capitaliste.Le propos sera plus développé dans l’écrit en annexe de ce mémoire.

    +

    Le modèle de l’artisan·e serait aussi, selon William Morris, moins difficile à supporter car dénué de maître unique et de division du travail. Le labeur serait alors plus doux : il n’y a pas la pénibilité de travailler sur une même tâche, le travail est varié et l’artisan·e a la satisfaction d’achever son ouvrage. Cette vision de l’artisan·e médiéval est nuancée par les historienne de l’art mais, en tout cas, cette théorie hérite de la considération médiévale du travail comme un problème moralMaillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit. : Quod omnes tangit ab omnibus tractari et approbari debet, maxime tirée du droit romain impérial et principe constitutif des coroporation de l’époque médiévale : Ce qui concerne tout le monde doit être décidé par tout le mondeCONGAR, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259. Un principe de mutualité, associé à la disparition de l’individualisme au profit de la beauté de l’ouvrage et une maîtrise technique permise par un enseignement professionnel entre maîtres et apprentis, dans des ateliers faisant aussi office de lieux de vieCollectif Ressources, « Le code du travail au Moyen Âge, les corporations en France »..

    +

    En regardant vers d’autres modèles que celui du néo-capitalisme, nous pouvons repenser notre rapport à l’ouvrage et, peut-être, trouver des moyens de réinvestir la morale et le plaisir dans le travail.

    + + + +
    + + + +
    + +

    + Puiser dans les modèles existant pour repenser le rapport à l’ouvrage + +

    +

    L’artiste-artisan·e nous intéresse pour redéfinir le rapport du·de la designeur·euse graphique à l’ouvrage, comme œuvre et non pas simple produit. D’une certaine façon, nous posons le même regard que le mouvement Arts & Crafts sur l’artisanat. Si Morris et Ruskin s’opposaient à l’industrialisation de masse et la modernité de leur époque, nous nous devons d’être lucide quant à cette recrudescence du mythe de l’artisan dans nos pratiques à l’heure d’une digitalisation de masse JACQUET Hugues, L’intelligence de la main, l’Harmattan, coll. « Logiques sociales », 2012. . Semble-t-il alors qu’il y a dans notre contemporanéité un malaise face aux conditions techniques de notre modernité.

    +

    Il y a chez l’artisan·e un goût du travail bien fait qui fait entrer le plaisir dans le travail, alors même que celui-ci est présupposé subi, difficile, laborieux. Il y a supposément autre chose que ce simple « travail » ; une activité foncièrement libre qui n’est pas centrée sur le schéma de production, consommation, consumation. À partir de l’élan spirituel pour le travailAu sens d’un élan moral, de l’esprit., on peut aussi redéfinir le rapport entretenu aux productions. Dès lors que le·a designeur·euse graphique n’est plus uniquement un personne dotée des compétences nécessaires pour rendre des services spécialisés, il faut redéfinir ce qu’est l’usagèr·e. En accordant plus de temps, d’effort et de plaisirUn plaisir tiré de l’effort, du goût du bel ouvrage. à la production, à l’instar de celle des objets artisanaux, on pourrait lui donner plus d’importance, s’en satisfaire au-delà de l’éphémère, de la consommation-consumation. L’usagèr·e ne serait plus dans un rapport de consommation d’un « beau » design graphique (l’identité visuelle qui ne dure qu’un temps et suit la tendance esthétique actuelle) mais plutôt d’utilisation d’un design graphique aussi fonctionnel qu’esthétique (l’identité peut servir, et reste « belle » des années après sa production). Pour définir ce que peut-être un graphisme fonctionnelQui reste esthétique, « beau » au sens que lui donne Morris : sa beauté n’est pas un frein à l’utile, elle émane de la qualité de sa conception., et non subjectivement « beau », nous pourrions nous appuyer sur le schéma [fig. 11]Papanek Victor, Design pour un monde réel, titre original«  Design for the Real World: Human Ecology and Social Change, publication originale en 1971, Les presses du réel, 2021. de Victor Papanek sur l’ensemble de fonctionExplicité en annexe de ce mémoire..

    +

    fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit.

    +

    Repenser le but de la production de design graphique permet aussi, comme le critical graphic designChancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p 66-70. le fait déjà, de ne pas se contenter de produire mais aussi de prendre du recul tant sur les productions en tant que sujets que, plus généralement, sur la production de signes et ses moyens. Ce pas de côté suggère de se donner le temps de chercher, de se tromper, d’errer comme méthode de travail. Avoir une pratique de recherche, s’ouvrir au monde et aux autres (sujets) et ne pas simplement répondre à la commande du·de la client·e ou aux ordres du·de la patron·ne, permet de donner à penser en mettant en péril les idées pré-conçues pour remettre sa production en question et s’en distancerIbid.. Cette posture critiqueDu latin criticus « capable de discernement, de jugement », la posture critique suppose de ne pas s’en tenir aux affirmations et aux idées validées mais plutôt de les étudier de près et d’en tirer des conclusions sur ses conditions, conséquences, limites et contradictions. peut aussi se faire au travers de l’organisation d’expositions, de rencontres, d’écrits. Le·a designeur·euse graphique adopterait une méthode de travail composite, mêlant différentes « compétences » ou « activités » et osant faire l’expérience ce qui peut a priori sembler étranger au champ du design graphique. Cette pratique serait aventureuse et réellement expérimentale, au sens où elle se façonnerait dans ses interactions le monde et ses expériences vécues.

    + + + +
    + + + +
    + +

    + Ouvrir le champ des possibilités formelles + +

    +

    Lors de la restitution orale la plupart de mes camarades ont eu des réactions positives :

    +

    « L’outil n’est pas parfait, c’était plus long mais aussi plus sensible. Le logiciel a fait varier la taille de certains glyphes, ces incidents ont apporté une sensibilité au projet. »Citation issue de la restitution orale du projet.

    +
    +« J’avais l’impression que la confrontation à une technologie nouvelle réduirait les intentions et les ambitions esthétiques, mais pas du tout. On perçoit une sensibilité, de l’imaginaire, on sent que c’est fait par des graphistes. »Idem. +
    + +
    +« On a choisit d’utiliser les outils différement, d’inventer de nouveaux procédés. Ça nous a fait chercher tout son potentiel. Détourner l’outil c’est aussi la capacité du designer graphique à passer outre les habitudes et a explorer de nouvelles idées.»Idem. +
    + +
    +« L’expérimentation est à l’origine de la forme, toutes les contraines de l’outil ont influé. Avec la mise en page en html/css, on a trouvé d’autres possibilités de mise en page en mouvement. »Idem. +
    + +

    Pour le projet d’Inès et Axelle [fig. 12 et 13], qui ont fait le choix de n’utiliser qu’un outilGlyph Drawing Club, un outil de dessin modulaire, à partir de glyphes typographiques, développé par Heikki Lotvonen., les formes du personnage et de la typographie de titrage émanent clairement du fonctionnement de l’outil. Les différents glyphes utilisés sont encore identifiables et il aurait été compliqué pour les designeuses de s’émanciper de cet aspect sans altérer complètement l’outil. Si les outils libres sont plébiscités pour leur ouvertureTechnique, dans ce cas, mais aussi pour la collaboration, nous en parlerons plus tard., c’est aussi de par leur « fermeture fonctionnelle que naît la création de formes singulières et originales »Maudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023. lorsque le·a designeur·euse se met à investir au maximum une infinité pourtant limitée de combinaisons.

    +

    fig. 12 et fig. 13 Proposition d’Inès et Axelle pour le PPG

    + + +

    En outre, les accidents, les bugs et le hasard inhérents aux outils plus expérimentaux permettent aussi de faire naître des formes intéressantes sur lesquelles le·a designeur·euse n’a pas toujours le contrôle, le·a tirant vers d’autres possibilités formelles qu’i·el n’aurait pas forcément envisagé. Le collectif bruxellois Luuse, qui développe ses propres outils grâce à la programmation informatique, collectionne notamment ces accidents sur son site Web [fig. 14 à 20]. Pouvoir construire ou adapter ses propres outils par le code, c’est aussi considérer la question de l’outil comme un nouveau terrain d’expérimentation créative.Donnot Kévin, Graphisme en France 2012, code outils design, Paris, France, Centre national des arts plastiques, 2012.

    +

    La collecte de cette matière graphique est aussi une façon pour elleux de garder une trace de toutes les formes inattendues produites par leurs expérimentations ou les accidents techniques, et de partager une partie souvent invisibilisée du processus de production. Pour un même projet, de nombreuses formes sont produites par le collectif avant d’arriver au résultat final.

    +

    fig. 14 Affiche extraite du projet « Open Call - Design Parade » par Luuse.

    +

    fig. 15 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 16 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 17 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 18 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 19 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    fig. 20 Capture d’écran issue du site screenshots.luuse.io et probablement tirée du projet « Open Call - Design Parade ».

    +

    Le champ du design graphique n’a pas attendu les outils numériques pour bénéficier des apports d’une démarche d’appropriation des outils. L’artisan typographe Albert Schiller, qui a commencé son activité dans les années 1920, a developpé des formes innovantes en tirant parti des casseaux typographiques et de la presse pour proposer des illustrations modulaires [fig. 21 et 22]. Ce qui est intéressant est que ce détournement, qui s’apparente à une forme de hacking, est qu’il a été forké d’une certaine façon puisqu’il a inspiré l’outil numérique Glyph Drawing Club [fig. 23 et 24] dont nous parlions plus tôt.

    + + +

    Enfin, les formes produites par avec les outils libres ne correspondent pas tout à fait à une conception du « bon goût »Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979. au sens que lui donne BourdieuLe goût est déterminé par une position sociale (capital culturel et économique) et le « bon goût » ne serait en fait que celui de la classe dominante. Je considère ici que le design graphique de « bon goût » est celui qui inspire le design graphique de masse, et que l’on voit dans le paysage graphique quotidien, en opposition à des propositions plus expérimentales ou aux formes parfois plus radicales. et font souvent un pas de côté du graphisme « de masse ». C’est probablement parce que l’utilisation de tels outils se fait généralement avec un engagement éthique que les formes produites semblent elles-mêmes refléter le refus d’une esthétique formatée par les outils propriétaires (et standards dans l’industrie) comme une façon de résister au système capitaliste qui exploite les graphistes.

    + + + +
    + +
    + + +
    +

    + Hacking et culture libre +

    + + + +
    + +

    + Le modèle libre + +

    +

    Nous évoquions les outils libres comme alternative aux logiciels propriétaires, et comme solution aux différentes problématiques qu’ils soulèvent. Plus qu’un simple changement d’outil, le modèle libre s’inscrit dans un mouvement politique plus large : la culture libre. +Née en 1985 avec la publication d’un manifesteStallman Richard, « Le manifeste GNU - Projet GNU - Free Software Foundation », Système d’exploitation GNU, 1985. par l’informaticien Richard Stallman, agacé de ne pas pouvoir réparer lui‑même son imprimante à cause de la fermeture de son code source, la culture libre a un ancrage résolument politique et engagé hérité des cultures hippies et contestataires des États‑Unis des années 1970.

    +

    Le libre, qui n’équivaut pas à la gratuité puisqu’il y a des logiciels libres payants et d’autres propriétaires gratuits, repose sur quatre principes qui fixent les libertés des utilisateur·ices et contributeur·ices des logiciels.

    +
      +
    1. +

      Liberté d’utilisation pour n’importe quel usage

      +
    2. +
    3. +

      Liberté d’étude et de modification

      +
    4. +
    5. +

      Liberté de copie et de redistribution

      +
    6. +
    7. +

      Liberté de redistribution des versions modifiées

      +
    8. +
    +

    Défendu comme un mouvement social par son créateur, la culture libre a parfois vu cet aspect être délaissé pour se rendre plus séduisante pour les entreprises en promouvant l’innovation à partir des contributions de bénévoles. Dans le cas d’un logiciel propriétaire dont le code est ouvert, on parle de logiciel open source.

    +

    La transposition de la culture libre de l’informatique au design graphique a déjà été faite par des collectifs, tels que Velvetyne [fig. 25], Open Source Publishing, et dans des écrits d’étudiant·es comme Étienne OzerayOzeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014. (qui a co-fondé Luuse) ou Xavier KleinKlein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013. Elle n’est nullement étonnante puisque le logiciel est l’outil principal des designeur·euses contemporain·es. Délibérément axés vers la collaboration et le partage, ces outils intéressent aussi les designeur·euses qui cherchent à travailler ensembleMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design, op. cit. ou à partager leurs ressources.

    +

    fig. 25 Illustration des 4 libertés du logiciel libre. Poster conçu par le designer graphique Jérémy Landes-Nones pour la fonderie de caractères Velvetyne, 2016.

    +

    Au-delà du code, la culture libre a vu son intérêt s’étendre à la transmission de savoirs, à la façon du site Wikipédia, mais aussi dans le champ de la recherche universitaire voire de la littératureLe livre Copy This Book d’Eric Schrijver est diffusé sous licence CC-BY NC 4.0, en anglais depuis 2019 puis en français depuis 2023. Les versions imprimées sont disponibles à la vente en librairie, tandis que le contenu textuel est sous licence libre et peut être utilisé en suivant les recommandations de la licence CC-BY NC 4.0., et à la diffusion d’œuvres ou de typographiesAvec des fonderies libres telles que Velvetyne ou Republish, et des typothèques comme la collection de l’Atelier National de Recherche Typographique, celle de l’ESA Septante-Cinq ou encore du collectif Bye Bye Binary.. Facilitée par l’existence d’Internet et du Web, cet idéal libertaire s’inspire directement de l’idéal à l’origine de ces protocoles qui nourrissaient, déjà, une forme d’utopie.

    +
    + + + +
    + +

    + Le Web, redistributeur du pouvoir aux sujets + +

    +

    Toutes les initiatives liées à la culture libre ont pu voir le jour grâce à Internet, et au Web. Pour rappel, Internet est un protocole informatique proposé par Vinton « Vint » Cerf et qui permet la mise en réseau des ordinateurs. Le Web, de son côté, est un protocole de communication qui permet de relier entre elles des pages « Web » via un système d’adressage « http:// ».

    +

    La création de l’informatique a été motivée par une logique de contrôle et de commandement militaire, raison pour laquelle les projets étaient financés et soutenus par l’armée américaine. Cela dit, les universitaires qui les développaient (notamment celleux qui travaillaient à la création d’Internet) étaient « guidés par les idées de liberté et de coopération de la contre culture des années 1970 »Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019. p.24 des États-Unis où i·els résidaient.

    +

    Avec l’avènement du numérique, le pouvoir des individus a augmenté, grâce aux nouvelles capacités d’expression et de communication qui ont bousculé la sociabilité, la politique et la création, rendant réaliste l’utopie dont nous parlions plus tôt. Chacun·e peut maintenant s’exprimer sur le Web, un espace d’expression public et libreIbid.. De plus, la diffusion des outils numériques s’est accompagnée d’une extension des pratiques numériques des sujets. Depuis les années 1990 et la démocratisation de l’ordinateur personel, tout le monde peut avoir accès aux outils de production d’un travail de qualité professionnelle. En 1981, un français sur dix avait exercé une activité créative au moins une fois dans l’année, contre un sur quatre en 1997 et un sur trois en 2003Ibid..

    +
    + + + +
    + +

    + La place des usages amateurs dans la reconsidération du rapport des designeur·euses à l’outil + +

    +

    Selon le sociologue Olivier Donnat, les activités d’auto-production créatives utilisant le numérique ne relèvent pas que de la consommation mais aussi d’une volonté d’être dans le « faire »Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, op. cit.. Avec la généralisation de technologies simples et accessibles, tout le monde peut-être un·e designeur·euse graphiquePater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 330, en suivant la même logique que celle de la démocratisation de la production d’imprimées avec la culture DIY des années 1950 et la sortie du photocopieur commercial qui a donné l’impulsion aux fanzines de la culture punk.

    +

    En s’ouvrant aux non-spécialistes, la production de graphisme et d’images « DIY » est devenue un « levier de classe, une force politique »Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. p. 252-254, traduction libres spécifiquement pour ce mémoire. qui, au travers des usages amateurs et de l’appropriation d’outils inhérente à ceux-ci, peut nous donner des pistes pour étendre notre vision des outils de design à des outils qui, au premier abord, nous paraîtraient inenvisageables. Après tout, les premières personnes intéressées par la PAO et le graphisme sur ordinateurs n’étaient pas les designeur·euses, encore frileux, mais les informaticien·nes qui ont développé ces outilsLevit Briar, Graphic Means: A History of Graphic Design, op. cit..

    +

    C’est une partie de la démarche d’Elliot Ulm dont nous parlions plus tôt. En élargissant notre boîte à outils, quitte à aller vers l’incongru, il est possible de développer des formes particulières. Le studio Ingrid Picanyol a notamment développé l’identité de La Officina del Praque [fig. 26 à 28] à l’aide du logiciel de tableur Microsoft Excel, jusqu’ici plutôt reservé aux tâches de comptabilité. C’est en déplaçant l’outil vers le champ du design graphique que le studio a pu produire ces formes et proposer une telle hiérarchisation de l’information dans des tableaux, sans variation typographique et mettre en place une grille modulaire pour le lettrage, par exemple.

    +

    fig. 26 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 27 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +

    fig. 28 Ingrid Picanyol Studio, identité de La Officina del Praque.

    +
    + + + +
    + +

    + Pourquoi le design graphique libre ne peut se contenter d’émuler le modèle actuel + +

    +

    Le choix d’utiliser des outils libres se fait en accord avec une certaine éthique logicielle qui, pour le design graphique, ne peut se faire au dépend des considérations formelles. Prenons l’exemple du logiciel libre Scribus, souvent proposé comme alternative à Indesign, qui est un logiciel de PAO WYSIWYG avec une interface graphique comparable. Puisque les deux outils fonctionnent avec les mêmes logiques – à cela près que Scribus est largement moins efficace sur certains points techniques, comme la production de PDF imposés ou la gestion des tons directs – il est difficile d’y trouver un intérêt graphique. Le choix d’utiliser l’alternative libre semble ici ne relever que de l’éthique du·de la designeur·euse ou la collaboration avec des non graphistes.

    +
    +« Certes, on a toute liberté de l’améliorer puisqu’il est sous licence GNU, mais à quoi bon réinventer la roue si ce n’est pour apprendre ? »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit. +
    + +

    C’est en cela qu’il est important de basculer notre positionnement d’utilisateur·ice des outils vers un rapport de créateur·ice. L’intérêt graphique du libre réside uniquement dans son ouverture, permettant l’appropriation de l’outil et un usage circonstanciel de ceux‑ci. En basculant son positionnement, le·a designeur·euse quitte la passivité technique et se met à choisir (ou fabriquer) de façon autonomeAu sens d’un choix fait indépendamment de toute volonté d’autrui. le bon outil pour chaque projet. L’émulation des outils propriétaires et un usage passif de l’outil, même libre, ne suffit pas à émanciper le·a designeur·euse : c’est l’appropriation au travers d’une démarche de hacking, qui permet de concrétiser tous les idéaux que nous avons déjà cités.

    +
    + +
    + +
    +

    + Être designeur·euse‐hackeur·euse, ou comment l’ethos du libre pourrait s’intégrer à nos pratiques

    + + +
    + +

    + Hackeur·euse, nom commun + +

    +

    « Une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préfèrent n’apprendre que le minimum nécessaire »Collectif, « Hacker », The Jargon File 4.4.7, 29 décembre 2023, http://www.catb.org/~esr/jargon/html/H/hacker.html, traduction libre spécifiquement pour ce mémoire.. Le sens du mot « hacker » en anglais se rapproche du mot « bidouilleur·euse » en français.

    +

    Un·e designeur·euse-hackeur·euse se reconnaît à son enthousiasme et sa curiosité vis-à-vis de l’outil qui s’expriment au travers de pratiques de hacking : le détournement de l’utilisation habituelle des outils et des techniques. Une pratique expérimentale, donc, et exploratoire qui considère simultanément l’outil comme une fin et un moyen.

    +

    L’ethos des hackeur·euses s’étend aussi au-delà du logiciel. À l’instar des libristes, i·els estiment que la circulation de l’information doit être libre et non censurée, car la connaissance ouverte sert de « carburant » Cardon Dominique, Culture Numérique, op. cit. à la coopération. La coopération et le partage permettent d’apprendre des un·es et des autres et de tirer parti des contributions de chacun·es pour construire, ensemble, des projets en commun. +Pour les designeur·euses-hackeur·euses, le partage des expérimentations et l’ouverture de celles-ci, en autorisant leur usage et les forks, permettraient de nourrir réciproquement les pratiques des autres et de construire des projets par cumulationBosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021, p.24.. +À partir de petits projets, pour un usage spécifique et personnel, les contributions tous azimuts pourraient permettre à l’idée initiale de prendre de l’ampleur et de se diffuserÀ l’image du site IMDb, l’une des plus grosses bases de données collaboratives du monde qui n’était à la base qu’une base de données de films mise en ligne par un étudiant en informatique, Col Needham, passionné de cinéma.. Dans la typographie libre, les forks sont courants : la typographie Baskervvol [fig. 28] de Bye Bye Binary est un fork ajoutant des glyphes inclusifs au Baskervville de l’ANRT [fig. 29] de 2018, revival de la Baskervville de Claude Jacob de 1815 [fig. 30] qui, de son côté, est aussi un revival du caractère de John Baskerville de 1757 [fig. 31]Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023, https://genderfluid.space/lexiquni.html.

    +

    fig. 29 Glyphes inclusifs du Baskervvol de Bye Bye Binary.

    +

    fig. 30 Baskervville, ANRT, 2018.

    +

    fig. 31 Épreuves des caractères de la fonderie des frères Levrault, Strasbourg, 1800.

    +

    fig. 32 Détail d’une Biblee Baskerville pour Cambridge.

    +
    + + +
    + +

    + L’aventure du code : l’intêret des technologies du Web + +

    +

    La compréhension des logiciels ne peut se faire sans passer par l’étude de leur code sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit., de la même façon que le hacking d’outils numériques demande presque systématiquement au·à la designeur·euse graphique de passer par l’écriture ou l’appropriation de code. +Le paradigme de l’éditeur de code est à l’opposé des « simulation[s] appauvries du monde »Ibid. que sont les paradigmes WIMP et WYSIWYG. Le·a codeur·euse est en immersion dans un univers textuel, même lorsqu’i·el code pour créer du visuel (comme dans le creative coding). I·el y fixe toutes les règles sans partir de réglages pré-définis. Nous évoquions plus tôt les « boîtes noires » qui nous dépossèdent de nos outils. Face à cela, l’intêret du code est de pouvoir à la fois comprendre, adapter et fabriquer ses outils sans qu’ils ne prennent le pas sur nos décisions avec des pré-sets. « La puissance créative, c’est écrire le code du filtre, c’est décider comment il marche, ce n’est pas l’utiliser. »Donnot Kévin, Graphisme en France 2012, code outils design, op. cit.

    +

    Différents langages et outils peuvent servir à faire du design graphique : le programme Processing permet de générer de l’image avec des langages de programmation comme Python et Java, tandis que les langages du Web (HTML, CSS et Javascript) se prêtent bien à la gestion de contenu. Le CSS permet la composition visuelle des pages Web, en fonction du support sur lequel elles sont affichées : écran horizontal, vertical et même support imprimé : le web-to-print.

    +

    Ces nouvelles méthodologies de travail permettent de tisser une relation riche et continue entre les différents médias, mis en forme différemment à partir d’un même texte sourceKévin Donnot, « Faire avec : Pour une pratique informée des programmes », op. cit. en explorant une logique de conception propre au numérique, ne contraignant ni à un chantier de mise en page par support ni aux règles affordance d’Adobe. Par exemple, l’outil texte d’Indesign simule un bloc de caractère mobiles tandis qu’en CSS le texte est géré de façon « liquide » en s’adaptant au support, à l’échelle ou au format à partir de la sémantique décrite dans le document HTML.

    +

    Les technologies du Web permettent aussi de bénéficier d’un écosystème de travail collaboratifMaudet Nolwenn, S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023 entre designeur·euses (pour collaborer sur un même projet et/ou mettre en commun ses compétences, utiliser un outil fabriqué par autrui ou contribuer au développement d’un outil) et avec le public ou le·a client·e de l’outil. Lors de nos échanges de courriels, Sarah Garcin évoquait justement la façon dont les technologies du Web lui ont permis, ainsi qu’à ses collaborateur·ices-commanditaires, de travailler simultanément sur l’édition d’un livre en pensant un processus éditorial spécifique au projet.

    +
    +« J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les 4 intégrés à la plateforme. C’était intéressant, car mes 3 collaborateur·ices / commanditaires se rendaient compte de certaines choses qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. [...] L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire ‹  j’ai oublié une phrase ici… › ‹ il manque des guillemets là… › etc. On peaufiné le design en intégrant les contenus et les corrections. » +
    + +

    En outre, le paradigme textuel du code désynchronise aussi la conceptualisation des principes graphiques et leur traduction visuelleIbid., puisqu’au contraire du WYSIWYG le·a designeur·euse ne visualise pas son travail pendant qu’i·el le produit. Cela incite à penser plus en amont les systèmes de fond et de forme par le biais d’une série de règles et de principes clairs qu’on impose par le code. Au premier abord, cette méthode de travail prive le·a designeur·euse d’une part de geste, pusiqu’i·el ne fait qu’éditer du contenu textuel. On négligerait alors la possibilité pour les designeur·euses de développer et d’utiliser des interfaces et des formes d’interactivité alternatives. En amont, la conceptualisation se fait souvent par du croquis ou une maquette papier. Certain·es designeur·euses conceptualisent aussi des interfaces alternatives qui engagent le corps à différents degrés : la PJ Machine [fig. 32] de Sarah Garcin permet de mettre en page des documents imprimés à partir d’une interface physique composée de boutons d’arcade tandis qu’une interface de PAO par le geste [fig. 33] a été expérimentée durant le workshop « Interfacial Workout » ayant eu lieu lors des rencontres Hackers & Designers de 2019.

    +

    fig. 33 La PJ Machine, une boîte composée de boutons de jeu d’arcade pour contrôler une interface Web de PAO, fabriquée par Sarah Garcin.

    +

    fig. 34 Interface corporelle de PAO par le geste, experimentation ayant eu lieu au cours de le workshop Hackers & Designers Interfacial Workout en 2019.

    +
    + + +
    + +

    + Le travail sans le labeur + +

    +
    +« Si [...] je développe un logiciel libre, ce n’est pas d’abord pour obtenir un salaire c’est pour m’enrichir en un sens beaucoup plus riche que le célèbre “Enrichissez-vous”, et peut-être aussi gagner ou économiser un peu d’argent à cette occasion, mais surtout me construire et m’épanouir dans la vie, et comme être vivant. »Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail  !  : entretien avec Ariel Kyrou, op. cit. +
    + +

    Il y a dans l’ethos des hackeur·euses, comme dans l’idéal de l’artisan de Morris, la volonté de revenir à un travail valorisant et de participer pleinement à la production de logiciels sans être réduit·e au rôle d’un morceau de la chaîne de production. Dans cette vision du travail, le rapport au plaisir est similaire à l’élan spirituel que nous abordions plus tôt. En travaillant de façon autonome, faisant ellui-même le choix de ses tâches et de la gestion de son temps et ses ressources, le·a designeur·euse pourrait i·el aussi travail par plaisir, élaguant le labeur du sens du mot travail.

    +

    Nous avons effectivement montré qu’il est possible de travailler pour construire quelque chose, apprendre et développer des savoirs, plutôt qu’uniquement pour une rémunération. Attention cela dit à ne pas retomber dans le piège exploitant du « travail-passion » au travers duquel le capitaliste (patron·ne, commanditaire) tirera profit de l’appréciation du travail pour se permettre de sous-payer. Le but n’est pas de produire de la plus-valueFrance culture, « Le Capital de Karl Marx, La fabrique de la plus-value », coll.« Les Chemins de la philosophie ». en travaillant plus, parce qu’on s’y plaît, mais de voir le travail comme une occasion de développer des savoirs et de tirer une satisfaction de l’ouvrage.

    +
    + +
    + +
    + + + +
    + + + + + +

    + Conclusion +

    + + +
    +
    +

    Pour reprendre leur autonomie sur leurs outils, les designeur·euses graphiques ont d’abord besoin de repenser ce qu’est le travail. Transformer ce temps laborieux en une occasion d’apprendre et de développer des compétences leur ouvre la voie d’un retour vers l’expérimentation autonome de l’outil. En refusant l’aliénation par l’automatisation de la machine et la fermeture des outils propriétaires, i·els se libèrent de l’outil unique qui conditionne à la fois l’usage de la machine et la production formelle. +Ce retour à une vision positive du travail (qui n’est pas seulement le fait d’être employé mais renvoie à l’idée moderne, hégélienneSOBEL Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210 d’une libération ‑ de soi dans la communauté ‑ par le travail) se fait par la réévaluation du rapport du·de la designeur·euse à l’outil, glissant du statut d’utilisateur·ice à celui de créateur·ice ou de designeur·euse‑hackeur·euse. En refusant de « faire avec » les outils imposés par l’industrie, i·el change de démarche et peut faire un pas de côté de l’industrie en s’émancipant des contraintes d’outils, de méthodes et de rythmes de travail. D’une part, cela demande à revenir sur toute la profession, de l’école au milieu professionnel, pour se libérer des injonctions de l’industrie capitaliste du design graphique. D’autre part, il est nécessaire que les designeur·euses puissent prendre le temps d’apprendre à comprendre et à fabriquer ou à altérer leurs outils en s’intéressant au code.

    +

    C’est là que l’ethos des hackeur·euses et des libristes intervient et semble, déjà, empreint de pistes de solutions. Plus qu’une façon curieuse et libre d’intéragir avec la machine et le logiciel, i·els ouvrent la voie sur une considération plus contemporaine du travail sans le labeur, à la façon d’un·e artisan·e numérique. Cette quête du plaisir dans le travail pousse les designeur·euses‑hackeur·euses vers les jubilations de l’exploration technique et formelle de la production de design graphique. S’en suit un engagement éthique qui considère les autres designeur·euses comme des collaborateur·ices potentielles, la production comme un·e contribution aux communs de design graphique et l’usagèr·e comme utilsateur·ice du design.

    +

    En dressant l’état des lieux de ce qu’est le travail de designeur·euses graphique, ce mémoire cherche à mettre en lumière d’autres possibles et à ouvrir un échange et une réflexion collective sur notre profession. C’est maintenant dans la pratique qu’il nous faut « réduire l’espace »« Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. entre ce qui est et ce qui pourraît être, et pour cela, le changement de posture vis‑à‑vis de l’outil ne peut être suffisant. Il faut, pour les designeur·euses graphiques, une morale appliquée à l’ensemble des sphères de la pratique. Vous trouverez à la suite un écrit explorant l’intérêt du libre au-delà de l’outil, recouvrant des espaces de liberté dans tous les espaces de la pratique, de notre organisation dans le travail à notre politisation, nos échanges et la diffusion de nos productions.

    + +
    +
    + +
    + + +
    + +

    + Annexes +

    + +
    + + + + +
    + +

    + L’ensemble de fonction + +

    +

    +Le texte ci-après explicite le schéma [fig. 11]fig. 11 Schéma de l’ensemble de fonction par Victor Papanek, extrait de l’ouvrage « Design pour un monde réel », op. cit. de l’ensemble de fonction de Victor Papanek. C’est un court résumé des pages 44 à 60 de l’ouvrage Design pour un monde réel édité en 2021 par Les presses du réel et traduit de Design for the Real World: Human Ecology and Social Change dont la publication originale date de 1971. +

    +
    La méthode
    +
      +
    • Les procédés de conceptualisation et de fabrication faisant une utilisation honnête des outils et matériaux en ne les choisissant que s’il n’y en a pas d’autres qui feraient « l’affaire » plus efficacement et pour moins cher.
    • +
    +
    L’utilisation
    +
      +
    • Le fait que le design fonctionne pour l’usage qui en est fait, qu’il corresponde ou non à l’usage imaginé par le·a designeur·euse.
    • +
    +
    Le besoin
    +
      +
    • La réponse du design à un besoin « économique », « psychologique », « spirituel », « technique » ou « intellectuel » plutôt qu’à des « exigences et des désirs éphémères ».
    • +
    +
    La télésis
    +
      +
    • L’inscription cohérente du design dans la société et la nature dans lesquelles il est utilisé, sa correspondance au mode de vie de l’usagèr·e
    • +
    +
    L’association
    +
      +
    • La signification du design par association de ses qualités à notre « conditionnement psychologique », les valeurs qu’il incarne
    • +
    +
    L’esthétique
    +
      +
    • L’appréciation esthétique du design, le « beau » qui ne peut exister qu’en relation avec le reste de l’ensemble de fonction. Elle émane, selon Papanek, de l’association des six autres domaines.
    • +
    + + + +
    + + + + + + +
    + +

    + Entretien avec Sarah Garcin + +

    +
  • + Bonjour Sarah,

    + [...] Seriez-vous intéressée et disponible pour échanger sur le sujet au travers d’une entrevue ? Celle-ci portera sur votre positionnement en tant que designeuse faisant le choix de créer des outils libres, comme avec l’Atelier des Chercheurs par exemple.

    D’avance merci,

  • +

    +
  • + Bonjour Emma-Jade,

    + [...] + Avec plaisir pour échanger avec vous sur ces sujets. + Est-ce que ça vous convient si on fait ça par écrit par mail ? + [...]

    Bien à vous,

  • +

    +
  • + [...] Je souhaite vous interroger sur vos activités au sein de l’atelier des chercheurs, et en dehors, pour essayer de comprendre votre positionnement sur les outils libre, en tant que designer qui en fabrique et en utilise. + [Je pose ensuite une série de questions, auxquelles Sarah Garcin répond juste ensuite.] +

  • +

    +
  • + + [...] + Voici une première réponse à vos questions. + J’ai répondu spontanément, il y a peut-être des fautes d’orthographe ou des formulations malheureuses (n’hésitez pas à reformuler au besoin). + Je digresse, théorise et ne répond pas forcément directement aux questions. Et je n’évoque pas beaucoup la question du graphisme, car pour moi elle est accessoire, c’est finalement plutôt un outil qu’un sujet en soit. Mais n’hésitez pas à me reposer des questions en rapport avec mes réponses, je me ferai un plaisir de compléter (par exemple je donne très peu d’exemples de projets...). On peut démarrer une sorte de ping-pong.

    Bien à vous, Sarah

    +

  • +
  • + Qu’est-ce qui vous a poussée à la création d’outils libres, et comment transforment-ils et/ou influencent-ils selon vous les manières de travailler ? +

  • +

    +
  • + J’ai commencé à vouloir créer mes propres outils quand j’étais étudiante en 3e année des Beaux-Arts de Rennes (désormais nommée EESAB Rennes). À l’époque, je n’avais aucune idée de ce que pouvait représenter la culture du libre, je n’avais aucune connaissance dans la pratique du code. Je tentais de bidouiller Illustrator pour créer des semblants de scripts, c’est ainsi que j’ai fait la découverte de Scriptographer et de Jürg Lenhi et par la même occasion, de graphistes qui fabriquent leurs propres outils et qui les mettent à disposition de la communauté. La même année, j’ai appris Processing, le HTML et le CSS. Comme une révélation, le code m’est apparu comme l’outil dont j’avais besoin pour mettre en application ce que je tentais de faire en bidouillant Illustrator.

    + J’ai ensuite fait un stage dans le collectif g‑u‑i, que j’ai intégré par la suite. C’est à ce moment là que nous avons commencé à nous intéresser à la culture du libre et aux logiciels libres, qui nous paraissaient plus en accord avec nos valeurs et nos manières de travailler. Nous suivions depuis un moment le travail du collectif Open Source Publishing, et leur projet html2 print nous parlait tout particulièrement. En effet, avec g-u-i nous faisions à la fois des sites et des éditions, souvent les deux pour une même projet. Il nous semblait donc tout à fait logique de simplifier le travail et de n’avoir qu’une seule source de gestion du contenu permettant la génération de différents supports (site internet, édition, affiche etc.). Aussi nous intéressions aux dispositifs de documentation en live, dans ce cadre nous avons développé différents programmes et dispositifs. C’est dans ce contexte, que j’ai développé avec un camarade de classe, Victor Lebeau, mon projet de diplôme autour du logiciel libre et de la documentation. Un logiciel de prise de notes collaboratif permettant la mise en forme automatique du contenu et l’export imprimable.

    + Dans le même temps, quelques mètres plus loin, Louis Eveillard, Pauline Gourlet, Juliette Mancini et Ferdinand Dervieux commençaient le développement d’un logiciel de documentation pour les enfants. Naturellement, nous nous sommes rapprochés et avons partagé nos expériences, ces deux projets possédant des enjeux similaires. C’est ainsi qu’à la suite de mon diplôme j’ai rejoint le labo de recherche Sociable Media à l’ENSADLab, et que j’ai intégré le collectif nommé plus tard L’Atelier des Chercheurs. C’était important pour moi que les outils développés ensemble soit sous licence libre et soit open source. Nous travaillons dans le domaine publique (l’école), il me parait cohérent que les outils utilisés dans le public soit ouverts et emprunt d’une certaine éthique (mais apparemment le ministère de l’éducation n’est pas totalement d’accord avec moi).

    + Toutes ces années où nous avons travaillé dans les classes au développement de do.doc notamment (depuis maintenant 10 ans), nous avons analysé comment l’introduction d’un nouvel outil dans un environnement de travail pouvait changer les manières de travailler mais aussi d’être ensemble. Pauline Gourlet a d’ailleurs écrit sa thèse là-dessus.

    + D’abord, avec do.doc, nous avons fait le choix d’un outil hybride à la fois tangible et numérique. Ce qui crée dans une salle de classe un espace particulier de travail. Un espace convivial dans lequel on peut échanger, travailler, manipuler, collaborer. Ça reconfigure totalement la classe et l’organisation des activités.

    + Ensuite, nous avons pris le parti de développer l’outil in situ, en le testant dans des contextes, en observant et en prenant en compte les retours des utilisateur·ices. Les élèves et les enseignants, peuvent ainsi participer à la conception du logiciel suivant leurs besoins très concrets.

  • +

    +

    +

  • + Au sein de votre pratique de designer graphique, qu’est-ce que les outils libres permettent ? Quels sont leurs grands enjeux, d’après vous ? +

  • +

    +

    +

  • +De faire un pas de côté. J’évoque souvent une scène du film l’An 01. Un film tiré d’une BD de Gébé, dont le point de départ est « On arrête tout, on réfléchit (et c’est pas triste) ». Déjà il y a cette notion de prise de recul. En particulier, il y a cette scène d’une publicité pirate qui passe à la télé. « Et si on faisait un pas de côté », on y voit un homme qui regarde par la fenêtre, qui fait un pas de côté, qui se retrouve face au mur, on lui dit « Qu’est ce que tu fais », il répond « Je regarde dans ma tête ». Se déplacer, changer de point de vue, se mettre dans une situation d’inconfort, choisir ce que l’on regarde, choisir l’outil qui nous convient pour ce que l’on veut faire.

    +Évidemment il y a une dimension politique, avoir la main sur ses outils, les maîtriser, les contrôler. Ne pas être soumis·e à des décisions de grand groupe, qui impose des normes et des manières de faire, être libre. +Quand on y pense, si on regarde les interfaces des premiers logiciels de PAO, rien n’a changé, les paradigmes sont toujours les mêmes, une « boîte à outils », des calques, des déplacements en drag and drop d’objets flottants dans la page... +Et on se rend compte du pouvoir des concepteurs de logiciels propriétaires quand ils nous tiennent. Quand ils nous tiennent avec un abonnement extrêmement cher qui ne nous permet pas de posséder le logiciel. Quand ils décident d’arrêter le partenariat avec Pantone, que l’accès aux couleurs Pantone devient payant et que les anciens fichiers possédant ce type de couleur sont altérés.

    +

  • +
  • + Dans le cadre du mémoire, je cherche à comprendre s’il y a réellement une forme d’aliénation du graphiste par ses outils, qui passe par une « prolétarisation » (dans le sens où les outils propriétaires peuvent nous priver de savoirs et de savoir-faire, tant par leurs fonctionnalités que par l’opacité de leur fonctionnement). Les outils libres défendent une forme de réappropriation, de culture du faire soi-même. Selon vous, est-ce là l’enjeu principal de ces outils ? Permettent-ils vraiment d’empêcher cette prolétarisation et de reprendre possession de ses outils ? Si oui, comment ? Qu’est ce qui pourrait éventuellement leur manquer ? +

  • +

    +

  • + Peut-être pourrions nous faire un parallèle un peu étrange, logiciel propriétaire/logiciel libre et voiture/vélo. Je ne prends pas cette exemple au hasard, je le prends car c’est un des exemple qu’utilise Ivan Illich dans son livre « La Convivialité » pour faire la différence entre un outil convivial (le vélo) et un outil non convivial (la voiture).

    Le vélo (ici je parle bien du vélo mécanique et non pas électrique) est totalement transparent, on voit son mécanisme, on voit bien comment ça fonctionne, c’est assez simple à réparer, ça ne coûte pas très cher, on développe un savoir faire mécanique, on peut le customiser à son goût.

    + La voiture (et encore plus aujourd’hui) cache un tas de mécanisme complexe et inaccessible, elle coûte cher, est polluante, compliqué à réparer soit même, elle façonne les villes et les infrastructures (d’une manière qui ne me convient pas personnellement), elle est vecteur d’inégalité sociale.

    + Alors oui elle est rapide, plus rapide que le vélo, elle permet de transporter plus de choses, elle permet d’avoir chaud quand il fait froid et froid quand il fait chaud. En somme elle est confortable.

    + Il y a un énorme paradoxe à tout ces avantages. Paradoxe développé par Ivan Illich dans son livre « Équité et Énergie » (oui encore lui). Si on prend le même trajet en voiture et en vélo, disons Paris-Brest par exemple, on sait qu’en voiture on mettra environ 6h, alors qu’en vélo on mettra 4 jours. Mais si on regarde le temps que l’on a passé à travailler pour payer la voiture, son assurance, son parking, ses réparations, le temps que l’on a passé à essayer de la garer, à aller prendre de l’essence etc. et qu’on le compare au temps passé à s’occuper de son vélo, finalement on aura mis moins de temps à faire Paris-Brest en vélo qu’en voiture.

    + « La convivialité est la liberté individuelle réalisée dans la relation de production au sein d’une société dotée d’outils efficaces. Lorsqu’une société [...] refoule la convivialité en deçà d&’un certain niveau, elle devient la proie du manque; car aucune hypertrophie de la productivité ne parviendra jamais à satisfaire les besoins crées et multipliés à l&’envie. » (Au cas ce n’était pas clair, je suis fan d’Ivan Illich).

    +

    Finalement, pour moi c’est un peu comme commander sur Amazon vs passer trois heures à aller chercher le livre que je cherche dans une librairie ou une bibliothèque. En ne commandant pas chez Amazon, je perds du temps, du temps à travailler fixée sur ma chaise devant un ordinateur. Qu’est-ce que j’y gagne ? Je gagne une marche en ville, je découvrirai peut-être une nouvelle librairie, j’aurais peut-être une discussion intéressante avec le·a libraire, j’y découvrirai un livre essentiel à ma recherche, je rentrerai joyeuse de cette sortie. Je serai d’autant plus joyeuse que je n’aurais pas contribué à faire fonctionner une société avec laquelle je ne suis absolument pas d’accord. Pas d’accord avec le principe même, pas d’accord avec les conditions de travail, pas d’accord avec les ambitions de la personne qui la dirige, pas d’accord avec les valeurs des différents services proposés par l’entreprise...

    +

  • +

    +

  • + [...] Avant tout, un grand merci pour votre réponse que j’ai trouvé particulièrement intéressante. Cette fois encore, sentez-vous libre de répondre lorsque vous le pouvez. Ce premier échange m’aide déjà beaucoup.

    Je m’identifie beaucoup à votre approche du code, j’ai moi-même commencé à l’apprivoiser sans avoir connaissance du libre, justement parce qu’il me permettait de faire les choses autrement et sans être limitée par le manque de certaines fonctionnalités dans d’autres logiciels. Le rapport temps-productivité-plaisir, lui aussi, me pose question. Je trouve que l’image de la librairie permet de poser des mots ce sentiment étrange de devoir travailler vite, juste pour avoir plus de temps disponible pour continuer à travailler ensuite.

    L’un des reproches que j’entends souvent à propos des logiciels libres – de la part de celleux qui ne les utilisent pas – c’est le manque de professionnalisme de ceux-ci. Parce qu’ils sont « moins performants » que les outils propriétaires, ils ne vaudraient pas le coup d’être utilisés, sauf pour des productions très expérimentales, et seraient un frein à la collaboration en milieu professionnel.

    + Pourtant, il me semble que les outils libres (de développement, mais aussi les logiciels qui proposent des fichiers de travail en formats non-propriétaires tous simplement) permettent au contraire de trouver des moyens de collaborer. D’une certaine façon, « faire un pas de côté » ne se limite pas à notre pratique personnelle de designer, c’est peut-être aussi se mettre à contre-courant des attentes de l’industrie ? J’aurais aimé savoir comment est-ce que cela peut se passer dans le cas où vous proposez des projets de design graphique en réponse à une commande. Le choix des outils libres conditionne-t-il l’environnement de travail (les relations et collaborations, le rapport au temps, les échanges... plus que l’environnement physique) dans lequel vous produisez ? Sont-ils parfois un frein aux ambitions esthétiques ?

    S’il y a des projets spécifiques qui peuvent-être des éléments de réponse, ou des situations de travail que vous aimeriez évoquer, ce serait avec plaisir.

    Merci encore et bien à vous,

  • +

    +

    +
    +
    +

  • + [...] Je m’excuse encore pour les délais de réponse. Je suis sous l’eau !

    Pour moi, ça ne se limite effectivement pas à notre pratique du design. L’utilisation d’outils libres (mais aussi leur développement et leur partage) c’est une partie d’un mode vie. Une porosité entre le professionnel et le personnel. Ça va avec une certaine éthique. C’est une démarche militante. Évidemment que ça conditionne nos environnements de travail. D’abord parce que si je veux être cohérente (et c’est mon avis personnel), je ne peux pas utiliser des outils libres dans une pratique expérimentale personnelle et à côté aller faire des power points chez l’Oréal. Ou ça serait totalement absurde d’utiliser des outils libres pour designer les plaquettes d’Air France. Alors on choisit ses commandes, des projets qui correspondent à notre éthique, on choisit aussi les gens avec qui on travaille. Je me verrai mal travailler avec ou pour quelqu’un qui est raciste ou sexiste.

    Pour ce qui est du rapport au temps, c’est une vraie question. Il y a effectivement cette critique qui revient souvent sur la performance des outils libres. Ça prend plus de temps. J’en suis pas sûr. Je crois juste qu’on est plus rapide à certains endroits et plus lents à d’autres. Mais si on pense en terme de productivité et de temps alors il me semble qu’on re-rentre dans la logique capitaliste (désolé d’utiliser les grands mots fourre-tout) qu’on essaye d’éviter en faisant un pas de côté. On est toujours dans cette tension, on est entouré par cette société productivisme régit par la croissante et le progrès, c’est impossible d’en sortir. Utiliser des outils libres, c’est un micro pas à côté de cette société et c’est assez réjouissant et encourageant tout de même.

    Sur la question de l’esthétique, je crois qu’il n’y a pas de limite esthétique. Je n’ai pas d’exemples de choses que je n’ai pas réussi à faire avec des outils libres. C’est plutôt le contraire, ça ouvre vers de nouvelles formes. J’ai une anecdote à ce sujet. J’ai fait travaillé des étudiant·es de 2e année com avec un petit programme en ligne que j’ai développé et qui permet de faire de la mise en page d’affiche avec du CSS et une interface WYSIWYG. Ça change totalement des paradigmes d’Adobe, il n’y a pas de drag and drop. Alors les éléments se superposent régulièrement. Un autre enseignant leur a demandé de réaliser des affiches sur Indesign. Une des étudiantes a présenté son affiche tout en superposition en mentionnant que l’idée lui était venu en bidouillant mon programme. J’ai trouvé ça génial !

    Je peux finir ce mail assez théorique par la description de deux projets de commande (avec les mêmes commanditaires). En 2020, j’ai commencé à travailler pour le programme Forcast du media lab de Sciences Po pour la réalisation d’une édition (plus particulièrement avec Clémence Seurat, Robin de Mourat et Thomas Tari). Ça les intéressait d’expérimenter un processus éditorial non conventionnel et de travailler en web2print. On a d’abord travaillé avec Goji, un logiciel libre développé par Robin de Mourat, un des chercheur du projet. Goji devait permettre de gérer les contenus de l’édition et permettait de faire un export html. Il s’est avéré qu’à terme, nous abandonné Goji qui comportait trop de bugs et qui nécessitait pas mal de nouvelles fonctionnalités pour être utilisable. C’était un processus long et compliqué. Nous avons travaillé les contenus directement dans le HTML et la mise en page se faisait avec Paged.js et CSS. Ce qui a impliqué un gros travail pour moi d’intégration des contenus, de correction etc. En travaillant ainsi, on s’est dit que c’était idiot de ne pas exploiter le fait que le web permet la dissociation des contenus et de la mise en page (ce qui n’est pas du tout le cas dans Indesign). Finalement, on a terminé le livre tout en HTML à coup de nuits blanches d’intégration de correction et de micro-typo (le vrai problème qui prend du temps et qui est difficile à gérer c’est la micro typo en web2 print, c’est là ou le WYSIWYG est important). Le livre est sorti en version imprimée et en version web. On a trouvé des solutions avec l’imprimeur pour avoir des fichiers avec lesquels ils pouvait travailler et on a adapté le HTML pour en faire une version en ligne (le deal c’était que les contenus du livre étaient entièrement accessibles et en Creative Commons un an après la sortie papier du livre). C’était simple de faire ce passage du pdf imprimable au site web navigable. Si on en revient à la question du temps, on a gagné un temps fou à ce moment là (et aussi une cohérence graphique puisqu’on a quasiment utilisé le même CSS). Pour voir ce que tout ça donne, c’est ici. +

    + https://controverses.org/mode-demploi/

    Fin 2022, Clémence, Robin et Thomas avait un nouveau projet d’édition, du même type. Une édition de recherche sur une friche et une enquête citoyenne participative. Iels m’ont sollicité de nouveau pour le design en web2print de celle-ci (le sujet parait cohérent avec le fait d’utiliser des outils libre). Fort de la première expérience et toujours désireux·ses de réfléchir au processus éditorial, nous avons tenté autre chose. J’ai mis en place un CMS, permettant de gérer les contenus de l’édition en ligne. J’ai réalisé un template avec un CSS. Une fois les contenus de l’édition écrits, nous les avons tous les quatre intégrés à la plateforme. C’était intéressant, car mes trois collaborateur·ices / commanditaires se rendaient compte de certaines chose qui ne fonctionnaient pas dans leurs textes pendant l’intégration et i·els voyaient leurs textes se mettre en page quasi en même temps qu’i·els l’intégraient. On a pu comme ça durant toute la durée de la fin de l’écriture, des corrections et de la mise en page travailler en collaboration. L’édition était toujours en ligne, chacun·e pouvait y accéder quand i·els voulaient. Plus de centaines de mails pour dire « j’ai oublié une phrase ici... » « il manque des guillemets là... » etc. On peaufiné le design en intégrant les contenus et les corrections. J’ai passé beaucoup de temps avec la micro-typo, mais ça je le savais d’avance. L’édition vient juste d’être imprimée, on attend de les recevoir ! Et bientôt une adaptation web.

    J’espère que cet email ne part pas trop dans tous les sens, qu’il reste compréhensible et qu’il répond à vos questionnements. [...]

    Bien à vous, Sarah

    +

  • + + + +
    + +
    +
    + + + + +
    + + + + + +

    + Manifeste +

    + + +
    +
    +

    Libérons le design graphique !
    Pertinence du modèle libre au-delà de l’outil

    +

    Faire un pas de côté

    +

    Lorsqu’on refuse de se soumettre aux grands groupes propriétaires d’outils et à leur conception du design graphique, qu’on reprend le contrôle sur ses outils, qu’on refuse d’être contraint·es par des paradigmes logiciels qui n’ont jamais changé et qu’on arrête de dépenser notre argent dans des outils que l’on ne peut même pas posséder, nous engageons une démarche militante. Dès lors que que le choix de se tourner vers les outils libres n’est pas qu’un choix personnel ou un moyen d’expérimenter les formes, prenons le parti de faire un « pas de côté »Expression issue des échanges de courriels avec Sarah Garcin. vis à vis de l’industrie.

    +

    En faisant ce pas de côté, laissons nous le droit de refuser les logiques de production qui voudraient que l’on produise un maximum et le plus rapidement possible. Autorisons nous l’expérimentation créative, donnons une place à l’erreur, ouvrons nous à l’exploration technique et prenons le temps de penser nos méthodes plutôt que de garder, par défaut, un même outil fonctionnel mais pas forcément optimal.

    +

    À l’image des travailleur·euses de l’art des collectifs Art en Grève ou La BuseBurtin Zortea Julia, Aujourd’hui, on dit travailleur·ses de l’art, 369 éditions., Cognac, France, 369 éditions, coll.« Manuels », 2022., organisons-nous et mettons en place une solidarité concrète pour nos conditions de travail, notre rémunération et nos droits. Soyons solidaires face aux entreprises de la tech qui cherchent à monopoliser le lien entre les designeur·euses et les client·es par le développement de plateformes qui nous mettent en concurrence, nous poussent à brader nos prixComme Fiverr, et les autres plateformes de mise en relation client·es-designeur·euses. Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021. et à produire en masse à moindre coût, pour espérer séduire des algorithmes qui nous évaluent sur ces critères.Comme le fait Canva, cf. Canva Creator Journey, https://www.canva.com/help/canva-creator-journey/, consulté le 01/12/2023. +Comme les ouvrièr·es typographes l’ont fait avant nous, engageons nous dans des luttes sociales ou politiques et prenons le parti d’utiliser de nos compétences pour participer à celles-ci.

    +

    Repensons nos modèles économiques et éloignons nous des emplois aliénants qui nous demandent de ne pas compter nos heures, d’être toujours plus productif·ves et de suivre des directives sans pouvoir les remettre en question. Utilisons l’automatisation lorsqu’elle nous libère des tâches fastidieuses, et profitons de ce gain de temps pour faire autre chose que le travail. Inspirons nous des modèles économiques de collectifs déjà existants, en nous assurant de tous·tes nous rémunérer aussi justement que possible. Il est par exemple possible de diviser équitablement l’argent perçu pour un projet en fonction du travail fourni et en gardant un pourcentage pour le fonctionnement de la structure. Ce n’est qu’une possibilité, d’autres pourraient être imaginées au travers d’échanges et de prises de décisions collectives. +Faisons le choix de travailler avecExpression tirée de la conférence du collectif Luuse à Bruxelles lors de l’événement « Le design graphique comme outil d’expérimentation ? » organisé par Morgane le Ferec et Colin Roustan dans le cadre de P(A)F - Pratiques (Artistiques) Fonctionnelles., et non pour, des personnes que nous choisissons. Cherchons à travailler sur des sujets épanouissants et en alignement avec nos valeurs, quitte à diversifier nos activités pour atteindre un équilibre économique. Balisons des espaces de travail dans lesquels chacun·e des acteur·ices d’un projet se sentira considéré·e et à l’aise, et soyons transparent·es sur nos méthodes.

    +

    Les licences libres

    +

    En mettant à mal la précieuse « propriété intellectuelle », le travail collaboratif nous encourage à produire un graphisme libre. Le « droit sacré à l’originalité »Ruben Pater, Caps lock: how capitalism took hold of graphic design, and how to escape it, op. cit. n’est de toute façon assuré qu’aux designeur·euses qui ont les moyens de financer un·e avocat·e pour les défendre, surtout à l’heure ou les grandes entreprises n’ont aucun scrupule à voler le travail des designeur·euses pour leurs productions, profitant d’avoir l’arsenal juridique nécessaire pour les déstabiliser.

    +

    Les licences libres permettent à tous·tes de bénéficier des productions d’autrui, sans pour autant remplacer la propriété intellectuelle. Elles permettent plutôt aux producteur·ices de céder par avance certains droits et, de fait, de clarifier les conditions dans lesquelles leur production peut-être utilisée.

    +

    Les licences Creative Commons [fig. 33] sont les plus connues et offrent une large variété d’usages possibles. D’autres ont vu le jour telles que la SIL Open Font Licence pour les typographies et le domaine public est, lui aussi, une possibilité. Bien sûr, la liste n’est pas exhaustive. Il est toujours possible de créer de nouvelles licences plus spécifiques comme l’ACSL (Anti-Capitalist Software Licence)Cette licence n’est pas tout à fait libre dans la mesure où elle n’assure les quatre libertés du libre qu’aux individus, associations à but non lucratif, institutions éducatives et aux sous certaines conditions aux organisations qui cherchent à générer un profit pour tous·tes ses membres en permettant aux non-membres de fixer le coût de leur main d’œuvre. The Anti-Capitalist Software Licence, https://anticapitalist.software/, consulté le 01/12/2023..

    +

    fig. 33 Les familles de licences Creative Commons : commercial / non commercial ; modifiable / non modifiable. Les licences vont de la moins à la plus restrictive.

    +

    La diffusion de nos productions sous licences libres permet aussi de passer sur des modes de production « cumulatifs »Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021. au travers desquels plusieurs personnes transforment l’ouvrage et échangent librement des informations sur les modifications. Elles permettent les forks et le partage des productions hors de la propriété exclusive de celle-ci, ou de la dissimulation des secrets de fabrication. En prenant la position d’« auteur·ice-relai », reconnaissons que nous ne pouvons pas être propriétaire d’une idéeAlbert Jacquard, entretien mené par le collectif Libre Accès en 2010 suite à la rencontre « Garantir les libertés publiques pour préserver les biens communs ». et que chacune de nos création a été « provoquée par la rencontre avec un autre »Ibid. et finira par nourrir elle aussi les idées d’autrui.

    +

    Constituer des communs graphiques

    +

    La diffusion de nos productions sous licence libre est l’élément clé de la constitution de communs graphiques. Les communs sont des ressources (digitales, matérielles, techniques ou théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils représentent l’ensemble des ressources et pratiques qui ne sont ni de propriété privée ou publique et sont une alternative à binarité, reposant sur un accès égal aux communs et au partage des décisions. +Les communs doivent pouvoir être accédés, partagés et transformés librement, surtout lorsqu’ils ont été produits, rassemblés ou édités par la communauté.Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

    +

    Refusons alors de se soumettre à des lois, telles que le copyright ou la propriété intellectuelle, qui freinent la constitutions de communs en privatisant les savoirs collectifs pour générer du profit.Ibid. Profitons de la mise en commun de capacités et de la circulation de nos idéesCollectif, « Open Source Publishing Relearn », future , 3 octobre 2011, http://f-u-t-u-r-e.org/r/02_OSP_Relearn_FR.md. en devenant des auteur·ices-relais qui font avancer, par leurs pratiques, le bien commun et les pratiques d’autrui.

    +

    Ouvrons nous aux forks et faisons circuler nos productions, comme le font déjà les typothèques libres, pour permettre leur usage par autrui. Contribuons à la mise en commun de ressources, comme le collectif Luuse le fait, et considérons que chacun·e mérite de bénéficier du partage culturel.

    +

    Et surtout, n’oublions pas qu’une production diffusée librement n’est pas forcément une production issue d’un travail gratuit. Ouvrons la discussion sur le libre avec nos commanditaires et faisons de notre éthique un étendard qu’aucune proposition de rémunération ne peut faire tomber.

    + +
    +
    + +
    + + + +
    + + + + + +

    + Bibliographie +

    + + +
    +
    +
    Concrétiser l’utopie
    +
      + +
    • +

      « Peut-on grandir sans se trahir ? », Arte, Les idées larges, 2023. +

    • +
    + +
    Travail, industrie et aliénation
    +

    +
      +
    • +

      Arendt Hannah, Condition de l’homme moderne Poche, traduit par Georges Fradier, Pocket, coll. « Agora », 2002.

    • +
    • +

      France culture, « Le Capital de Karl Marx, La fabrique de la plus-Value », coll. « Les Chemins de la philosophie ».

      +
    • +
    • +

      Pater Ruben, Caps lock: how capitalism took hold of graphic design, and how to escape it, Amsterdam, Pays-Bas, Valiz, 2021.

      +
    • +
    • +

      Stiegler Bernard, Kyrou Ariel Auteur Préfacier et Séméniako Boris, L’emploi est mort, vive le travail ! : entretien avec Ariel Kyrou, Paris, France, Mille et Une Nuits, 2015.

      +
    • +
    • +

      Stiegler Bernard, « Prolétarisation », Ars Industrialis, https://arsindustrialis.org/prol%C3%A9tarisation.

      +
    • +
    +

    + +
    Repenser le travail
    +
      +
    • +

      Boutmy Eugène, Dictionnaire de l’argot des typographes : augmenté d’une histoire des typographes au XIXe siècle et d’un choix de coquilles célèbres, Le mot et le Reste., Marseille, 2019.

      +
    • +
    • +

      Chancogne Thierry et Rouffineau Gilles, « Critical Design Graphic : qu’est-ce que c’est ? », in étapes №185, octobre 2010, Paris, éditions Pyramid, p. 66-70.

      +
    • +
    • +

      Congar, Yves M.-J., « QUOD OMNES TANGIT, AB OMNIBUS TRACTARI ET APPROBARI DEBET », in Revue historique de droit français et étranger, Vol. 35 (1958), p. 210-259

      +
    • +
    • +

      Sobel Richard, « Travail et reconnaissance chez Hegel. Une perspective anthropologique au fondement des débats contemporains sur le travail et l’intégration », in Revue du MAUSS №23, p. 196-210.

      +
    • +
    • +

      Discours prononcé le 10 août 1790, à la fête célébrée en l’honneur de Benjamin Franklin, par la société des ouvriers imprimeurs de Paris, Monographie par M  L***, apprenti imprimeur.

      +
    • +
    • +

      Jacquet Hugues, L’intelligence de la main, préface de Pierre Maclouf, l’Harmattan, coll. « Logiques sociales », 2012.

      +
    • +
    • +

      Laski Gary. Le design : Théorie esthétique de l’histoire industrielle, Philosophie. Université Paris‑Est, 2011.

      +
    • +
    • +

      Levit Briar, Graphic Means: A History of Graphic Design Production, 2017.

      +
    • +
    • +

      Maillet Clovis et Golsenne Thomas, Un Moyen Âge libérateur, MMPLH 004., Même pas l’hiver, 2022.

      +
    • +
    • +

      Minard Philippe, « Identité corporative et dignité ouvrière : le cas des typographes parisiens, 1789-1791 », in Paris et la Révolution, Paris, Éditions de la Sorbonne, coll.« Histoire moderne », p. 23-33.

      +
    • +
    • +

      Morris William, Comment nous vivons, comment nous pourrions vivre, traduit par Francis Guevremont, Payot & Rivages, coll.« Rivages Poche Petite Bibliothèque », 2013.

      +
    • +
    + +
    L’école
    +
      +
    • +

      Huyghe Pierre-Damien, Contre-temps. De la recherche et de ses enjeux : arts, architecture, design, Paris, B42, 2017.

      +
    • +
    • +

      JO №0253, 30 octobre 2022, texte №23

      +
    • +
    • +

      Swanson Gunnar, « Graphic Design Education as a Liberal Art: Design and Knowledge in the University and the “Real World” », Design Issues, 10-1, t 1994, p. 53‑63.

      +
    • + +
    + +
    Outils numériques et logiciels
    +
      +
    • +

      Blanc Julie et Maudet Nolwenn, « Code 〈–〉 Design graphique Dix ans de relations », in Graphisme en France - Création, outils, recherche, 2022, Paris La Défense, France, Centre national des arts plastiques, 2022, p. 7-33.

      +
    • +
    • +

      Donnot Kévin, Graphisme en France 2012, code<> outils <> design, Paris, France, Centre national des arts plastiques, 2012.

      +
    • +
    • +

      Grootens Joost, « Tools R Us », Graphisme en France, traduit par Barb M. Prynne, Création, Outils, Recherche 28, 2022, p. 59‑88.

      +
    • +
    • +

      Lehni Jürg, « The Future of Scriptographer is … Paper.js! », Scriptographer, 15 novembre 2012, consulté le 20 décembre 2023. https://scriptographer.org/news/the-future-of-scriptographer-is-paper-js/

      +
    • +
    • +

      Masure Anthony, « Adobe : le créatif au pouvoir », Strabic.fr, « L’usager au pouvoir », juin 2011, consulté le 15 janvier 2024. https://www.anthonymasure.com/articles/2011-06-adobe-creatif-pouvoir

      +
    • +
    • +

      Kévin Donnot, « Faire avec Pour une pratique informée des programmes », in Technique et design graphique, Paris, B42, coll. « Outils, médias, savoirs », 2020, p. 95-115.

      +
    • +
    + +
    Culture numérique
    +
      +
    • +

      Cardon Dominique, Culture Numérique, Paris, France, SciencesPo Les Presses, coll.« Les Petites humanités », 2019.

      +
    • +
    • +

      Wiener Norbert, Cybernétique et société, Titre original : Cybernetics and Society (The Human Use of Human Beings), Deux Rives., 1952.

      +
    • +
    + +
    Culture libre et hacking : généralités
    + + +
    Culture libre et hacking dans le design
    +
      +
    • +

      Bosqué Camille, Open design : fabrication numérique et mouvement maker, Paris, France, Éditions B42, 2021.

      +
    • +
    • +

      Collectif Bye Bye Binary, « Revival », LEXIQUNI, consulté le 30 novembre 2023. https://genderfluid.space/lexiquni.html

      +
    • +
    • +

      Klein Xavier, « Libérons l’informatique », mémoire, ENSAAMA Olivier De Serres, Paris, 2013.

      +
    • +
    • +

      Maudet Nolwenn. S’approprier pour mieux partager : Outils numériques pour la collaboration en design. Our Collaborative Tools, 2023.

      +
    • +
    • +

      Ozeray Étienne, « Pour un design graphique libre », Mémoire, ÉnsAD, Paris, 2014.

      +
    • +
    + +
    L’outil et l’esthétique
    +
      +
    • +

      Bourdieu Pierre, La distinction critique sociale du jugement, Minuit, 1979.

      +
    • +
    • +

      Papanek Victor, Design pour un monde réel, titre original : Design for the Real World: Human Ecology and Social Change sorti en 1971, Les presses du réel, 2021.

      +
    • +
    • +

      Tufte Edward R.,The Cognitive Style of PowerPoint, 2003.

      +
    • +
    • +

      Ulm Elliot, « I made the same design in every program ever ». https://youtu.be/sAk9SZ9yrMY

      +
    • +
    + +
    +
    + + + +

    + Glossaire +

    + + +
    +
    +
    Aliénation
    +
      +
    • Dépossession de l’humain de son autonomie de pensée et production.
    • +
    +
    API
    +
      +
    • Une API permet qu’une application ou un programme accède aux données d’une autre application, à distance.
    • +
    +
    Automatisation
    +
      +
    • Remplacement de l’action humaine par l’action de la machine, en vue d’augmenter la productivité. Elle participe à l’aliénation de l’humain en le dépossédant de ses moyens de production, ses outils, au profit de la machine qu’il ne connaît pas pleinement.
    • +
    +
    Autonomie
    +
      +
    • Liberté, indépendance morale ou intellectuelle. Faculté de penser par et pour soi.
    • +
    +
    Boîte Noire
    +
      +
    • Théorisée par Norbert Wiener dans Cybernétique et société, Cybernetics and Society (The Human Use of Human Beings), publié aux éditions Deux Rives en 1952, la boîte noire est un système appréhendé uniquement au travers de ses inputs (entrées) et outputs (sorties) et dont le fonctionnement interne est opaque.
    • +
    +
    Communs
    +
      +
    • Les ressources et pratiques (digitales, matérielles, techniques, théoriques) qui appartiennent et son gérées de manière collectives par une communauté. Ils ne sont ni de propriété privée ni publique et représentent une alternative à cette binarité qui repose sur un accès égal aux communs et au partage des décisions.
    • +
    +
    Communauté
    +
      +
    • Ensemble de personnes partageant un intérêt, une morale, une éthique et se rassemblant physiquement ou numériquement pour produire, s’entraider, partager et améliorer leur production.
    • +
    +
    CMS
    +
      +
    • Un Content Manager System est un programme informatique qui permet de gérer le contenu d’un site web pour ensuite l’injecter dans des templates qui le formalisent lors de la mise en ligne.
    • +
    +
    Creative Coding
    +
      +
    • Utilisation de la programmation informatique à des fins artistiques, au travers d’un processus d’expérimentation et d’ouverture aux résultats inattendus.
    • +
    +
    Culture libre
    +
      +
    • Mouvement social et sous‑culture qui s’engage pour les quatres principes du libre. (liberté d’utilisation, d’étude, de modification et de copie ou redistribution).
    • +
    +
    Épanouissement
    +
      +
    • Fait de se réaliser pleinement, d’atteindre une forme d’harmonie de développement.
    • +
    +
    Éthique
    +
      +
    • Comportement qui dépend à la fois de valeurs morales préexistantes et de la prise en considération des sujets et environnements alentours.
    • +
    +
    Ethos
    +
      +
    • Tiré du grec du mot « coutume », l’ethos désigne dans ce mémoire un ensemble de valeurs qui s’incarne dans des actions et évolue au travers des pratiques.
    • +
    +
    Free
    +
      +
    • En anglais, le terme signifie à la fois libre et gratuit, causant parfois des contresens dans la compréhension et la traduction de textes liés aux logiciels free. Ce souci ne se pose pas en français.
    • +
    +
    Fork
    +
      +
    • En informatique, branche divergente du développement d’un programme. Un fork, une « dérivation », correspond à un nouveau projet qui émane d’un autre, déjà existant, avant d’évoluer dans une autre direction.
    • +
    +
    Gratuit
    +
      +
    • Qui ne nécessite pas de contrepartie pécuniaire pour être obtenu, utilisé ou adopté.
    • +
    +
    Hacker
    +
      +
    • Selon Collectif, « Hacker », The Jargon File 4.4.7 (traduction libre spécifiquement pour ce mémoire) « une personne qui apprécie explorer les détails de systèmes programmables et les façons d’étendre leurs capacités, en opposition à la plupart des utilisateur·ices qui préférent n’apprendre que le minimum nécessaire. » Le sens du mot hacker se rapproche du mot « bidouilleur·euse » en français.
    • +
    +
    Hardware
    +
      +
    • Éléments matériels, composants physiques d’une machine informatique.
    • +
    +
    Liberté
    +
      +
    • Possibilité d’agir, de penser par soi‑même, refus de toute sujétion aux choses, de toute pression d’autrui. Absence d’entraves, de préjugés dans la démarche intellectuelle.
    • +
    +
    Libriste
    +
      +
    • Membre de la communauté libre.
    • +
    +
    Licence
    +
      +
    • Une licence, dans le domaine logiciel, est le contrat par lequel le·a titulaire des droits du logiciel (le·a propriétaire) définit les droits dont dispose l’utilisateur·ice vis-à-vis de celui‑ci.
    • +
    +
    Licence libre
    +
      +
    • Une licence libre est une licence avec laquelle le·a ou les auteur·ices font le choix de renoncer à une partie, ou l’entièreté, de leurs droits d’auteur·ice. Cette licence respecte les quatres principes du libre : utilisation, étude, redistribution et modification.
    • +
    +
    Machine
    +
      +
    • Selon Norbert Wiener, système complexe, dont on étudie le comportement (entrées et sorties) plutôt que le fonctionnement profond. Dans ce mémoire, le mot désigne l’ordinateur comme un appareil complexe qui fait fonctionner ensemble différents éléments de software.
    • +
    +
    Moyens de production
    +
      +
    • Les instruments de production (outils et machines) ainsi que la technique, les savoirs et savoirs‑faire qui permettent le travail.
    • +
    +
    Open Source
    +
      +
    • État du code d’un programme qui est accessible, soit dans le programme lui‑même soit grâce à une forme de documentation. Un programme open source n’est pas forcément libre alors qu’un logiciel libre est toujours open source.
    • +
    +
    Outil
    +
      +
    • Le mot désigne ici les outils numériques, les logiciels. Paradoxalement, nous parlerons aussi d’outils dans l’outil, comme l’outil « pinceau ». Ceux‑ci se rapprochent plutôt de « fonctionnalités ».
    • +
    +
    PAO
    +
      +
    • Publication Assistée par Ordinateur.
    • +
    +
    Propriété
    +
      +
    • Ensemble des droits exclusifs permettant l’exploitation d’une marque, d’un brevet, d’une licence, d’un dessin, d’une appellation et contre lesquels les propriétaires peuvent exiger une contrepartie pécuniaire.
    • +
    +
    Software
    +
      +
    • La partie immatérielle, logicielle, d’une machine informatique.
    • +
    + +
    +
    + + + +

    + Remerciements +

    + + +
    +
    +

    Je tiens à remercier toutes les personnes qui ont permis à ce mémoire d’exister tel qu’il est. +

    +Merci à Lénore Conte et Olivier Koettlitz, mes tuteur·ices, pour leurs conseils aussi précis que précieux, l’attention portée à mon écrit et leurs relectures. Merci à Bastien Sion de m’avoir transmis son affection si humaine pour le design graphique. J’espère vous avoir (au moins un peu) fait changer d’avis. +

    +Merci à ÉO, BT, NP, LM, AG et RM pour tout ce que vous m’avez transmis lors de mon stage aux côtés de Luuse l’année dernière. Merci pour les compétences techniques (sans lesquelles tout aurait été bien plus laborieux), le prêt des bouquins et, surtout, les conversations passionnantes. +
    +Merci à Sarah Garcin pour nos échanges par courriel, pour ta bienveillance et tes encouragements. +
    +À vous sept, merci de rendre concrètes et visibles des visions du design graphique qui s’autorisent à faire un pas de côté. +

    +Merci à Théo pour les leçons de JavaScript, pour le script que je n’aurai pas eu le temps d’écrire et pour tout le reste. Merci à Inès et Romy pour cinq des plus chouettes années de ma vie. +

    +Merci à Julien Taquet pour le coup de pouce sur les traits de coupe et à l’Atelier Bien Vu et Léo Carbonnet pour le suivi sur la mise en page. +
    +Merci à Nicolas Taffin pour la relecture qui m'a permis de corriger la version web.

    + +
    +
    + +
    + +
    + + + + + + + + + + + + + + + diff --git a/sac/pages/ieeexplore-ieee-org-xpl-issues-punumber-6731005-isnumber-6772315 b/sac/pages/ieeexplore-ieee-org-xpl-issues-punumber-6731005-isnumber-6772315 new file mode 100644 index 0000000..5e85c81 --- /dev/null +++ b/sac/pages/ieeexplore-ieee-org-xpl-issues-punumber-6731005-isnumber-6772315 @@ -0,0 +1,875 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Bell System Technical Journal | All Issues | IEEE Xplore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + +
    + + + + + + + + + + +
    + +
    + +
    +
    +
    +
    + + + + + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + \ No newline at end of file diff --git a/sac/pages/jdebp-uk-softwares-nosh-italics-in-manuals-html b/sac/pages/jdebp-uk-softwares-nosh-italics-in-manuals-html new file mode 100644 index 0000000..c732fd8 --- /dev/null +++ b/sac/pages/jdebp-uk-softwares-nosh-italics-in-manuals-html @@ -0,0 +1,202 @@ + + + + + + +Italics and colour in manual pages on a nosh user-space virtual terminal +

    Italics and colour in manual pages on a nosh user-space virtual terminal

    + + + +
    +

    +Most typefaces have at least three fonts available: roman, bold, and italic. +Normal body copy is printed in the roman font. +You can change temporarily to a bold or italic font for emphasis. +

    +

    — Dale Dougherty & Tim O'Reilly. UNIX text processing. Sams. 1986

    +
    + +

    +Unix document processing tools have supported italicization since the 1970s. +ECMA-48 defined a standard Set Graphic Rendition mechanism for specifying boldface, faint, underlined, and italicized text in its first edition, published in 1976. +

    + +

    +It is now four decades later. +The wide array of disparate terminal types has narrowed, to the extent that people now actually get away with hardwiring ISO colour and attribute control sequences into their programs. +(systemd does this, for example. +So too does GNU grep.) +Support for at least 8 colours, and usually 16 colours, is now the rule rather than the exception when it comes to terminal hardwares that people use. +GNU grotty (a part of the manual system that converts the page to display to a terminal character stream with control sequences) actually defaults to using ECMA-48 control sequences for boldface, underline, and italics; and ISO 8613-6:1994 control sequences for colour. +One would think that making Unix or Linux manual pages display with italicized and coloured text would be straightforward and commonplace nowadays. +

    + +

    +One would be wrong. +

    + +

    +Four decades' worth of Unix and Linux people have decided that it is Just Not Right for manual pages to be displayed with italic text where the manual page uses (say) the .I roff macro — that specifies italic text. +They have, between them, put in place quite a range of obstacles that must be overcome in order to see something, on today's machines, that was nominally available back in the late 1970s. +

    + +

    +User-space virtual terminals provided by the nosh toolset support a full set of ECMA-48 text attributes and ISO 8613-6 24-bit RGB colour. +Here are the contortions that will present manual pages in all of their coloured and italicized glory when viewing them on a nosh user-space virtual terminal. +

    + +

    +What needs to happen, internally +

    + +

    +The manual system is a suite of coöperating programs, all connected together by the man command, that do various pieces of processing in order to end up with a manual page displayed on one's terminal. +The last two commands in the chain are the ones that are relevant to colour and italicization. +

    + +
      +
    • +grotty is a device-specific renderer. +It is responsible for taking a "device independent" encoding of the manual page (the so-called ditroff form) and converting it into a sequence of text interspersed with the necessary control sequences for rendering boldface, italics, underline, and colour. +

      +By default, grotty actually emits ISO 8613-6 control sequences for colour. +It does not emit ECMA-48 control sequences for italics by default, though. +That has to be explicitly turned on with its -i command-line option. +

      +Furthermore, one has to avoid turning grotty's default behaviour off. +grotty has a fall-back compatibility mode, where it does not emit any sort of control sequence for either colours or italicization, but instead treats the terminal as if it were a typewriter, using backspace to overstrike characters with themselves (for boldface) or an underscore character (for underline). +Ironically, terminals are not typewriters, and this backwards-compatible convention does not achieve the intended result if written directly to a terminal. +Instead, it then has to be turned into proper terminal escape codes by another program, further down the pipeline. +

      +This compatibility mode that one has to avoid is turned on in one of three ways: +one invokes it with its -c command-line option; one embeds a special string (tty: sgr 0) in the ditroff input that it receives for conversion; or one runs it with the GROFF_NO_SGR environment variable set and non-blank. +

    • +
    • +less (and its equivalents) is a pager. +It is responsible for taking a sequence of text interspersed with control sequences and displaying it in a scrollable form on the terminal. +It is less that understands the overstrike-with-backspace convention and knows to write out the terminal control sequences for changing text attributes, instead. +

      +It is also less that can be invoked with an -R option that causes it to recognize and pass terminal control sequences, for setting colours and attributes, straight through from its input to the terminal that it is displaying on. +

    • +
    + +

    +You do not need to do anything special to the console-fb-realizer display realizer program in the nosh toolset to make it handle italicization and colour. +That is the default. +You can explicitly hand proper weighted and italicized fonts to it, for best results, and it will just render them. +But (as its manual page explains) it will resort to doubling-up and obliquing as fallback measures if it isn't supplied with such fonts. +

    + +

    +The console-terminal-emulator terminal emulator program in the nosh toolset supports the ECMA-48 and ISO 8613-6 control sequences right out of the box, no configuration required. +

    + +

    +FreeBSD man command +

    + +

    +In 2011, FreeBSD's man command gained its MANCOLOR mechanism. +Unless the MANCOLOR environment variable is set and non-blank, man arranges for grotty to be invoked with its -c option. +The man command also attempts to deduce that it needs to give the -R option to less if that is the pager that is being invoked. +

    + +

    +So setting the MANCOLOUR environment variable enables colours with little fanfare. +It does not enable italicization, though. +FreeBSD's man command does not have a similar flag to tell it to pass the -i command-line option to grotty. +

    + +

    +To achieve this, the following patch implements similar logic for a MANITALIC environment variable. +

    + +
    +--- /usr/src/usr.bin/man/man.sh.orig	2016-01-01 18:53:41.169871849 +0000
    ++++ /usr/src/usr.bin/man/man.sh	2016-05-16 14:26:03.474372847 +0100
    +@@ -356,8 +356,10 @@
    + 		;;
    + 	esac
    + 
    +-	if [ -z "$MANCOLOR" ]; then
    ++	if [ -z "$MANCOLOR" ] && [ -z "$MANITALIC" ]; then
    + 		NROFF="$NROFF -P-c"
    ++	elif [ -n "$MANITALIC" ]; then
    ++		NROFF="$NROFF -P-i"
    + 	fi
    + 
    + 	if [ -n "${use_width}" ]; then
    +
    + +

    +Debian man command +

    + +

    +The obstacles put in the way on Debian operating systems are subtler, and undocumented. +

    + +

    +In 2002, Colin J. Watson of Debian added an undocumented flag to groff. +This undocumented flag is the GROFF_SGR environment variable. +Unless it is set, roff macro code in the /etc/groff/man.local file forcibly and quietly emits the tty: sgr 0 control sequence into the input that is given to grotty. +

    + +

    +Setting this flag is an undocumented override that restores the behaviour of grotty that people expect from its documentation. +Debian's man command doesn't itself actually pass the -c command line flag, emit the control sequence, or set the GROFF_NO_SGR environment variable, and a user who didn't know to dig into a decade-and-a-half old bug report against a long since superseded version of Debian Linux could be excused being mystified by how on Earth the programs were not behaving as documented. +

    + +

    +It doesn't enable the non-default behaviour of grotty that employs real italicization, though. +To do that, it is necessary to pass the -i option to grotty. +This is done by passing the -P-i option to groff. +This is in turn done by passing the -- -P-i option to nroff. +But the Debian man command is not a shell script that can be easily patched in situ, but a compiled program. +So one has to employ the MANROFFOPT environment variable, setting it to "-- -P-i". +

    + +

    +Or one can patch the offending macro code out of the /etc/groff/man.local file, as long as one is prepared to re-apply that patch every time that the package containing that file is upgraded/reinstalled. +

    + +

    +Arch man command +

    + +

    +It has been reported that the settings that apply on Debian also apply to Arch Linux. +

    + +
    +
    + + +© Copyright 2016 +Jonathan de Boyne Pollard. +"Moral" rights asserted. +
    +Permission is hereby granted to copy and to distribute this WWW page in its original, unmodified form as long as its last modification datestamp information is preserved. +
    + + diff --git a/sac/pages/larlet-fr-david b/sac/pages/larlet-fr-david new file mode 100644 index 0000000..d9709fc --- /dev/null +++ b/sac/pages/larlet-fr-david @@ -0,0 +1,738 @@ + + + + + + + + + + + Accueil + — David Larlet + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    David Larlet

    +

    Avant Facebook, il y avait les sites perso.

    +
    +
    +

    Bienvenue

    +

    + Voici mon espace sur le Web. + C’est un jardin pour faire pousser mes idées, + une boîte à chaussure pour mes souvenirs, + la forêt de mes réflexions plus ou moins enchevêtrées, + les métaphores ne manquent pas. + Je vous souhaite de vous y perdre, de revenir, + d’engager des échanges, d’être en désaccord, + d’improviser une rencontre + et que l’on finisse par s’échanger nos meilleures recettes. +

    +

    + Souvent je code, + parfois je vais en forêt + et il m’arrive même de prendre des photos. + On peut papoter sur mastodon + ou par courriel. + Vous pouvez suivre les publications + grâce au flux RSS/Atom (explications). +

    +

    + + Check out my + profile in English🇨🇦 + for up-to-date professional informations. + +

    +

    Publications 2024

    + +

    Liste des publications récentes en ordre anté-chronologique :

    +

    + LoginWall, + Dune, + Marque, + Flow, + Sondages, + Vannerie, + Jour 2, + Jour 1, + Permanence, + Montre, + Simple, + Wikipédia, + Dérèglement, + Rédaction, + Galaxie, + Jour 2, + Jour 1, + Préparatifs, + Responsabilité, + Cinéma, + Véhicule, + Injection, + In·directions, + Quotidien, + uMap 2, + Licence, + GéoCodage, + Feutrage, + Renards, + Violence, + Validisme, + Version, + Écoute, + Écureuil, + Anneau, + Jeu, + Tooltipopover, + Archives, + Valeurs, + Vision, + Mécénat, + Équipe, + Déploiement, + Jour 2, + Jour 1, + Cargo, + Stratégie, + Taille, + Thèse, + Légitimité, + Bois, + Extinction, + Marcher, + Open-source, + Vieillesse, + Endorphines, + Rééducation, + Fiction, + Wuwei, + Personnel, + Impact, + Écriture, + Blessure, + Liens, + Dons, + Objectif, + Vocabulaire, + Repos, + Appariement, + Fondations, + Dryear(s). + + +

    +

    Ou par étiquettes :

    +

    + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + . + + +

    +

    + Les liens des ami·es avec leurs dernières publications 🤗. +

    +

    Publications plus anciennes

    +

    + J’ai publié + sporadiquement en 2023 + ainsi qu’en 2022, + (pres)quotidiennemment en 2021 et + hebdomadairement en 2020 + . +

    +

    + Vous pouvez aussi consulter les différents + billets de blog qui ont été rédigés de 2004 (!) à 2019 + ou les entrées de journaux relativement + régulières entre 2009 et 2019. +

    +

    + + Notez qu’avec un tel historique, certaines informations sont obsolètes et/ou + plus cautionnées. + +

    + + +
    +
    + Recherche + + + +

    + + Seuls les contenus de ces 8 dernières années sont indexés. + +

    +
    +
    + + +
    +
    + + + + + + \ No newline at end of file diff --git a/sac/pages/luc-devroye-org-bezier-index-html b/sac/pages/luc-devroye-org-bezier-index-html new file mode 100644 index 0000000..0c845c1 --- /dev/null +++ b/sac/pages/luc-devroye-org-bezier-index-html @@ -0,0 +1,394 @@ + + + +Bezier curves---Index Page + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    TYPE DESIGN INFORMATION PAGE last updated on +Tue Mar 5 04:43:38 EST 2024 + +

    SEARCH THIS SITE:
    +

    IMAGE SEARCH:
    +

    FONT RECOGNITION VIA FONT MOOSE +

    +

    LUC DEVROYE +

    +
    +

    ABOUT +

    + + + + + + + + + + + + + + + + +



    +
    +
    +
    +
    +
    +
    +

    Bezier curves


    +
    +
    +
    +
    +
    +
    +



    +

    SWITCH TO FULL LENGTH FILE


    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +2-D curve generation [Google] + [More]  ⦿ +

    +A Primer on Bezier Curves [Pomax] + [Google] + [More]  ⦿ +

    +A Primer on Bezier Curves [Mike "Pomax" Kamermans] + [Google] + [More]  ⦿ +

    +A Tribute to Pierre Bézier (1910-1999) [Pierre Bézier] + [Google] + [More]  ⦿ +

    +Alex Dumestre [Google] + [More]  ⦿ +

    +Apple: Digitizing Letterforms [Google] + [More]  ⦿ +

    +Barbara Brownie [Google] + [More]  ⦿ +

    +Barsky and Bézier [Pierre Bézier] + [Google] + [More]  ⦿ + +

    +Bézier [Google] + [More]  ⦿ +

    +Béziers [Simon Cozens] + [Google] + [More]  ⦿ +

    +Bezier applet [More]  ⦿ +

    +Bezier approximation of a circle arc [Google] + [More]  ⦿ +

    +Bezier conversions [Google] + [More]  ⦿ +

    +Bezier curve [Google] + [More]  ⦿ + +

    +Bezier curves tutorial [Google] + [More]  ⦿ + +

    +Bezier drawing tool [Google] + [More]  ⦿ +

    +bezierjs [Mike "Pomax" Kamermans] + [Google] + [More]  ⦿ +

    +Bill Casselman [Google] + [More]  ⦿ +

    +BubbleKern [Toshi Omagari] + [Google] + [More]  ⦿ +

    +caryll / shapeops [Google] + [More]  ⦿ +

    +Converting Bezier Curves to Quadratic Splines [Google] + [More]  ⦿ +

    +Cornu spiral [Google] + [More]  ⦿ + +

    +cu2qu [Google] + [More]  ⦿ +

    +cubic2quad [Google] + [More]  ⦿ +

    +DIN and Klothoids [Google] + [More]  ⦿ +

    +Drawing circles in Postscript [Google] + [More]  ⦿ +

    +Fitting ellipses to points [Google] + [More]  ⦿ +

    +Font Mikado: Making a libre typeface and learning a lot [Simon Peter] + [Google] + [More]  ⦿ +

    +G. Scott Owen [Google] + [More]  ⦿ +

    +Geometric Modelling [Ken Joy] + [Google] + [More]  ⦿ +

    +Geometry, Surfaces, Curves, Polyhedra [Paul Bourke] + [Google] + [More]  ⦿ +

    +Guru's Lair Cubic Spline and Bezier Curves Library [Google] + [More]  ⦿ +

    +Harrisson [Open Source Publishing (or: OSP)] + [More]  ⦿ +

    +Jan Gerner [Yanone] + + [More]  ⦿ +

    +Jan Gerner [Speed Punk] + [More]  ⦿ +

    +Jim Fitzsimmons [Google] + [More]  ⦿ +

    +Ken Joy [Geometric Modelling] + [More]  ⦿ +

    +Marina Lukashenko [Google] + [More]  ⦿ +

    +Mike "Pomax" Kamermans [bezierjs] + [More]  ⦿ +

    +Mike "Pomax" Kamermans [A Primer on Bezier Curves] + [More]  ⦿ +

    +Open Source Publishing (or: OSP) [Harrisson] + [Google] + [More]  ⦿ + + + + +

    +Paul Bourke [Geometry, Surfaces, Curves, Polyhedra] + [More]  ⦿ +

    +Peter Vollenweider [Rechenzentrum Universität Zürich] + [More]  ⦿ +

    +Pierre Bézier [A Tribute to Pierre Bézier (1910-1999)] + [More]  ⦿ +

    +Pierre Bézier [Barsky and Bézier] + [More]  ⦿ +

    +Pierre Etienne Bézier + [Google] + [More]  ⦿ + +

    +Polyline2bezier [Yuhta Nakajima] + [Google] + [More]  ⦿ +

    +Pomax [A Primer on Bezier Curves] + [More]  ⦿ +

    +Raph Levien [Google] + [More]  ⦿ + + +

    +Rechenzentrum Universität Zürich [Peter Vollenweider] + [Google] + [More]  ⦿ +

    +RZU [Google] + [More]  ⦿ +

    +Simon Cozens [Béziers] + [More]  ⦿ +

    +Simon Peter [Font Mikado: Making a libre typeface and learning a lot] + [More]  ⦿ +

    +Song Sam Liang [Google] + [More]  ⦿ +

    +Speed Punk [Jan Gerner] + [Google] + [More]  ⦿ +

    +Spline applet [Google] + [More]  ⦿ +

    +Thomas W. Sederberg [Google] + [More]  ⦿ + +

    +Tom Dukich [Google] + [More]  ⦿ +

    +Tomek Zemla [Google] + [More]  ⦿ +

    +Toshi Omagari [BubbleKern] + [More]  ⦿ +

    +Typo-L: Bezier Curves [Google] + [More]  ⦿ +

    +Urs Oswald [Urs Oswald: Bezier Curves] + [More]  ⦿ +

    +Urs Oswald: Bezier Curves [Urs Oswald] + [Google] + [More]  ⦿ +

    +Yanone [Jan Gerner] + + [Google] + [More]  ⦿ +

    +Yuhta Nakajima [Polyline2bezier] + [More]  ⦿ +

    + + + + + + + +
    +
    +
    +
    +
    + diff --git a/sac/pages/luc-devroye-org-fonts-27508-html b/sac/pages/luc-devroye-org-fonts-27508-html new file mode 100644 index 0000000..0a3e5ff --- /dev/null +++ b/sac/pages/luc-devroye-org-fonts-27508-html @@ -0,0 +1,109 @@ + + + + + +Richard A. Ware + + + + + + + + + + + + + + + + + + + + + + +
    +

    TYPE DESIGN INFORMATION PAGE last updated on +Tue Mar 5 05:06:29 EST 2024 + +

    SEARCH THIS SITE:
    +

    IMAGE SEARCH: +

    FONT RECOGNITION VIA FONT MOOSE +

    +

    LUC DEVROYE +

    +
    +

    ABOUT +

    + + + + + + + + + + + + + +


    +
    +
    +
    +


    +

    +

    Richard A. Ware + + +

    Richard Ware is the designer of the freeware fonts ArtScript, Bonnard, Moulin Rouge FLF (1992, Casady and Greene), MurmanskFWF, OdessaScript, PeignotCiril. Many are for Cyrillic. No web page, as far as I know. He was an in-house designer at Casady and Greene in the late eighties and early nineties. He died in 2008 or just before that. Apparently---but unconfirmed---he once announced that his fonts would be free after the closing of Casady and Greene. +

    +

    +EXTERNAL LINKS
    +MyFonts search
    +Monotype search
    +Fontspring search
    +Google search

    +INTERNAL LINKS
    +Cyrillic type design ⦿ +Type designers ⦿ +Type designers ⦿ +







    +
    file name: Richard A Ware Moulin Rouge F L F 1992

    +
    file name: Richard A Ware Moulin Rouge F L F 1992

    + + + + +






    + + + +
    +

    + +Luc Devroye ⦿ School of Computer Science ⦿ McGill University Montreal, Canada H3A 2K6 ⦿ lucdevroye@gmail.com ⦿ http://luc.devroye.org ⦿ http://luc.devroye.org/fonts.html + +

    +
    + + diff --git a/sac/pages/luc-devroye-org-fonts-50645-html b/sac/pages/luc-devroye-org-fonts-50645-html new file mode 100644 index 0000000..575f6f0 --- /dev/null +++ b/sac/pages/luc-devroye-org-fonts-50645-html @@ -0,0 +1,118 @@ + + + + + +Ludivine Loiseau + + + + + + + + + + + + + + + + + + + + + + +
    +

    TYPE DESIGN INFORMATION PAGE last updated on +Tue Mar 5 05:19:08 EST 2024 + +

    SEARCH THIS SITE:
    +

    IMAGE SEARCH: +

    FONT RECOGNITION VIA FONT MOOSE +

    +

    LUC DEVROYE +

    +
    +

    ABOUT +

    + + + + + + + + + + + + + +


    +
    +
    +
    +


    +

    +

    Ludivine Loiseau + + +

    Born in Besançon, France, in 1983, Ludivine graduated from Ecole Estienne in Paris in 2006 and now lives and works in Brussels as a freelance graphic artist and illustrator for the Speculoos agency. Font creations include the handwritten Alphajet (2005) and the Ethiopian/Latin/Turkish/Hebrew mixed experimental font Kassidy. In 2008, she made NotCourier Sans (Open Font Library, a free typewriter family based on Nimbus Mono; Cyrillic glyphs added by Valek Filippov).

    Kernest link. +

    +

    +EXTERNAL LINKS
    +Ludivine Loiseau
    +MyFonts search
    +Monotype search
    +Fontspring search
    +Google search

    +INTERNAL LINKS
    +Type designers ⦿ +Type designers ⦿ +The Belgian type scene ⦿ +Type design in France ⦿ +Experimental type ⦿ +Handwriting fonts ⦿ +Typewriter fonts ⦿ +Open source fonts ⦿ +Courier and derived typefaces ⦿ +







    +
    file name: Ludivine Loiseau Kassidy 1 s

    +
    file name: Ludivine Loiseau Not Courier Sans 2009

    +
    file name: Ludovine Loiseau Not Courier Sans 2008

    +
    file name: Ludivine Loiseau Not Courier Sans 2010

    + + + + +






    + + + +
    +

    + +Luc Devroye ⦿ School of Computer Science ⦿ McGill University Montreal, Canada H3A 2K6 ⦿ lucdevroye@gmail.com ⦿ http://luc.devroye.org ⦿ http://luc.devroye.org/fonts.html + +

    +
    + + diff --git a/sac/pages/lundi-am b/sac/pages/lundi-am new file mode 100644 index 0000000..9dceb97 --- /dev/null +++ b/sac/pages/lundi-am @@ -0,0 +1,12847 @@ + + + + + + + + + + + + + + + + + + + + lundimatin | #420 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + #420 +
    + 18 mars +
    +
    + +
    + + +
    + + +
    + + + +
    + + + + + + + +
    + + +
    + #419 +
    + 11 mars +
    +
    + +
    + + +
    + + +
    + + + + + + + +
    + + +
    + #418 +
    + 4 mars +
    +
    + +
    + + +
    + + +
    + + + + + + + +
    + + +
    + #417 +
    + 26 février +
    +
    + +
    + + +
    + + +
    + + + + + + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/mail-ovh-net-roundcube---task-mail--mbox-inbox-inbox-sent b/sac/pages/mail-ovh-net-roundcube---task-mail--mbox-inbox-inbox-sent new file mode 100644 index 0000000..f5f476c --- /dev/null +++ b/sac/pages/mail-ovh-net-roundcube---task-mail--mbox-inbox-inbox-sent @@ -0,0 +1,87 @@ + + + +Roundcube Webmail :: Welcome to Roundcube Webmail + + + + + + + + + + + + + + + +
    + +
    +
    Welcome to Roundcube Webmail
    +
    + +
    + +

    +
    + +
    +
    + + + +
    + Roundcube Webmail + + +
    + + + + + + + + \ No newline at end of file diff --git a/sac/pages/maisondeseditions-fr-ideal-documents-evorevo-html-toc10 b/sac/pages/maisondeseditions-fr-ideal-documents-evorevo-html-toc10 new file mode 100644 index 0000000..230fb15 --- /dev/null +++ b/sac/pages/maisondeseditions-fr-ideal-documents-evorevo-html-toc10 @@ -0,0 +1,140 @@ + + + + + + + Évolution et Révolution + + +

    Élisée Reclus

    +

    Évolution et Révolution

    +

    1891

    +

          Évolution de l’Univers et Révolutions partielles

    +

          Acception fausse des termes « Évolution » et « Révolution »

    +

          Évolutionnistes. Les hypocrites et les timorés.

    +

          Évolution et Révolution, deux stades successifs d’un même phénomène

    +

          Révolutions progressives et Révolutions régressives

    +

          Évènements complexes, à la fois décadence et progrès. Renaissance, Réforme, Révolution française.

    +

          Révolutions conscientes succèdant aux Révolutions instinctives

    +

          Objectif révolutionnaire et savoir naissant des révoltés

    +

          Nécessité de la Révolution. Loi de Malthus.

    +

          Ignorance des savants, instruction croissante du peuple

    +

          Corrélation du Savoir et du Pouvoir

    +

          Révolution prochaine, conséquence de l’évolution accomplie. Inflexibilité nécessaire du Capital

    +

          Péjoration fatale de toutes les institutions du pouvoir, monarchiques ou républicaines

    +

          Sociétés opposées ; forces en lutte

    +

          Disparition de la foi. Diminution respect. Pessimisme et suicide.

    +

          Internationale

    +

          Future coïncidence pacifique de l’Évolution et de la Révolution

    +

    Évolution de l’Univers et Révolutions partielles

    +

    L’évolution est le mouvement infini de tout ce qui existe, la transformation incessante de l’Univers et de toutes ses parties depuis les origines éternelles et pendant l’infini des âges. Les voies lactées qui font leur apparition dans les espaces sans bornes, qui se condensent et se dissolvent pendant les millions et les milliards de siècles, les étoiles, les astres qui naissent, qui s’agrègent et qui meurent, notre tourbillon solaire avec son astre central, ses planètes et ses lunes, et, dans les limites étroites de notre petit globe terraqué, les montagnes qui surgissent et qui s’effacent de nouveau, les océans qui se forment pour tarir ensuite, les fleuves qu’on voit perler dans les vallées, puis se dessécher comme la rosée du matin, les générations des plantes, des animaux et des hommes qui se succèdent, et nos millions de vies imperceptibles de l’homme au moucheron, tout cela n’est que phénomène de la grande évolution entraînant toutes choses dans son tourbillon sans fin.

    +

    En comparaison de ce fait primordial de l’évolution et de la vie universelle, que sont tous ces petits événements que nous appelons des révolutions, astronomiques, géologiques ou politiques ? Des vibrations presque insensibles, des apparences, pourrait-on dire. C’est par myriades et par myriades que les révolutions se succèdent dans l’évolution universelle ; mais si minimes qu’elles soient, elles font partie de ce mouvement infini.

    +

    Acception fausse des termes « Évolution » et « Révolution »

    +

    Ainsi la science ne voit aucune opposition entre ces deux mots d’Évolution et Révolution, qui se ressemblent si fort ; mais dans le langage commun ils sont employés dans un sens bien distinct de leur signification première. Loin d’y voir des faits du même ordre ne différant que par l’ampleur du mouvement, les hommes timorés que tout changement emplit d’effroi affectent de donner aux deux termes un sens absolument opposé. L’Évolution, synonyme de développement graduel, continu, dans les idées et dans les mœurs, est présentée comme si elle était le contraire de cette chose effrayante, la Révolution, qui implique des changements plus ou moins brusques dans les faits. C’est avec un enthousiasme apparent ou même sincère qu’ils discourent de l’évolution, des progrès lents qui s’accomplissent dans les cellules cérébrales, dans le secret des intelligences et des coeurs, mais qu’on ne leur parle pas de l’abominable révolution qui s’échappe soudain des esprits pour éclater dans les rues, accompagnée parfois par les hurlements de la foule et le fracas des armes.

    +

    Constatons tout d’abord que si le mot d’évolution est accepté volontiers par ceux-là même qui voient les révolutionnaires avec horreur, c’est qu’ils ne se rendent point compte de la valeur du mot, car de la chose elle-même ils ne veulent à aucun prix. Ils parlent bien du progrès en termes généraux, mais ils repoussent le progrès en particulier. Ils trouvent que la société actuelle, toute mauvaise qu’elle est et qu’ils la voient eux-mêmes, est bonne à conserver ; il leur suffit qu’elle réalise leur idéal, richesse, pouvoir ou bien-être. Puisqu’il y a des riches et des pauvres, des puissants et des sujets, des maîtres et des serviteurs, des Césars qui ordonnent le combat et des gladiateurs qui vont mourir, les gens avisés n’ont qu’à se mettre du côté des riches et des maîtres, à se faire les courtisans des Césars. Cette société donne du pain, de l’argent, des places, des honneurs, eh bien ! que les hommes d’esprit s’arrangent de manière à prendre leur part, et la plus large possible, de tous les présents de la destinée ! Si quelque bonne étoile, présidant à leur naissance, les a dispensés de toute lutte en leur donnant en héritage le nécessaire et le superflu, de quoi se plaindraient-ils ? Ils se persuadent sans peine que tout le monde est aussi satisfait qu’ils le sont eux-mêmes. Pour l’homme repu, tout le monde a bien dîné. Quant à l’égoïste que la société n’a pas richement doté dès son berceau, du moins peut-il espérer de conquérir sa place par l’intrigue ou par la flatterie, par un heureux coup du sort ou même par un travail acharné mis au service des puissants. Comment s’agirait-il pour lui d’évolution sociale ? Évoluer vers la fortune est sa seule ambition ! Autant demander un cours de philosophie à des gamins qui se disputent des sous jetés d’un balcon par quelque facétieux bourgeois !

    +

    Évolutionnistes. Les hypocrites et les timorés.

    +

    Mais il est cependant des timorés qui croient honnêtement à l’évolution des idées et qui néanmoins, par un sentiment de peur instinctive, veulent éviter toute révolution. Ils l’évoquent et la conjurent en même temps : ils critiquent la société présente et rêvent de la société future avec une vague espérance qu’elle apparaîtra soudain, par une sorte de miracle, sans que le craquement de la rupture se produise entre le monde passé et et le monde futur. Êtres incomplets, ils n’ont que le désir, sans avoir la pensée ; ils imaginent, mais ils ne savent point vouloir. Appartenant aux deux mondes à la fois, ils sont fatalement condamnés à les trahir l’un et l’autre : dans la société des conservateurs, ils sont un élément de dissolution par leurs idées et leur langage ; dans celle des révolutionnaires, ils deviennent réacteurs à outrance, abjurant leurs instincts de jeunesse et, comme le chien dont parle l’Évangile, « retournant à ce qu’ils avaient vomi». C’est ainsi que, pendant la Révolution, les défenseurs les plus ardents de l’ancien régime furent ceux qui jadis l’avaient poursuivi de leurs risées. Ils s’apercevaient trop tard, comme les inhabiles magiciens de la légende, qu’ils avaient une force trop redoutable pour leur faible volonté, pour leurs timides mains.

    +

    Une autre classe d’évolutionnistes est celle des gens qui dans l’ensemble des changements à accomplir n’en voient qu’un seul et se vouent strictement, méthodiquement à sa réalisation, sans se préoccuper des autres transformations sociales. Ils ont limité, borné d’avance leur champ de travail. Les uns, gens habiles, ont voulu de cette manière, se mettre en paix avec leur conscience et travailler pour la révolution future sans danger pour eux-mêmes. Sous prétexte de consacrer leurs efforts à une réforme de réalisation prochaine, ils perdent complètement de vue tout idéal supérieur et l’écartent même avec colère afin qu’on ne les soupçonne pas de le partager. D’autres, plus honnêtes ou tout à fait respectables, même vaguement utiles à l’achèvement du grand œuvre, sont ceux qui en effet ne voient, par étroitesse d’esprit, d’autres progrès à accomplir que ceux qu’ils préconisent. La sincérité de leur pensée et de leur conduite les place au-dessus de la critique : nous les disons nos frères, tout en reconnaissant avec chagrin combien est étroit le champ de lutte dans lequel ils se sont cantonnés. Je ne parle pas de ceux qui ont pris pour objectifs soit la réforme de l’orthographe, soit la réglementation de l’heure ou le changement du méridien, soit encore la suppression des corsets ou des bonnets à poils ; mais il est des révolutions plus sérieuses qui ne prêtent point au ridicule et qui demandent chez leurs protagonistes, courage, persévérance et dévouement. Ainsi quand je vois une femme, pure de sentiments, noble de caractère, intacte de tout scandale dans l’opinion, descendre vers les prostituées et leur dire : « Tu es ma sœur, et je viens m’allier avec toi pour lutter contre l’agent des mœurs qui t’insulte et met la main sur toi, contre le médecin de la police qui te fait ternir par des argousins et te viole par sa visite, contre la société tout entière qui te méprise et te foule aux pieds», je ne m’arrêterai pas à des considérations générales pour marchander mon respect à la vaillante révolutionnaire qui s’est mise en lutte contre toute l’impudique société. Sans doute, je n’ignore pas que toutes les révolutions se tiennent, et que la révolte de l’individu contre l’État embrasse la cause du forçat ou de tout autre réprouvé, aussi bien que celle de la prostituée ; néanmoins je n’en suis pas moins saisi d’admiration devant tous les vaillants qui combattent le bon combat dans leur étroit champ clos. Je les secoue avec émotion et je me dis : « Sachons les égaler, sur notre champ de bataille plus vaste, qui comprend la terre entière ! »

    +

    En effet, l’évolution embrasse l’ensemble des choses humaines et la révolution doit l’embrasser aussi, bien qu’il n’y ait pas toujours un parallélisme évident dans les événements partiels dont se compose l’ensemble du mouvement. Tous les progrès sont solidaires, et nous les désirons tous dans la mesure de nos connaissances et de notre force : progrès sociaux et politiques, moraux et matériels, de science, d’art ou d’industrie. Évolutionnistes en toutes choses, nous sommes également révolutionnaires en tout, sachant que l’histoire même n’est que la série des accomplissements, succédant à celle des préparations. La grande évolution intellectuelle qui émancipe les esprits doit aussi émanciper en fait les individus dans tous leurs rapports avec les autres individus.

    +

    Évolution et Révolution, deux stades successifs d’un même phénomène

    +

    On peut dire ainsi que l’évolution et la révolution sont les deux actes successifs d’un même phénomène, l’évolution précédant la révolution, et celle-ci précédant une évolution nouvelle, mère de révolutions futures. Un changement peut-il se faire sans amener de soudains déplacements d’équilibre dans !a vie ? La révolution ne doit-elle pas nécessairement succéder à l’évolution, de même que l’acte succède à la volonté d’agir ? L’un et l’autre ne diffèrent que par l’époque de leur apparition. Qu’un éboulis barre une rivière, les eaux s’amassent peu à peu au-dessus de l’obstacle, un lac se formera par une lente évolution, puis tout à coup une infiltration se produira dans la digue d’aval, la chute d’un caillou décidera du cataclysme, l’obstacle sera violemment emporté et le lac vidé redeviendra rivière : ainsi aura lieu une petite révolution terrestre.

    +

    Si la révolution est toujours en retard sur l’évolution, la cause en est à la résistance des milieux : l’eau d’un courant bruit entre ses rivages parce que ceux-ci la retardent dans sa marche ; les vagues de la mer se brisent avec fracas sur les écueils et la foudre roule dans le ciel parce que l’atmosphère s’est opposée à l’étincelle sortie du nuage. Chaque transformation de la matière, chaque réalisation d’idée est dans la période même du changement contrariée par l’inertie du milieu, et le phénomène nouveau ne peut s’accomplir que par un effort d’autant plus violent ou par une force d’autant plus puissante, que la résistance est plus grande. Herder parlant de la Révolution française l’a déjà dit : « La semence tombe dans la terre, longtemps elle paraît morte, puis tout à coup elle pousse son aigrette, puis elle déplace la terre dure qui la recouvrait, elle fait violence à l’argile ennemie, et la voilà qui devient plante, qui fleurit et mûrit son fruit». Et l’enfant, comment naît-il ? Après avoir séjourné neuf mois dans les ténèbres du ventre maternel, c’est aussi avec violence qu’il s’échappe en déchirant son enveloppe, et parfois même en tuant sa mère. Telles sont les révolutions, conséquences forcées des évolutions qui les ont précédées.

    +

    Révolutions progressives et Révolutions régressives

    +

    Toutefois les révolutions ne sont pas nécessairement un progrès, de même que les évolutions ne sont pas toujours orientées vers la justice. Tout change, tout se meut dans la nature d’un mouvement éternel, mais s’il y a progrès il peut y avoir aussi recul, et si les évolutions tendent vers un accroissement de vie, il y en a d’autres qui tendent vers la mort. L’arrêt est impossible, il faut se mouvoir dans un sens ou dans une autre, et le réactionnaire endurci le libéral douceâtre qui poussent des cris d’effroi au mot de révolution, marchent vers une révolution, celle de la mort. La maladie, la sénilité, la gangrène sont des évolutions au même titre que la puberté. L’arrivée des vers dans le cadavre comme le premier vagissement de l’enfant, indique qu’une révolution s’est faite. La physiologie, l’histoire sont là pour nous montrer qu’il est des évolutions qui s’appellent décadence et des révolutions qui sont la mort.

    +

    L’histoire de l’Humanité, bien qu’elle ne nous soit à demi connue que pendant une courte période de quelques milliers d’années, nous offre déjà des exemples sans nombre de peuplades et de peuples, de cités et d’empires qui ont misérablement péri à la suite de lentes évolutions entraînant leur chute. Multiples sont les faits de tout ordre qui ont pu déterminer ces maladies de nations, de races entières. Cependant il est une cause majeure, la cause des causes dans laquelle se résume l’histoire de la décadence. Elle réside dans la constitution d’une partie de la société en maîtresse de l’autre partie, dans l’accaparement de la terre, des capitaux, du pouvoir, de l’instruction, des honneurs par quelques-uns ou par une aristocratie. Dès que la foule imbécile n’a plus le ressort de la révolte contre ce monopole d’un petit nombre d’hommes, elle est virtuellement morte et sa disparition n’est plus qu’une affaire de peu de temps. La peste noire arrive bientôt pour nettoyer tout cet inutile pullulement d’individus sans liberté ; les massacreurs accourent de l’Orient ou de l’Occident, et le désert se fait à la place des cités immenses. Ainsi moururent l’Assyrie et l’Égypte, ainsi s’effondrèrent la Perse, et quant tout l’empire romain appartint à quelques grands propriétaires, le barbare eut bientôt remplacé le prolétaire asservi.

    +

    Évènements complexes, à la fois décadence et progrès. Renaissance, Réforme, Révolution française.

    +

    Mais il n’est pas un événement qui ne soit double, à la fois un phénomène de mort et un phénomène de renouveau, c’est-à-dire la résultante complexe d’évolutions de décadence et de progrès. Ainsi cette destruction de l’Empire romain est un ensemble de révolutions correspondant à toute une série d’évolutions dont les unes ont été funestes et les autres heureuses. Certes, ce fut un grand soulagement pour les opprimés que la chute de cette formidable machine d’écrasement qui pesait sur le monde ; ce fut aussi une heureuse étape dans l’histoire de l’Humanité que cette entrée violente de tous les peuples du nord dans le monde de la civilisation, mais à despotisme succéda despotisme, d’une religion morte poussèrent les rejetons d’une religion nouvelle, et pendant un millier d’années, une nuit d’ignorance et de sottise propagée par les moines se répandit sur la terre.

    +

    De même, les autres mouvements historiques se présentent sous deux faces, suivant les mille éléments qui les composent et dont les conséquences multiples se montrent dans les révolutions politiques et sociales. L’exemple même de la Révolution qui mit un terme au moyen-âge et à la nuit de la pensée, nous montre comment deux révolutions peuvent s’accomplir à la fois, l’une cause dc décadence et l’autre de progrès. La période de la Renaissance qui retrouva les monuments de l’antiquité, qui déchiffra ses livres et ses enseignements, qui dégagea la science des formules superstitieuses et lança de nouveau les hommes dans la voie des études désintéressées, eut aussi pour contre-coup dans le monde religieux cette scission du christianisme à laquelle on a donné le nom de Réforme. Il a semblé longtemps naturel de voir simplement dans cette révolution une des crises bienfaisantes de l’Humanité, résumée par la conquête du droit d’initiative individuelle, par l’émancipation des esprits que les prêtres avaient tenus dans une servile ignorance : on crut que désormais les hommes seraient leurs propres maîtres, égaux les uns des autres par l’indépendance de la pensée. Mais on sait maintenant que la Réforme fut aussi la constitution d’églises autoritaires en face de l’autre église qui jusque-là avait possédé le monopole de l’asservissement intellectuel. La Réforme déplaça les fortunes et les prébendes au profit du pouvoir nouveau, et de part et d’autre naquirent des ordres, jésuites et contre-jésuites pour exploiter le peuple sous des formes nouvelles. Luther et Calvin parlèrent le même langage d’intolérance féroce à l’égard de ceux qui ne partageaient pas leur manière de voir. Comme l’Inquisition, ils firent écarteler et brûler ; leur doctrine fut une doctrine d’asservissement et de lâcheté. Sans doute, il existe une différence entre le protestant et le catholique : (je parle de ceux qui le sont en toute sincérité, et non par simple convenance de famille). Celui-ci est plus naïvement crédule, aucun miracle ne l’étonne ; celui-là fait un choix parmi les mystères et tient avec d’autant plus de ténacité à ceux qu’il croit avoir sondés ; il voit dans sa religion une affaire personnelle. En cessant de croire, le catholique cesse d’être chrétien ; en changeant de système, le protestant ne fait que changer de secte, il reste chrétien, inconvertissable mystique.

    +

    En continuant, nous arrivons à la grande époque évolutionnaire dont la Révolution américaine et la Révolution française furent les sanglantes crises. Ah ! là du moins, semble-t-il, la révolution fut tout à l’avantage du peuple, et ces grandes dates de l’histoire doivent être comptées comme inaugurant la naissance nouvelle de l’Humanité. Les conventionnels voulurent commencer l’histoire au premier jour de leur constitution, comme si les siècles antérieurs n’avaient pas existé, et que l’homme politique pût vraiment dater son origine de la proclamation de ses droits. Certes, cette période de l’histoire est une grande époque dans la vie des nations, un espoir immense se répandit alors par le monde, la pensée libre prit un essor qu’elle n’avait jamais eu, les sciences se renouvelèrent, l’esprit de découverte agrandit à l’infini les bornes du monde, et jamais on ne vit un tel nombre d’hommes transformés par un idéal nouveau, faire avec plus de simplicité le sacrifice de leur vie. Mais cette révolution, nous le voyons maintenant, n’était point la révolution de tous, elle fut celle de quelques-uns pour quelques-uns ; le droit de l’homme resta purement théorique, la garantie de la propriété privée que l’on proclamait en même temps, le rendait illusoire. Une nouvelle classe de jouisseurs avides, enthousiastes, se mit à l’œuvre d’accaparement, la Bourgeoisie remplaça la classe usée déjà sceptique et pessimiste de la vieille noblesse, et les nouveaux-venus se mirent avec une ardeur et une science que n’avaient jamais eues les anciennes classes dirigeantes à exploiter la foule de ceux qui ne possédaient point. C’est au nom de la liberté, de l’égalité, de la fraternité que se firent désormais toutes les scélératesses. C’est pour émanciper le monde que Napoléon traînait derrière lui un million d’égorgeurs, c’est pour faire le bonheur de leurs chères patries respectives que les capitalistes constituent ces vastes propriétés, bâtissent les grandes usines, établissent ces puissants monopoles qui recréent sous une forme nouvelle l’esclavage d’autrefois.

    +

    Ainsi toutes les révolutions ont été doubles : on peut dire que l’histoire offre en toutes choses son revers et son endroit, et nous qui ne voulons pas nous payer de mots, nous devons étudier avec une implacable critique, tous les faits qui se sont accomplis, percer à jour les hommes qui prétendent s’être dévoués pour notre cause. Il ne suffit pas de crier : Révolution, Révolution ! pour que nous marchions aussitôt derrière celui qui veut nous entraîner. Sans doute, quand on ignore la vérité, il est naturel qu’on suive son instinct. On comprend très bien que le taureau affolé se précipite sur un chiffon rouge et que le peuple toujours opprimé se rue avec fureur contre le premier venu qu’on lui désigne. Une révolution quelconque, si minime qu’elle soit en réalité, a toujours cela de bon qu’elle est un témoignage de force, mais le temps est venu que ce témoignage ne soit pas celui d’une force aveugle et que les évolutionnaires, arrivant enfin à la pleine conscience de ce qu’ils veulent réaliser dans la révolution prochaine, ne se précipitent pas au hasard donnant de la corne à droite et à gauche comme des animaux insensés,

    +

    On peut dire que jusqu’à maintenant aucune révolution n’a été complètement spontanée, et c’est pour cela qu’aucune n’a complètement triomphé. Tous ces grands mouvements, sans exception, ont été plus ou moins dirigés et par conséquent ils n’ont réussi que pour les directeurs. C’est une classe qui a fait la Réforme et qui en a recueilli les avantages, c’est une classe qui a fait la Révolution française et qui en exploite les profits, mettant en coupe réglée tous les malheureux qui l’ont servie pour lui procurer la victoire.

    +

    Aussi chaque révolution eut-elle son lendemain. La veille, on poussait le populaire au combat, le lendemain on l’exhortait à la sagesse ; la veille on l’assurait que l’insurrection est le plus sacré des devoirs, et le lendemain on lui prêchait que le roi est la meilleure des républiques, ou que le parfait dévouement consiste à mettre trois mois de misère au service de la Bourgeoisie. De révolution en révolution le cours de l’histoire ressemble à celui d’un fleuve arrêté de distance en distance par des écluses. Chaque gouvernement, chaque parti vainqueur essaie à son tour d’endiguer le courant pour l’utiliser à droite et à gauche dans ses prairies ou dans ses moulins. Nous verrons s’il en sera toujours ainsi et si !e peuple consentira sans cesse à faire la révolution non pour lui, mais pour quelque habile soldat, avocat ou banquier.

    +

    Cet éternel va et vient qui nous montre dans le passé la sortie des révolutions partiellement avortées, le labeur infini des générations qui se succèdent à la peine, roulant sans cesse le rocher qui les écrase, cette ironie du destin qui montre des captifs brisant leurs chaînes pour se laisser ferrer à nouveau, tout cela est la cause d’un grand trouble moral, et, parmi les nôtres, nous en avons déjà vu beaucoup qui, perdant tout espoir et fatigués avant d’avoir combattu, se croisent les bras et se livrent à leur sort en abandonnant leurs frères. C’est qu’ils ne savent pas, ou qu’ils ne savent qu’à demi : ils ne voyaient pas encore le chemin qu’ils avaient à suivre ou espéraient s’y faire transporter par le sort comme un navire dont un vent favorable gonfle les voiles : ils voulaient réussir non de par une implacable volonté, mais de par leur bon droit et de par la chance, semblables aux mystiques qui marchent sur la terre et veulent se faire guider par une étoile qui brille dans le ciel.

    +

    Révolutions conscientes succèdant aux Révolutions instinctives

    +

    Toutefois la période du pur instinct est dépassée maintenant ; les révolutions ne se feront plus au hasard, uniquement parce que l’oppression est gênante, elles se feront de plus en plus avec un but déterminé et suivant une méthode précise. On croyait autrefois que les événements se succédaient sans ordre, mais on apprend à en reconnaître la logique inexorable. Nous savons désormais qu’il existe une science sociale et nous comptons bien nous en servir contre nos ennemis pour hâter le jour de la délivrance finale.

    +

    Le premier fait mis en lumière par cette science est que la société se renouvelle sans cesse, et que toute tentative d’arrêt brusque dans l’évolution ou de conservation de choses déjà vécues, est une utopie ou un crime. Un des coryphées du monde réactionnaire, digne continuateur des académies qui maudissaient les enseignements impies des Copernic et des Galilée et tournaient en dérision la doctrine de la circulation du sang, le grand savant Lombroso voit autant de fous dans tous les novateurs et pousse l’amour de la stabilité sociale jusqu’à signaler comme des criminels politiques tous ceux qui critiquent les choses existantes, tous ceux qui s’élancent vers l’inconnu ; et pourtant il avoue que lorsqu’une idée nouvelle a fini par l’emporter dans l’esprit de la majorité des hommes, il faut s’y conformer pour ne pas devenir révolutionnaire en s’opposant au consentement universel : mais en attendant cette révolution fatale, il demande que les évolutionnaires soient traités comme des criminels. Fou lui-même, cet homme qui trouve tant de fous de par le monde, veut que l’on punisse des actions qui demain seront louées de tous comme les produits de la plus pure morale : il eût fait boire la ciguë à Socrate, il eût mené Jean Hüss au bûcher ; à plus forte raison eût-il guillotiné Babeuf, car de nos jours, Babœuf serait encore un novateur ; il nous voue à toutes les fureurs de la vindicte sociale, non parce que nous avons tort, mais parce que nous avons raison trop tôt.

    +

    Quant à nous, il nous suffit de chercher à avoir de plus en plus raison. Nous arriverons à la paix sociale par l’étude approfondie des lois naturelles et de l’histoire, de tous les préjugés dont nous avons à nous défaire, de tous les éléments hostiles qu’il nous faut écarter, de tous les dangers qui nous menacent, de toutes les ressources dont nous pouvons disposer. Nous avons l’échiquier devant nous. Il faut gagner la partie.

    +

    Objectif révolutionnaire et savoir naissant des révoltés

    +

    Quel est d’abord notre objectif révolutionnaire ? Tous, amis et ennemis savent qu’il ne s’agit plus de petites révolutions partielles, mais bien d’une révolution générale... C’est dans l’ensemble de la société, dans toutes ses manifestations que se prépare le changement. Les conservateurs ne s’y sont point trompés quand ils ont donné aux révolutionnaires le nom général « d’ennemis de la religion, de la famille et de la propriété ; » ils auraient pu nous dire aussi les ennemis de la patrie politique. Oui, les anarchistes repoussent l’autorité du dogme et l’intervention du surnaturel dans la nature, et, en ce sens, quelle ferveur qu’ils apportent dans la lutte pour leur idéal de fraternité et de solidarité, ils sont ennemis de la religion. Oui, ils veulent la suppression du trafic matrimonial, ils veulent les unions libres, ne reposant que sur l’affection mutuelle, le respect de soi et de la dignité d’autrui, et, en ce sens, si aimants et si dévoués qu’ils soient pour ceux dont la vie est associée à la leur, ils sont bien les ennemis de la famille. Oui, ils veulent supprimer l’accaparement de la terre et de ses produits pour les rendre à tous, et, en ce sens, si heureux qu’ils soient d’assurer à tous la jouissance des fruits du sol, ils sont les ennemis de la propriété. Enfin, si profond que soit leur sentiment de solidarité pour ceux qui les entourent, si vif que soit leur désir de voir leur village et leur pays heureux, si douce à leurs oreilles que soit la langue maternelle, ils le haïssent point l’étranger, ils voient un frère en lui, et revendiquent pour lui comme pour eux la même justice, la même liberté, et, en ce sens, ils sont ennemis de la patrie.

    +

    Que nous faut-il donc pour atteindre le but ? Il faut avant tout nous débarrasser de notre ignorance, car l’homme agit toujours, et ce qui lui a manqué jusqu’ici est d’avoir bien dirigé son action.

    +

    Nous voulons savoir. Nous n’admettons pas que la science soit un privilège, et que des hommes quelconques, haut perchés sur une montagne comme Moïse, sur un trône comme Marc-Aurèle, sur un Olympe ou sur un Parnasse en carton, ou simplement sur un fauteuil académique, nous dictent des lois en se targuant d’une connaissance supérieure des lois éternelles. Il est certain que parmi les gens qui pontifient dans les hauteurs, il en est qui peuvent traduire convenablement le chinois, ou lire les cartulaires des temps mérovingiens ou disséquer l’appareil digestif des punaises ; mais l’admiration même que nous avons pour ces grands hommes ne nous empêche pas de discuter en toute liberté les paroles qu’ils daignent nous adresser de leur empyrée. Nous n’acceptons pas de vérité promulguée : nous la faisons nôtre d’abord par l’étude et par la discussion, et nous apprenons à rejeter l’erreur, fût-elle mille fois estampillée et patentée. Que de fois en effet, le peuple ignorant a-t-il dû reconnaître que ses savants éducateurs n’avaient d’autre science à lui enseigner que celle de marcher paisiblement et joyeusement à l’abattoir, comme ce bœuf des fêtes que l’on couronne de guirlandes en papier doré.

    +

    Notre commencement de savoir, nos petits rudiments de connaissances historiques nous disent qu’il ne faut point tolérer de maîtres, et qu’à tout ordre il faut répondre par la révolte. L’histoire, si loin que nous remontons dans le passé, si diligemment que nous étudions autour de nous les sociétés et les peuples, civilisés ou barbares, policés ou primitifs, l’histoire nous dit que toute obéissance est une abdication, que toute servitude est une mort anticipée ; elle nous dit aussi que tout progrès s’est accompli en proportion de la liberté, de l’égalité et de l’accord spontané des citoyens ; tout siècle de découvertes, nous le savons, est un siècle pendant lequel le pouvoir religieux et politique se trouvait affaibli par des compétitions, et où l’initiative humaine avait pu trouver une brèche pour se glisser, comme une touffe d’herbes croissant à travers les pierres descellées d’un palais.

    +

    Nos études, si peu avancées qu’elles soient encore, nous ont appris aussi que des institutions suffisent pour créer des maîtres, quand même le mot de liberté serait inscrit sur toutes les murailles et que l’hymne de Guerre aux Tyrans résonnerait dans les rues. Sans être institué de droit divin, le maître peut le devenir également de par la volonté populaire. C’est au nom du peuple que le magistrat prononce des arrêts, mais sous prétexte qu’il défend la morale, il n’en est pas moins investi du pouvoir d’être criminel lui-même, de condamner l’innocent au bagne et de glorifier le méchant ; il dispose du glaive de la loi, il tient les clefs de la prison et dresse les guillotines ; il fait l’éducation du policier, du mouchard, de l’agent des mœurs ; c’est lui qui forme ce joli monde, ce qu’il y a de plus sale et de plus écœurant dans la fange et dans l’ordure.

    +

    Autre institution, !’armée, qui est censée n’être que le « peuple armé! » mais nous avons appris par une dure expérience que si le personnel des soldats s’est renouvelé, le cadre est resté le même et que le principe n’a pas changé. Les hommes n’ont pas été achetés directement en Suisse ou en Allemagne : ce ne sont plus des lansquenets et des reîtres, mais en sont-ils plus libres ? Les cinq cent mille « baïonnettes intelligentes » qui composent l’armée de la République française ont-elles le droit de manifester cette intelligence quand le caporal, le sergent, toute la hiérarchie de ceux qui commandent ont prononcé « Silence dans les rangs ! » Telle est la formule par excellence, et ce silence doit être en même temps celui de la pensée. Quel est l’officier, sorti de l’école ou sorti des rangs, noble ou roturier, qui pourrait tolérer un instant que dans toutes ces caboches alignées devant lui pût germer une pensée différente de la sienne ? C’est dans sa tête, dans sa volonté que réside la force collective de toute la masse animée qui parade et défile à son geste, au doigt et à l’œil. Il commande ; à eux d’obéir. « En joue ! Feu ! » et il faut tirer sur le Tonkinois ou sur le Nègre, sur le Bédouin de l’Atlas ou sur celui de Paris, son ennemi ou son ami ! « Silence dans les rangs ! » Et si chaque année, les nouveaux contingents que l’armée dévore, s’immobilisent comme le veut le principe absolu de la discipline, n’est-ce pas une espérance vaine que d’attendre une réforme, une amélioration quelconque dans le régime inique sous lequel le pauvre est écrasé ?

    +

    Et de toutes les autres institutions dites libérales, ou « protectrices » ou « tutélaires», n’en est-il pas comme de la magistrature et de l’armée ? Ne sont-elles pas fatalement, de par leur fonctionnement même, autoritaires, abusives, malfaisantes ? Elles n’attendent pas d’être fondées officiellement ou d’être établies par la volonté d’un prince ou par le vote d’un peuple, pour essayer de s’agrandir aux dépens de la société, et d’établir le monopole à leur profit. Ainsi l’esprit de corps entre gens qui sortent d’une même école fait d’avance de tous les camarades autant de conspirateurs contre le bien public, autant d’hommes de proie ligués pour détrousser les passants et se partager le butin. Voyez-les déjà, les futurs fonctionnaires, au collège avec leur képi numéroté ou dans quelque université avec leurs casquettes blanches ou vertes : peut-être n’ont-ils prêté aucun serment en endossant l’uniforme, mais s’ils n’ont pas juré, ils n’en agissent pas moins suivant l’esprit de caste, bien résolus à prendre toujours les meilleures parts. Essayez de rompre le « monôme » des anciens polytechniciens, afin qu’un homme de mérite puisse se mettre dans leurs rangs et arrive à partager les mêmes fonctions ou les mêmes honneurs ! Jamais vous n’y parviendrez. Plutôt mourir, que d’accepter l’intrus ! Que l’ingénieur, feignant de savoir son métier, fasse des ponts trop courts ou des tunnels trop bas, peu nous importe, mais avant tout qu’il sorte de l’École.

    +

    Ainsi le révolutionnaire en sait assez pour se méfier à bon droit de tout pouvoir déjà constitué ou seulement en germe. Il en sait également assez pour se méfier des mots plus ou moins grandioses qu’on a pu lui enseigner et qui d’ordinaire cachent un redoutable piège. On lui parle de « patriotisme», mais il commence à savoir que ce mot représente pour le naïf une duperie pure ; il apprend mieux de jour en jour que le patriotisme se prêche pour servir l’ensemble des intérêts et des privilèges de la classe dirigeante et qu’il doit engendrer, au profit de cette classe, la haine de frontière à frontière entre tous les faibles et les déshérités. On lui parle aussi d’ordre et de paix sociale. Sans doute, la paix sociale est un grand idéal à réaliser, à une condition pourtant : que cette paix soit celle de la vie et non celle du tombeau ; qu’elle soit l’effet non de la domination indiscutée des uns et de l’asservissement sans espoir des autres, mais de la bonne et franche égalité entre compagnons. Voilà ce que sait l’anarchiste sans avoir passé par les Universités ; de raisonnement aussi bien quo d’instinct il sait que toute évolution doit se compléter par une révolution, et il se tient toujours prêt pour le changement.

    +

    Enfin il est une chose d’ordre capital que le peuple a bien apprise. C’est que la terre est dès maintenant riche et plus que riche pour subvenir abondamment à tous les besoins de l’Humanité. « Il y aura toujours des pauvres avec vous ! » aiment à répéter les ventrus, surtout les ventrus à la barbe huileuse comme on en trouve tant dans le monde des jésuites protestants. Cette parole, disent-ils, est tombée de la bouche de leur dieu et ils la répètent en tournant les yeux et en parlant du fond de la gorge pour lui donner plus de solennité. Et c’est même parce que cette parole était censée divine que les pauvres aussi, dans le temps de leur pauvreté intellectuelle, comprenaient l’impuissance de tous leurs efforts pour arriver au bien-être : se sentant perdus dans ce monde, ils regardaient vers le monde de l’au-delà. « Peut-être, se disaient-ils, mourrons-nous de faim sur cette terre de larmes, mais à côté de Dieu, dans ce ciel glorieux, où nous aurons le nimbe du soleil autour de nos fronts, et où la voie lactée sera notre tapis, là-haut nous n’aurons plus besoin de nourriture comestible, et nous aurons la jouissance d’entendre les hurlements du mauvais riche à jamais rongé par la faim». Maintenant quelques malheureux peut-être, se laissent encore mener par ces hallucinations, mais la plupart, devenus plus sages, ont maintenant les yeux tournés vers le pain de cette terre qui donne la vie matérielle, qui fait de la chair et du sang, et ils en veulent leur part. Nombreux sont ceux qui même savent que leur vouloir est justifié par la richesse surabondante de la terre.

    +

    Longtemps nous avons cru avec les savants trompeurs que la misère était fatale, que si les malheureux mouraient, c’est qu’en réalité il n’y avait pas assez de produits pour subvenir aux nécessités de tous les hommes. On voyait d’un côté la tourbe des pauvres faméliques, de l’autre côté quelques rares privilégiés mangeant à leur faim et s’habillant à leur fantaisie, et on s’imaginait en toute naïveté qu’il ne pouvait en être autrement ! Il est vrai qu’en temps d’abondance, il eût été possible de partager et qu’en temps de disette tout le monde eût pu se mettre de concert à la ration, mais pareille façon d’agir qui demandait dans l’ensemble de la société un lien de solidarité fraternelle ne paraissait pas encore possible, et le malheureux acceptait son infortune avec résignation. Cette terrible loi de Malthus qui avait été formulée comme une loi mathématique et qui semblait enfermer la société dans les formidables mâchoires de son syllogisme, était acceptée non seulement par les pontifes de la science économique, mais surtout par les victimes de l’économie sociale. Tous les misérables répétaient mélancoliquement le vers de Gilbert :

    +

    Au banquet de la vie, infortuné convive !

    +

    Ils croyaient savoir, les pauvres gens, qu’il n’y avait point de place pour eux. La science n’avait-elle pas soufflé dans la trompette du jugement dernier en proclamant que les hommes croissent en nombre plus rapidement que les subsistances, et que par conséquent une élimination annuelle des individus surnuméraires était indispensable. L’Humanité devait être mise en coupe réglée et, si on les en avait priés, ces messieurs auraient certainement poussé la condescendance jusqu’à fixer le nombre des victimes qu’il aurait fallu sacrifier chaque année aux dieux de l’industrie. Spectacle touchant si les ouvriers s’étaient d’eux-mêmes offerts à la mort au lieu de mourir obscurément ! On eût pu faire des discours académiques pour glorifier leur dévouement et jeter sur leurs corps quelques roses effeuillées.

    +

    Nécessité de la Révolution. Loi de Malthus.

    +

    Mais si les sacrifices édictés par les dignitaires de l’économie politique ne se sont pas faits sous formes de cérémonies publiques, de fêtes nationales, ils n’en ont pas moins eu lieu et d’une manière infiniment plus large que les pessimistes les plus sombres se l’imaginent. Ce ne sont pas des milliers, mais des millions de vies que réclame annuellement le dieu de Malthus. Il est pourtant facile de calculer approximativement le nombre de ceux que la destinée économique a condamnés à mort depuis le jour où le sombre théologien a proclamé sa prétendue loi. Durant ce siècle, trois générarations se sont succédées en Europe. Or, en consultant les tables de mortalité, on voit que la vie moyenne des gens riches qui ont toujours eu leurs aises (par exemple les lords d’Angleterre), dépasse toujours soixante ans et atteint même soixante-dix ans. Ces gens ont pourtant, de par l’inégalité même, bien des raisons de ne pas fournir leur carrière normale : la vie les sollicite et les corrompt sous toutes les formes ; mais le bon air. la bonne chère, la variété dans les occupations les guérissent et les renouvellent. Les gens asservis à un travail qui est la condition même de leur existence, sont au contraire, condamnés d’avance, pris en masse, (abstraction faite de ceux qui meurent plus tôt ou plus tard), à succomber, suivant les pays de l’Europe, entre vingt et quarante ans, soit à trente ans en moyenne. C’est dire s’ils fournissent seulement la moitié d’ans qui leur seraient dévolus s’ils vivaient en liberté, maîtres de choisir leur séjour et leur œuvre. Ils meurent donc précisément à l’heure où leur existence devrait atteindre toute son intensité, et chaque année, quand on fait le compte des morts, il est juste double de ce qu’il devrait être dans une société d’égaux. Ainsi la mortalité de l’Europe, ayant été de douze millions d’hommes en 1890, on peut dire sans erreur possible que six millions d’entr’eux ont été tués par les conditions sociales qui règnent dans notre milieu barbare ; six millions ont péri par manque d’air pur, de nourriture saine, d’hygiène convenable, de travail harmonique. Eh bien ! comptez les morts depuis que Malthus a parlé, prononçant d’avance sur l’immense hécatombe son oraison funèbre ! N’est-il pas vrai que toute une moitié de l’Humanité dite civilisée se compose de gens qui ne sont pas invités au banquet social ou qui n’y ont place que pour un temps et eurent la bouche contractée par les désirs inassouvis. La mort préside au repas, et de sa faulx elle écarte les tard-venus.

    +

    La situation est donc atroce, mais une immense évolution s’est accomplie, annonçant la révolution prochaine. Cette évolution, c’est que toute l’abominable « science » économique, prophétisant le manque de ressources et la mort inévitable des faméliques, a été percée à jour, et que l’Humanité souffrante, se croyant pauvre naguère, a découvert sa richesse infinie. La terre est assez vaste pour nous porter tous sur son sein, elle est assez riche pour nous faire vivre dans l’aisance. Elle peut donner assez de moissons pour que tous aient à manger ; elle fait naître assez de plantes fibreuses pour que tous aient à se vêtir ; elle contient assez de pierres et d’argile pour que tous puissent avoir des maisons. Tel est le fait économique dans toute sa simplicité. Non seulement ce que la terre produit suffirait si la consommation de ceux qui l’habitent, mais elle suffirait si la consommation doublait tout à coup, et cela quand même la science n’interviendrait pas pour faire sortir l’agriculture de ses procédés empiriques et mettre à son service toutes les ressources fournies maintenant par la chimie, la physique, la météorologie, la mécanique, etc. L’Humanité étant assimilée à une grande famille, la faim n’est pas seulement un crime, elle est encore une absurdité, puisque les ressources dépassent deux fois les nécessités de la consommation. Tout l’art actuel de la répartition, livrée au caprice individuel et à la concurrence effrénée des spéculateurs et des commerçants, consiste à faire hausser les prix, en retirant les produits à ceux qui les auraient pour rien et en les portant à ceux qui les paient cher : mais dans ce va-et-vient des denrées et des marchandises, les objets se gaspillent, se corrompent et se perdent. Les pauvres loqueteux qui passent devant les grands entrepôts le savent. Ce ne sont pas les paletots qui manquent pour leur couvrir le dos, ni les souliers pour chausser leurs pieds, ni les bons fruits, ni les boissons chaudes pour leur restaurer l’estomac. Tout est en abondance et en surabondance, et pendant qu’ils errent ça et là, jetant des regards affamés autour d’eux, le marchand se demande comment il pourra faire enchérir tous ses produits au besoin même en en diminuant la quantité. Mais le fait subsiste, la constance d’excédent pour les produits ! Et pourquoi messieurs les économistes ne commencent-ils pas leurs ouvrages en constatant ce fait capital ? Et pourquoi faut-il que ce soit à nous, révoltés, à le leur apprendre ? Et comment expliquer que les ouvriers sans culture, conversant après le travail de la journée, en sachent plus long à cet égard que les élèves les plus savants de l’École des Sciences morales et politiques ?

    +

    Ignorance des savants, instruction croissante du peuple

    +

    Ainsi, sans paradoxe aucun, le peuple — ou tout au moins la partie du peuple qui a le loisir de penser — en sait d’ordinaire beaucoup plus long que la plupart des savants ; il ne connaît pas les détails à l’infini, il n’est pas initié à mille formules de grimoire ; il n’a pas la tête remplie de noms en toute langue comme un catalogue de bibliothèque, mais son horizon est plus large, il voit plus loin dans les origines barbares et plus loin dans l’avenir transformé ; il a une compréhension meilleure de la succession des événements ; il prend une part plus consciente aux grands mouvements de l’histoire ; il connaît mieux la richesse du globe : il est plus homme enfin. A cet égard, on peut dire que tel camarade anarchiste de notre connaissance, jugé digne par la société d’aller mourir en prison, est réellement plus savant que toute une académie ou que toute une bande d’étudiants frais émoulus de l’Université, bourrés de faits scientifiques. Le savant a son immense utilité comme carrier : il extrait les matériaux, mais ce n’est pas lui qui les emploie ; c’est au peuple qu’il appartient d’élever l’édifice. Si l’instruction ne se donnait que dans l’école, les gouvernements pourraient espérer encore de maintenir les esprits dans la servitude, mais c’est en dehors de l’école que l’on s’instruit le plus, dans la rue, dans l’atelier, devant les baraques de foire, au théâtre, dans les wagons de chemins de fer, sur les bateaux à vapeur, devant les paysages nouveaux, dans les villes étrangères. Tout le monde voyage maintenant, soit par luxe, soit par nécessité. Pas une réunion dans laquelle ne se rencontrent des gens ayant vu la Russie, l’Australie, l’Amérique, et si les circumnavigateurs de la terre sont encore l’exception, il n’est pour ainsi dire aucun homme qui n’ait assez voyagé pour voir au moins les contrastes du champ à la cité, de la montagne à la plaine, de la terre ferme à la mer. Les riches, cela va sans dire, ont de tout autres facilités que les pauvres pour parcourir le monde, mais ils voyagent d’ordinaire sans méthode et comme en surface ; en changeant de pays, ils ne changent pas de milieu ; ils sont toujours chez eux pour ainsi dire ; le luxe, les jouissances des hôtels ne leur permettent pas d’apprécier les différences essentielles de terre à terre, de peuple à peuple ; le pauvre qui se heurte aux difficultés de la vie, est celui qui, sans cicérone, peut le mieux observer et retenir. Et la grande école du monde extérieur ne montre-t-elle pas également les prodiges de l’industrie humaine aux pauvres et aux riches, à ceux qui ont produit ces merveilles par leur travail et à ceux qui en profitent ? Chemins de fer, télégraphes, béliers hydrauliques, perforatrices, jets de lumière s’élançant du sol, le malheureux voit ces choses aussi bien que le puissant et son esprit n’en est pas moins frappé. Pour la jouissance de quelques-unes de ces conquêtes de la science, le privilège a disparu. Menant sa locomotive à travers l’espace, doublant sa vitesse et en arrêtant l’allure à son gré, le mécanicien se croit-il l’inférieur du souverain qui roule derrière lui dans un wagon doré, mais qui n’en tremble pas moins, sachant que sa vie dépend d’un jet de vapeur, d’un mouvement de levier ou d’un pétard de dynamite ?

    +

    La vue de la nature et des œuvres humaines, la pratique de la vie, voilà les collèges où se fait la véritable éducation des sociétés contemporaines. Les écoles proprement dites ont une importance relative bien moindre ; cependant elles ont subi leur évolution dans le sens de l’égalité. Il fut un temps, et ce temps n’est pas encore bien éloigné de nous, où toute l’éducation consistait en simples formules, en phrases mystiques, en extraits de livres vénérés. Entrez dans une de ces écoles de musulmans, ouvertes à côté des mosquées : vous y verrez des enfants passant des heures entières à épeler ou à réciter des versets du Koran. Entrez dans une école de prêtres chrétiens, protestants et catholiques, et vous entendrez de niaises cantilènes, des récitations absurdes, en latin ou en français incompréhensible. Mais voici que dans quelques-unes de nos écoles, par l’effet de la pression d’en bas, un nouvel enseignement commence à se mêler à ces tristes routines ; au lieu d’y réciter seulement des formules, on y expose maintenant des faits, on y montre des rapports, on y signale des lois. Quels que soient les commentaires dont l’instituteur routinier accompagne ce qu’il enseigne, les nombres n’en restent pas moins incorruptibles. Quelle éducation prévaudra ? Celle d’après laquelle deux et deux font toujours quatre, et qui prétend que rien ne se crée de rien, ou bien l’ancienne éducation dont il reste partout des traces, et d’après laquelle tout sort du néant et trois personnes n’en font qu’une ?

    +

    Il est vrai : l’école primaire n’est pas tout ; il ne suffit pas d’entrevoir la science, il faut pouvoir se dévouer à l’étude. Aussi l’éducation socialiste demande-t-elle que l’école soit en permanence pour tous les hommes, et qu’après avoir reçu des « clartés de tout » dans les établissements publics, chacun de nous puisse se développer intégralement, en proportion de ses forces intellectuelles, dans la vie qu’il aura librement choisie. Mais avec ou sans écoles, toute grande conquête de la science finit par entrer dans le domaine public. Les savants de profession ont à faire pendant de long siècles le travail de recherches et de suppositions, ils ont à se débattre au milieu des erreurs et des faussetés ; mais quand la vérité est enfin connue, souvent malgré eux et grâce à quelques révolutionnaires conspués, elle se révèle dans tout son état, simple et claire. Tous la comprennent sans effort ; il semble qu’on l’ait toujours connue. Jadis les savants s’imaginaient que le ciel était une coupole ronde, un toit de métal, — que sais-je ? — une série de voûtes, trois, sept, neuf, treize même ayant chacune leurs processions d’astres, leurs lois différentes, leur régime particulier et leurs troupes d’anges et d’archanges pour les garder. Mais depuis que tous ces cieux superposés dont parlent la Bible et le Talmud ont été démolis, il n’est pas un enfant qui ne sache que l’espace est libre, infini autour de la Terre. C’est à peine s’il l’apprend. C’est là une vérité qui fait désormais partie de l’héritage universel.

    +

    Il en est de même pour toutes les grandes acquisitions scientifiques. Elles ne s’apprennent pas, pour ainsi dire, elles se savent. Il fut un temps où la grande majorité des hommes naissaient, vivaient esclaves, et n’avaient d’autre idéal qu’un changement de servitude. Jamais il ne leur venait à la pensée qu’« un homme vaut un homme». Ils l’ont appris maintenant et comprennent que cette égalité virtuelle donnée par l’évolution doit se changer désormais en égalité réelle, grâce à la révolution. Les travailleurs, instruits par la vie, connaissent même certaines lois économiques bien mieux que les économistes de profession. Est-il, parmi les anarchistes, un seul ouvrier qui ne reste indifférent aux questions d’impôt progressif ou d’impôt proportionnel, et qui ne sache que tous les impôts sont payés en fin de compte par les plus pauvres ? En est-il un qui ne connaisse la terrible fatalité de la « loi d’airain», en vertu de laquelle il est condamné à ne recevoir qu’une pitance de misère, c’est-à-dire le salaire exact qui l’empêchera de mourir de faim pendant la durée de son travail ? La dure expérience lui a suffisamment fait connaître cette loi fatale de l’économie politique.

    +

    Quelle que soit l’origine de l’instruction, tous en profitent, et le travailleur n’est pas celui qui en prend la moindre part. Qu’une découverte soit faite par un bourgeois, un noble ou un roturier, que le savant soit le potier Palissy ou le chancelier Bacon, le monde entier utilisera ses recherches. Certainement des privilégiés voudraient bien garder pour eux le bénéfice de la science et laisser l’ignorance au peuple : chaque jour des industriels s’approprient tel ou tel procédé chimique, et on a pu voir le médecin Koch, ligué avec son maître Guillaume, chercher à faire de la guérison des sujets un monopole de l’État ; mais trop de chercheurs sont à l’œuvre pour que les désirs égoïstes puissent s’accomplir. Ces monopoleurs de science se trouvent dans la situation de ce magicien des Mille et une Nuits qui a descellé le vase où depuis dix mille ans dormait un génie enfermé. Ils voudraient le faire rentrer dans son réduit, le clore sous triple sceau, mais ils ont perdu le mot de la conjuration, et le génie est libre à jamais.

    +

    Corrélation du Savoir et du Pouvoir

    +

    Ainsi l’ignorance diminue, et, chez l’évolutionniste révolutionnaire, le savoir dirigera bientôt le pouvoir. C’est là le fait capital qui nous fait espérer avec confiance que l’humanité est entrée dans une période de développement heureux et que, malgré l’infini complication des choses, les éléments de progrès l’emportent sur ceux de régression. Certes, l’espérance et la crainte se combattent dans les esprits et la netteté de nos connaissances scientifiques ne nous permet pas encore de répondre avec exactitude à ce sujet. Cependant, en juxtaposant tous les arguments, ceux qui témoignent d’une décadence et ceux qui prouvent une marche en avant, il paraît que ceux-ci sont de beaucoup les plus forts et que chaque jour d’évolution nous rapproche de cette révolution qui détruira le pouvoir despotique des personnes et des choses, et l’accaparement personnel des produits du travail collectif.

    +

    Une première cause de grand espoir est que nos adversaires ne songent plus que par accès, et sans y croire eux-mêmes, à maintenir le peuple endormi dans cette bonne religion de résignation et d’humilité qui était pourtant si commode pour expliquer la misère, l’injustice et l’inégalité sociales. De toutes les digues opposées au courant révolutionnaire, celle-ci était de beaucoup la plus solide ; mais, lézardée de tous côtés, elle fait eau, elle penche et chaque flot en emporte sa pierre.

    +

    Que faire pour remplacer la religion qui s’en va ? Puisque l’opprimé ne croit plus au miracle, peut-être pourra-t-on le faire croire au mensonge ? C’est dans cette espérance vaine que des savants, économistes, académiciens. commerçants, financiers, ont imaginé d’introduire dans la science cette proposition hardie, que la propriété et la prospérité sont toujours la récompense du travail. Mais il y aurait pudeur à discuter de pareilles assertions. En prétendant que le labeur est l’origine de la fortune, les économistes ont parfaitement conscience qu’ils ne disent pas la vérité. Aussi bien que les socialistes, ils savent que la richesse est le produit, non du travail personnel, mais du travail des autres ; ils n’ignorent pas que les coups de bourse et les spéculations, origine des grandes fortunes, n’ont pas plus de rapport avec le travail que n’en ont les exploits des brigands ; ils n’osent pas prétendre que l’individu ayant 250,000 francs à dépenser par jour, c’est-à-dire exactement ce qui serait nécessaire pour faire vivre cent mille personnes, se distingue des autres hommes par une intelligence cent mille fois supérieure à celle de la moyenne. Ce serait être dupe, presque complice, de s’attarder à discuter les arguments hypocrites de cette prétendue origine de l’inégalité sociale.

    +

    Mais voici qu’on emploie un raisonnement d’une autre nature et qui a du moins le mérite de ne pas reposer sur un mensonge. On invoque contre les revendications sociales le droit du plus fort. La théorie dite de Darwin vient de faire son entrée dans la science et l’on croit pouvoir s’en servir contre nous. En effet, c’est bien le droit du plus fort qui triomphe pour l’accaparement des fortunes. Celui qui est le plus apte matériellement, le plus favorisé par sa naissance, par son instruction, par ses amis, celui qui est le mieux armé et qui trouve devant lui les ennemis les plus faibles, celui-là a le plus de chances de réussir ; mieux que d’autres il peut se bâtir une citadelle du haut de laquelle il tirera sur ses frères infortunés.

    +

    Ainsi en a décidé le grossier combat des égoïsmes en lutte. Jadis on n’osait trop avouer cette théorie de fer et de feu, elle eût paru trop violente et l’on préférait les paroles mielleuses. On l’enveloppait même sous de graves formules dont on espérait que le pauvre peuple ne comprendrait pas le sens : « Le travail est un frein » disait Guizot. Mais les découvertes de la science relatives au combat pour l’existence entre les espèces et à la survivance des plus vigoureuses, ont encouragé les théoriciens de la force à proclamer sans ambages leur insolente volonté : « Voyez, disent-ils, c’est la loi fatale ; c’est l’immuable destinée à laquelle mangeurs et mangés sont également soumis».

    +

    Nous devons nous féliciter de ce que la question soit ainsi simplifiée dans sa brutalité, car elle est d’autant plus près de se résoudre. « La force règne ! » disent les soutiens de l’inégalité sociale. Oui, c’est la force qui règne ! s’écrie de plus en plus l’industrie moderne dans son perfectionnement féroce. Mais ce que disent les économistes, ce que disent les industriels, les révolutionnaires ne pourront-ils le dire aussi, tout en comprenant qu’entre eux l’accord pour l’existence remplacera graduellement la lutte pour l’existence ? La loi du plus fort ne fonctionnera pas toujours au profit du monopole industriel. « La force prime le droit», a dit Bismarck après tant d’autres ; mais on peut préparer le jour où la force sera au service du droit. S’il est vrai que les idées de solidarité se répandent, s’il est vrai que les conquêtes de la science finissent par pénétrer dans les couches profondes, s’il est vrai que les vérités deviennent propriété commune, si l’évolution se fait dans le sens de la justice ; les travailleurs qui ont en même temps le droit et la force, ne s’en serviront-ils pas pour faire la révolution au profit de tous ? Contre les masses associées, que pourront les individus isolés, si forts qu’ils soient par l’argent, l’intelligence et l’astuce ? Les gens de gouvernement, désespérant de leur cause, en sont venus à ne demander à leurs maîtres que la « poigne», leur seul chance de salut. Il ne serait pas difficile de citer des exemples de ministres que l’on n’a choisis ni pour leur gloire militaire ou leur noble généalogie, ni pour leurs talents ou leur éloquence, mais uniquement pour leur manque de scrupules. A leur sujet le doute n’est point permis : nul préjugé ne les arrête pour la conquête du pouvoir ou des écus.

    +

    Dans aucune des révolutions modernes nous n’avons vu les privilégiés combattre leurs propres batailles. Toujours ils s’appuient sur des armées de pauvres auxquels ils enseignent ce qu’on appelle « la religion du drapeau » et qu’ils dressent à ce que l’on appelle « le maintien de l’ordre». Cinq millions d’hommes, sans compter la police haute et basse, sont employés à cette œuvre en Europe. Mais ces armées peuvent se désorganiser, elles peuvent se rappeler les liens d’origine et d’avenir qui les rattachent à la masse populaire ; la main qui les dirige peut manquer de vigueur. Composées en grande partie de prolétaires, elles peuvent devenir, elles deviendront certainement pour la société bourgeoise ce que les barbares à la solde de l’empire sont devenus pour la société romaine, un élément de dissolution. L’histoire abonde en exemples de l’affolement subit qui s’empare des puissants. Quand les malheureux déshérités se seront unis pour leurs intérêts, de métier à métier, de nation à nation, de race à race, quand ils connaîtront bien leur but, n’en doutez pas, l’occasion se présentera certainement d’employer leur force au service du droit, et quelque puissant que soit le maître d’alors, il sera bien faible en face de tous les faméliques ligués contre lui. A la grande évolution qui s’accomplit maintenant succédera la grande révolution si longtemps attendue.

    +

    Ce sera le salut et il n’y en a point d’autre. Car si le capital garde la force, nous serons tous des esclaves de ses machines, de simples cartilages rattachant les dents de fer aux arbres de bronze ou d’acier ; si aux épargnes réunies dans les coffres des banquiers s’ajoutent sans cesse de nouvelles dépouilles gérées par des associés responsables seulement devant leurs livres de caisse alors c’est en vain que vous feriez appel à la pitié, personne n’entendra vos plaintes. Le tigre peut se détourner de sa victime, mais les livres de banque prononcent des arrêts sans appel ; les hommes, les peuples sont écrasés sous ces pesantes archives dont les pages silencieuses racontent en chiffres l’œuvre impitoyable. Si le capital doit l’emporter, il sera temps de pleurer notre âge d’or, nous pourrons alors regarder derrière nous et voir comme une lumière qui s’éteint tout ce que la terre eut de doux et de bon, l’amour, la gaieté, l’espérance. L’Humanité aura cessé de vivre.

    +

    Il y a quelques années l’habitude s’était répandue dans le monde officiel et courtisan d’Europe de répéter que le socialisme, l’élément du renouveau dans la société, était mort, définitivement enterré. Un homme fort habile dans les petites choses, mais impuissant dans les grandes, un parvenu. un vaniteux qui haïssait le peuple parce qu’il en était issu, s’était vanté d’avoir « saigné la gueuse». Il croyait l’avoir exterminée dans Paris, l’avoir enfouie dans les fosses du Père-Lachaise. C’est à la Nouvelle-Calédonie, aux antipodes, pensait-il, que des échantillons malingres de ceux qui furent autrefois des socialistes pourraient être trouvés. Après M. Thiers, ses bons amis d’Europe s’empressèrent de répéter ses paroles, et de toutes parts, ce fut un chant de triomphe. Quant aux socialistes allemands, n’avions-nous pas là, pour les surveiller, le. maître des maîtres, celui dont un froncement de sourcils faisait trembler l’Europe ? Et les nihilistes de Russie ? Qu’étaient ces misérables ? Des monstres bizarres, des sauvages issus de Huns et de Bachkirs, dont les hommes du monde policé d’occident n’avaient à s’occuper que comme d’échantillons d’histoire naturelle.

    +

    Néanmoins, la joie causée par la disparition du socialisme n’a pas duré. De mauvais rêves troublaient les bourreaux, il leur semblait que les victimes n’étaient pas tout à fait mortes. Et maintenant existe-t-il encore un aveugle qui puisse douter de leur résurrection ? Tous les laquais de plume qui répétaient après Gambetta : « Il n’y a pas de question sociale ! » ne sont-ils pas les mêmes qui reprennent les paroles de l’empereur Guillaume, comme ils saisiraient au vol les crachats du Grand Lama, pour crier : « La question sociale nous envahit ! La question sociale nous assiège ! » Dans toutes les assemblées, les ouvriers se prononcent à l’unanimité pour l’appropriation du sol et des usines, considérée déjà comme le point de départ de la nouvelle ère économique. L’Angleterre, les États-Unis, le Canada, l’Australie retentissent du cri :« Nationalisation du sol», et les grands propriétaires affolés s’attendent à ce que le peuple entre en chasse contre eux. Est-ce que toute la littérature spontanée des chansons et des refrains socialistes n’a pas déjà repris en espérance tous les produits du travail collectif ?

    +

    Nègre de l’usine,

    +

    Forçat de la mine,

    +

    Ilote des champs,

    +

    Lève toi, peuple puissant :

    +

    Ouvrier. prends la machine !

    +

    Prends la terre, paysan !

    +

    Et la compréhension naissante du travailleur ne s’évapore pas toute en chansons. Les rêves prennent un caractère agressif qu’elles n’avaient jamais eu. Ce ne sont plus seulement des actes de désespoir passif, des promenades mornes de faméliques demandant du pain ; elles commencent à prendre des allures de revendications fort gênantes pour les capitalistes. N’avons-nous pas vu aux États-Unis les ouvriers, maîtres pendant huit jours de tous les chemins de fer de l’Indiana et d’une partie du versant de l’Atlantique ? Et, lors de la grande grève des chargeurs et portefaix de Londres, tout le quartier des Docks ne s’est-il pas trouvé de fait entre les mains d’une foule internationale, fraternellement unie ? Ainsi l’évolution s’accomplit, la révolution approche. Le socialisme, c’est-à-dire l’armée des individus qui veulent changer l’état social, a repris sa marche. La foule en mouvement se précipite, et nul gouvernement n’ose plus fermer les yeux à la vue de ces masses profondes ! Bien au contraire, le pouvoir s’en exagère le nombre et cherche tantôt à les combattre par des lois absurdes, des vexations irritantes, tantôt par des politesses et des phrases à effet. Depuis qu’un souverain s’est mis en frais de grâces pour le socialisme, la tourbe des « reptiles » se rue derrière lui pour faire assaut de courbettes. Pas un journal qui ne nous offre sa solution de la question sociale ?

    +

    Maintenant le bruit de la révolution éclate déjà, ébranlant les usines, les parlements et les trônes. Mais on comprend qu’un sinistre silence se soit fait naguère lorsque « l’ordre régnait à Varsovie » et ailleurs. Au lendemain d’une tuerie, il est peu d’hommes qui osent se présenter aux balles. Lorsqu’une parole, un geste sont punis de la prison, bien clairsemés sont les hommes qui ont le courage de s’exposer au danger. Ceux qui acceptent tranquillement le rôle de victimes pour une cause dont le triomphe est encore douteux ou même douteux sont rares : tout le monde n’a pas l’héroïsme de ces nihilistes russes qui composent des journaux dans l’antre même de leurs ennemis et qui vont les afficher sur les murs entre deux factionnaires. Il faut être bien dévoué soi-même pour avoir le droit d’en vouloir à ceux qui ne se déclarent pas socialistes quand leur travail en dépend, c’est-à-dire la vie de ceux qu’ils aiment. Mais si tous les opprimés n’ont pas le tempérament de héros, ils n’en sentent pas moins la souffrance, ils n’en ont pas moins le vouloir d’y échapper, et l’état d’esprit, de tous ceux qui souffrent comme eux et qui en connaissent la cause finit par créer une force révolutionnaire. Dans telle ville où il n’existe pas un seul groupe d’anarchistes, tous les ouvriers le sont déjà d’une manière plus ou moins consciente. D’instinct ils applaudissent le camarade qui leur parle d’un état social où il n’y aura plus de maîtres et où le produit du travail sera dans les mains du producteur. Cet instinct contient en germe la révolution future, car de jour en jour il se précise et se transforme en connaissance distincte. Ce que l’ouvrier sentait vaguement hier, il le sait aujourd’hui, et chaque nouvelle expérience le lui fait mieux savoir. Et les paysans qui ne trouvent pas à se nourrir du produit de leur lopin de terre, et ceux, bien plus nombreux encore, qui n’ont pas en propre une motte d’argile, ne commencent ils pas à comprendre que la terre doit appartenir à celui qui la cultive ? Ils l’ont toujours senti d’instinct ; ils le savent maintenant et se préparent à parler le langage précis de la revendication.

    +

    Révolution prochaine, conséquence de l’évolution accomplie. Inflexibilité nécessaire du Capital

    +

    Voilà l’état de choses ! Et quelle peut en être l’issue ? L’évolution qui se fait dans l’esprit des travailleurs, c’est-à-dire du plus grand nombre, cette évolution amènera forcément une révolution, car l’histoire nous enseigne que les défenseurs du privilège ne céderont point de bonne grâce à la poussée d’en bas.

    +

    Ils céderont, mais par crainte, car l’affection et la bonté ne peuvent naître dans une œuvre de haine. Ils feront volte-face, mais quand il y aura pour eux impossibilité absolue de continuer leur marche dans la voie suivie. Il est dans la nature même des choses que tout organisme fonctionne dans le sens de son mouvement normal ; il peut s’arrêter, se briser, mais non fonctionner à rebours. Toute autorité cherche à s’agrandir aux dépens d’un plus grand nombre de sujets : toute monarchie tend forcément à devenir monarchie universelle. Ni Alexandre, ni César, ni Attila, ni Charlemagne, ni Bonaparte n’auraient jamais pu être satisfaits dans leur ambition. Jamais financier ne s’est dit : « C’est assez ! je ne veux plus de millions! » Et même s’il avait la sagesse de modérer ses vœux, le milieu même dans lequel il se trouve travaillerait pour lui : les capitaux continuent d’enfanter des revenus comme des mères Gigogne. Dès qu’un homme est nanti d’une autorité quelconque il veut en user et sans contrôle ; il n’est geôlier qui ne tourne sa clef dans la serrure avec un sentiment glorieux de sa toute-puissance, d’infime garde champêtre qui ne surveille la propriété des maîtres avec une haine sans bornes contre le maraudeur ; misérable huissier qui n’éprouve un souverain mépris pour le pauvre diable auquel il fait sommation.

    +

    Et si les individus isolés sont déjà énamourés de la « part de royauté » qu’on a eu l’imprudence de leur départir, combien plus encore les corps constitués ayant des traditions de pouvoir héréditaire et un point d’honneur collectif ? On comprend, qu’un individu, soumis à une influence particulière, puisse être accessible à la raison ou à la bonté et que, touché d’une pitié soudaine, il abdique sa puissance ou rende sa fortune, et demande en grâce d’être accueilli comme un frère par ceux qu’il opprimait jadis à son insu ou inconsciemment ; mais comment attendre acte pareil de toute une caste d’hommes liés les uns aux autres par une chaîne d’intérêts, par les illusions et les conventions professionnelles, par les amitiés et les complicités, même par les crimes ? Et quand les serres de la hiérarchie et l’appeau de l’avancement tiennent l’ensemble du corps de la nation en une masse compacte, quel espoir a-t-on de les voir s’adoucir tout à coup, quel rayon de la grâce pourrait humaniser cette caste ennemie, — armée, magistrature, clergé ?

    +

    Comment s’imaginer qu’un pareil groupe puisse avoir des accès de vertu collective et céder à d’autres raisons que la peur, lorsque la révolution s’avance et que la machine vivante composée de rouages humains, ahuris ou terrifiés, s’arrête spontanément.

    +

    Mais en admettant que les bons riches soient illuminés soudain par un astre brillant dans le ciel et qu’ils se sentent convertis, renouvelés comme par un coup de foudre, en admettant l’impossible, qu’ils aient conscience de leur égoïsme passé et qu’ils se débarrassent en toute hâte de leur fortune au profit de ceux qu’ils ont lésés, qu’ils rendent tout et se présentent les mains nues dans l’assemblée des pauvres, en leur disant : « Prenez ! » s’ils faisaient toutes ces choses, eh bien ! justice ne serait point encore faite : ils garderaient encore le beau rôle qui ne leur appartient pas et l’histoire les présenterait d’une façon mensongère. C’est ainsi que des flatteurs ont voulu glorifier la nuit du 4 août comme le moment décisif de la Révolution française, celui où les nobles abandonnèrent de leur plein gré titres, privilèges et richesses. Si l’on a montré sous cet aspect un abandon fictif consenti sous la pression du fait accompli, que ne dirait-on pas d’un abandon, réel et spontané de la fortune mal acquise par les anciens exploiteurs ? Il serait à craindre que l’admiration et la reconnaissance publique les rétablit à leur place usurpée. Non, il faut, pour que justice se fasse, pour que les choses reprennent leur équilibre naturel, il faut que les opprimés se relèvent par leur propre force, que les volés reprennent leur bien, que les esclaves reconquièrent la liberté. Ils ne l’auront réellement qu’après l’avoir gagnée de haute lutte.

    +

    Le type des compagnies d’exploitation moderne est encore bien plus éloigné de tout sentiment d’humanité que la magistrature ou toute autre caste « inamovible». C’est la société capitaliste constituée par actions, obligations, crédit, c’est-à-dire par un va et vient de papiers et d’écus. Comment faire pour moraliser ces paperasses et ces monnaies ? et leur inspirer cet esprit de solidarité envers les hommes qui prépare la voie aux changements de l’état social ? Telle banque composée de purs philanthropes n’en prélèverait pas moins ses commissions, intérêts et gages : elle ignore que des larmes ont coulé sur les gros sous ct sur les pièces blanches si péniblement amassées, qui vont s’engouffrer dans les énormes coffres-forts à centuple serrure. On nous dit toujours d’attendre l’œuvre du temps qui doit amener l’adoucissement des mœurs et la réconciliation finale, mais comment ce coffre-fort s’adoucira-t-il, comment s’arrêtera le fonctionnement de cette formidable mâchoire de l’ogre broyant sans cesse les générations humaines ?

    +

    Péjoration fatale de toutes les institutions du pouvoir, monarchiques ou républicaines

    +

    Nous tous qui, pendant une vie déjà longue, avons vu les révolutions politiques se succéder, nous pouvons nous rendre compte de ce travail incessant de préparation que subissent les institutions basées sur l’exercice du pouvoir. Il fut un temps où ce mot de « République » nous transportait d’enthousiasme : il nous semblait que ce terme était composé de syllabes magiques, et que le monde serait comme renouvelé le jour où l’on pourrait enfin le prononcer à haute voix sur les places publiques. Et quels étaient ceux qui brûlaient de cet amour mystique pour l’avènement de l’ère républicaine, et qui voyaient avec nous dans ce changement extérieur l’inauguration de tous les progrès politiques et sociaux ? Ceux-là même qui sont maintenant au pouvoir, ceux qui ont les places et les sinécures, ceux qui font les aimables avec les ambassadeurs russes et les barons de la finance. Et certes, je n’imagine pas que dans ces temps déjà lointains tous ces parvenus fussent en masse de purs hypocrites. Il y en avait bien quelques-uns parmi eux, gens qui flairaient le vent et orientaient leur voile. Mais la plupart étaient sincères sans doute : ils croyaient à la République, et c’est de tout cœur qu’ils en acclamaient la trilogie : Liberté, Égalité, Fraternité !

    +

    Mais que de chemin parcouru depuis ! La République, comme forme de pouvoir s’est affermie, et c’est en proportion même de son affermissement qu’elle est devenue servante à tout faire. Comme par un mouvement d’horlogerie, aussi régulier que la marche de l’ombre sur un mur, tous ces fervents jeunes hommes qui faisaient des gestes de héros devant les sergents de ville sont devenus des gens prudents et timorés dans leurs demandes de réformes, puis des satisfaits, enfin des jouisseurs et des goinfres de privilèges. La magicienne Circé, autrement dit la luxure de la fortune et du pouvoir les a changés en pourceaux ! Et leur besogne tend de plus en plus à consolider les institutions qu’ils attaquaient autrefois. Ils s’accommodent parfaitement de tout ce qui les indignait. Eux qui tonnaient contre l’Église et ses empiétements s’accommodent maintenant du Concordat et donnent du Monseigneur aux évêques. Ils parlaient avec éloquence de la fraternité universelle, et c’est les outrager aujourd’hui que de répéter simplement les paroles qu’ils prononçaient alors. Ils dénonçaient avec horreur l’impôt du sang, mais récemment ils enrégimentaient jusqu’aux moutards et se préparaient peut-être à faire des lycéennes autant de vivandières. « Insulter l’armée » — c’est-à-dire ne pas cacher les turpitudes de l’autoritarisme sans contrôle et de l’obéissance passive, — c’est pour eux le plus grand des crimes. Manquer de respect envers l’immonde agent des mœurs, ou l’abject policier ou la valetaille des légistes assis ou debout, c’est outrager la justice et la morale .Il n’est point d’institution vieillie qu’ils n’essaient de consolider ; grâce à eux l’Académie, si honnie jadis, a pris une espèce de popularité : ils se pavanent sous la coupole de l’institut, quand un des leurs, devenu mouchard, a fleuri de palmes vertes son habit à la française. La croix de la légion d’honneur était leur risée, ils en ont inventé de nouvelles, jaunes, vertes, bleues, multicolores. Ce que l’on appelle la République ouvre toutes grandes les portes de son bercail à ceux qui en abhorrent jusqu’au nom, hérauts du droit divin, chantres du Syllabus, pourquoi ceux-ci n’entreraient-ils pas ? Ne sont-ils pas chez eux au milieu de tous ces parvenus qui les entourent chapeau bas ?

    +

    Mais il ne s’agit point ici de critiquer et de juger ceux qui par une lente corruption ou par de brusques soubresauts ont passé du culte de la sainte République à celui du pouvoir et des abus sacro-saints ! Dès leur point de départ, la carrière qu’ils ont suivie est précisément celle qu’ils devaient parcourir. Ils admettaient tous que la société doit être constituée en État ayant son chef et ses législateurs ; tous avaient la « noble » ambition de servir leur pays et de se « dévouer » à sa prospérité et à sa gloire. Ils acceptaient le principe, les conséquences s’en suivent. République et républicains sont devenus la triste chose que nous voyons ; et pourquoi nous en irriterions-nous ? C’est une loi de nature que l’arbre porte son fruit, que tout gouvernement fleurisse et fructifie en caprices, en tyrannie, en usure, en scélératesses, en meurtres et en malheurs.

    +

    C’est chimère d’attendre que l’Anarchie, idéal humain, puisse sortir de la République, forme gouvernementale. Les deux évolutions se font en sens inverse, et le changement ne peut s’accomplir que par une rupture brusque, c’est-à-dire par une révolution. Mais n’y a-t-il pas aussi des socialistes parmi les gens à l’affût du pouvoir ? Sans doute, et ce sont précisément ceux que nous redoutons le plus. C’est par décret qu’ils feront le bonheur du peuple, par la police qu’ils auront la prétention de se maintenir ! Le pouvoir n’est autre chose que l’emploi de la force : leur premier soin sera donc de se l’approprier, de consolider même toutes les institutions qui leur faciliteront le gouvernement de la société. Peut-être auront-ils l’audace de les renouveler par la science afin de leur donner une énergie nouvelle. C’est ainsi que dans l’armée on emploie des engins nouveaux, des poudres sans fumée ; et ces inventions ne servent qu’à tuer plus rapidement ; c’est ainsi que dans la police on a inventé l’anthropométrie, un moyen de changer la France entière en une grande prison. On commence par mesurer les criminels vrais ou prétendus, puis on mesure les suspects, et nous finirons par y passer tous. « La police et la science se sont entrebaisées», aurait dit le Psalmiste.

    +

    Ainsi rien, rien de bon ne peut nous venir de la République et des républicains arrivés, c’est-à-dire détenant le pouvoir. C’est une chimère en histoire, un contresens de l’espérer. La classe qui possède et qui gouverne est fatalement ennemie de tout progrès. Le véhicule de la pensée moderne, de l’évolution intellectuelle et morale est la partie de la société qui peine, qui travaille et que l’on opprime. C’est elle qui élabore l’idée, elle qui la réalise, elle qui, de secousse en secousse, remet constamment en marche ce char social, que les conservateurs essaient sans cesse de caler sur la route, d’empêtrer dans les ornières ou d’enliser dans les marais de droite ou de gauche.

    +

    Sociétés opposées ; forces en lutte

    +

    Les deux sociétés opposées existent dans l’Humanité : elles s’entremêlent, diversement rattachées ça et là par ceux qui veulent sans vouloir, qui s’avancent pour reculer ; mais si nous voyons les choses de haut, sans tenir compte des incertains et des indifférents que le destin fait mouvoir comme des flots, il est clair que le monde actuel se divise en deux camps, ceux qui veulent conserver l’inégalité et la pauvreté, c’est-à-dire l’obéissance et la misère pour les autres, les jouissances et le pouvoir pour eux-mêmes, et ceux qui revendiquent pour tous le bien-être et la libre initiative.

    +

    Entre ces deux camps, il semble d’abord que les forces soient bien inégales. Les souteneurs de la société actuelle ont les propriétés sans limites, les revenus qui se comptent par millions et par milliards, toute la puissance de l’État avec les armées des employés, des soldats, des gens de police, des magistrats, tout l’arsenal des lois et des ordonnances. Et les socialistes, les artisans de la société nouvelle, que peuvent-ils opposer à toutes ces forces organisées ? Rien, semble-t-il. Sans argent, sans armée, ils succomberaient, en effet, s’ils ne représentaient l’évolution des idées et des mœurs. Ils ne sont rien, mais ils ont pour eux le mouvement de la pensée humaine. La logique des événements leur donne raison et d’avance leur assure le triomphe en dépit des lois et des sbires.

    +

    Les efforts tentés pour endiguer la révolution peuvent aboutir en apparence, et les réactionnaires se félicitent alors à grand cri, mais leur joie est vaine, car refoulé sur un point, le mouvement se produit aussitôt sur un autre : si quelque Encelade réussissait à jeter un fragment de montagne dans un cratère, l’éruption ne se ferait point par le gouffre obstrué soudain, mais la montagne se fendrait ailleurs et c’est par la nouvelle ouverture que s’élancerait le fleuve de lave. C’est ainsi qu’après l’explosion de la Révolution française, Napoléon crut être le Titan qui refermait le cratère des révolutions, et la tourbe des flatteurs, la multitude infinie des ignorants le crut avec lui ; cependant, les soldats même qu’il promenait à sa suite à travers l’Europe contribuaient à répandre des idées et des mœurs nouvelles, tout en accomplissant leur œuvre de destruction : tel futur « décabriste » ou « nihiliste » russe prit sa première leçon de révolte d’un prisonnier de guerre sauvé des glaçons de la Bérézina. La conquête temporaire de l’Espagne suffit pour délivrer de l’intolérable régime colonial toutes les immenses provinces du Nouveau-Monde.

    +

    L’Europe semblait s’arrêter, mais par contre-coup l’Amérique se mettait en marche. Napoléon n’avait été qu’une ombre passagère.

    +

    La force extérieure de la société doit changer en proportion de la poussée intérieure, nul fait d’histoire n’est mieux constaté. C’est la sève qui fait l’arbre et qui lui donne ses feuilles et ses fleurs ; c’est le sang, qui fait l’homme ; ce sont les idées qui font la société. Or, il n’est pas un conservateur qui ne se lamente de ce que les idées, les mœurs, tout ce qui fait la vie profonde de l’Humanité, se soit modifié depuis le « bon vieux temps». Les formes sociales ne doivent-elles pas changer aussi ? La Révolution se rapproche en raison même du travail intérieur des esprits.

    +

    Disparition de la foi. Diminution respect. Pessimisme et suicide.

    +

    Que chacun fasse appel à ses souvenirs pour constater les changements qui se sont produits déjà dans la manière de penser et de sentir, depuis le milieu du siècle ! La nécessité d’un maître, d’un chef ou capitaine en toute organisation paraissait hors de doute : un Dieu dans le ciel, ne fût-ce que le Dieu de Voltaire, un souverain sur un trône ou sur un fauteuil, ne fût-ce qu’un roi constitutionnel ou un président de république, « un cochon à l’engrais», suivant l’heureuse expression de l’un d’entre eux ; un patron pour chaque usine, un bâtonnier dans chaque corporation, un mari, un père à grosse voix dans chaque ménage. Mais de jour en jour le préjugé se dissipe et le prestige des maîtres diminue ; les auréoles pâlissent à mesure que grandit le jour. En dépit du mot d’ordre, qui consiste à faire semblant de croire, même quand on ne croit pas, en dépit d’académiciens et de normaliens qui doivent à leur dignité de feindre, la foi s’en va et malgré les agenouillements, les signes de croix et les parodies mystiques, la croyance en ce Maître Éternel dont était dérivé le pouvoir de tous les maîtres mortels se dissipe comme un rêve de nuit. Ceux qui ont visité l’Angleterre et les États-Unis à vingt années d’intervalle s’étonnent de la prodigieuse transformation qui s’est accomplie à cet égard dans les esprits. On avait quitté des hommes fanatiques, intolérants, féroces dans leurs croyances religieuses et politiques ; on retrouve des gens à l’esprit ouvert, à la pensée libre, au cœur élargi. Ils ne sont plus hantés par l’hallucination du Dieu vengeur.

    +

    La diminution du respect est dans la pratique de la vie le résultat capital de cette évolution des idées. Allez chez les prêtres, bonzes ou marabouts : d’où vient leur amertume ? de ce qu’on ose penser sans leur avis. Et chez les grands personnages : de quoi se plaignent-ils ? de ce qu’on les aborde comme d’autres hommes. On ne leur cède plus le pas, on néglige de les saluer. Et quand on obéit aux représentants de l’autorité, parce que le gagne-pain l’exige, et qu’on leur donne en même temps les signes extérieurs du respect, on sait ce que valent ces maîtres ; et leurs propres subordonnés sont les premiers à les tourner en ridicule. Il ne se passe pas de semaine que des juges siégeant en robe rouge, toque sur tête, ne soient insultés, bafoués par leurs victimes sur la sellette. Tel prisonnier a même lancé son sabot à la tête du président. L’ombre des robins d’autrefois en a frémi sans doute jusqu’au fond des enfers.

    +

    Il est vrai le respect s’en va, non pas ce juste respect qui s’attache à l’homme de droiture, de dévouement et de labeur, mais ce respect bas et honteux qui suit la richesse ou la fonction, ce respect d’esclave qui porte la foule des badauds vers le passage d’un roi et qui change les laquais et les chevaux d’un grand personnage en objets d’admiration. Et non seulement le respect s’en va, mais ceux-là qui prétendent le plus à la considération de tous sont les premiers à compromettre leur rôle d’êtres surhumains. Autrefois les souverains d’Asie connaissaient l’art de se faire adorer. On voyait de loin leurs palais ; leurs statues se dressaient partout, on lisait leurs édits, mais ils ne se montraient point. Les plus familiers de leurs sujets ne les abordaient qu’à genoux, parfois un voile s’ouvrait à demi pour les montrer comme dans un éclair et les faire disparaître soudain, laissant tout émue l’âme de ceux qui les avaient entrevus un instant. Alors le respect était assez profond pour tenir de la stupeur : un muet portait aux condamnés un cordon de soie et cela suffisait pour que le fidèle adorateur se pendît aussitôt. Tamerlan, se promenant au haut d’une tour, fait un signe aux cinquante courtisans qui l’environnent, et tous se précipitent dans l’espace. Et que sont les Tamerlans de nos jours, sinon des apparences ? Simple convention, l’institution royale a perdu cette sanction du respect universel qui lui donnait toute sa valeur. « Le roi, la foi, la loi » disait-on jadis. « La foi » n’y est plus, et sans elle le roi et la loi s’évanouissent : ce ne sont plus que des fantômes.

    +

    Ceux qui sont marqués pour la mort n’attendent pas qu’on les tue : ils se suicident ; soit qu’ils se fassent sauter la cervelle ou se mettent la corde au cou, soit qu’ils se laissent envahir par la mélancolie, le marasme, le pessimisme, toutes maladies mentales qui pronostiquent la fin et en avancent la venue. Chez le jeune privilégié, fils d’une race épuisée, le pessimisme n’est pas seulement une façon de parler, une attitude, c’est une maladie réelle. Avant d’avoir vécu, le pauvre enfant ne trouve aucune saveur à l’existence, il se laisse vivre en rechignant, et cette vie endurée de mauvais gré est comme une mort anticipée. En ce triste état, on est déjà condamné à toutes les maladies de l’esprit, folie, sénilité, démence. On se plaint de la diminution des enfants dans les familles, et d’où vient la stérilité croissante, volontaire ou non, si ce n’est d’un amoindrissement de la force virile ou de la joie de vivre ? N’est-ce pas un signe des temps que toute une école littéraire ait pris le nom de « décadents». Parmi les journaux qui durent, n’en est-il pas un qui porte le nom, — probablement mérité, — de Journal des Abrutis ?

    +

    Dans le monde qui travaille, où l’on a pourtant bien des causes de tristesse, on n’a pas le temps de se livrer aux langueurs du pessimisme. Il faut vivre, il faut aller de l’avant, progresser quand même, renouveler les forces vives pour la besogne journalière. C’est par l’accroissement de ces familles que la société se maintient, et de leur milieu surgissent incessamment des hommes qui reprennent l’œuvre des devanciers et, par leur initiative hardie, l’empêchent de tomber dans la routine.

    +

    Internationale

    +

    Les grands événements auxquels notre génération a participé sont issus de ce monde du travail, et les « classes dirigeantes » n’y ont été pour rien. L’Internationale ! Depuis la découverte de l’Amérique et la circumnavigation de la Terre, n’est-ce pas le fait le plus considérable de l’histoire des hommes ? Colomb, Magellan, El Cano ont constaté, les premiers, l’unité matérielle de la Terre, et depuis cette époque, maints philosophes et révolutionnaires avaient prévu sa future unité morale. Que de fois n’a-t-on pas célébré les jours à venir où disparaîtraient les frontières, mais elles n’en existaient pas moins, jusqu’au jour où des travailleurs anglais, français, allemands, oubliant la différence d’origine et se comprenant les uns les autres malgré la diversité du langage, se réunirent pour ne former qu’une seule et même nation, au mépris de tous les gouvernements respectifs. Sans doute, les commencements de l’Internationale furent peu de chose, à peine quelques milliers d’hommes s’étaient groupés dans cette association, cellule primitive de l’Humanité future, mais les historiens comprirent l’importance capitale de l’événement qui venait de s’accomplir. Et dès les premières années de son existence, pendant la Commune de Paris, on put voir par le renversement de la colonne Vendôme que les idées de l’Internationale étaient devenues une réalité vivante. Chose inouïe jusqu’alors, les vaincus renversèrent avec enthousiasme le monument d’anciennes victoires, non pour flatter lâchement ceux qui venaient de vaincre à leur tour, mais pour témoigner de leur sympathie fraternelle envers les frères qu’on avait menés contre eux, et de leurs sentiments d’exécration contre les maîtres et rois qui de part et d’autre conduisaient leurs sujets à l’abattoir. Pour ceux qui savent se placer en dehors des luttes mesquines des partis et contempler de haut la marche de l’histoire, il n’est pas, en ce siècle, de signe des temps qui ait une signification plus imposante que le renversement de la colonne impériale sur sa couche de fumier !

    +

    On l’a redressée depuis, de même qu’après la mort de Charles 1er et de Louis XVI on restaura les royautés d’Angleterre et de France, mais on sait ce que valent les restaurations ; on peut recrépir les lézardes, mais la poussée du sol ne manquera pas de les rouvrir : on peut rebâtir les édifices, mais on ne fait pas renaître la foi première qui les avait édifiés. Le passé ne se restaure, ni l’avenir ne se détourne. Il est vrai que tout un appareil de lois interdit l’Internationale. En Italie on l’a qualifiée d’« Associations de Malfaiteurs». On en punit les membres du cachot et du bagne. Précautions misérables ! Sous quelque nom qu’on la déguise, la fédération internationale des Travailleurs n’en existe et ne s’en développe pas moins, toujours plus solidaire et plus puissante. C’est même une singulière ironie du sort, de nous montrer combien ministres et magistrats, ces législateurs et leurs complices, sont des êtres faciles à duper et combien ils s’empêtrent dans leurs propres lois. Leurs armes ont à peine servi que déjà, tout émoussées, elles n’ont plus de tranchant. Ils prohibent l’Internationale, mais ce qu’ils ne peuvent prohiber, c’est l’accord naturel et spontané de tous les travailleurs qui pensent, c’est le sentiment de solidarité qui nous unit de plus en plus, c’est notre alliance toujours plus intime contre les parasites de diverses nations et de diverses classes. Ces lois ne servent qu’à rendre grotesques les graves et majestueux personnages qui les édictent. Pauvres fous, qui commandez à la mer de reculer !

    +

    Par un contraste bizarre, jamais on ne parla de la patrie avec une aussi bruyante affectation que depuis le temps où on la voit se perdre peu à peu dans la grande patrie terrestre de l’Humanité. On ne voit plus que des drapeaux, surtout à la porte des guinguettes et des maisons à fenêtres louches. Les « classes dirigeantes » se targuent à pleine bouche de leur patriotisme, tout en plaçant leurs fonds à l’étranger et en trafiquant avec Vienne ou Berlin de ce qui leur rapporte quelque argent, même les secrets d’État. Jusqu’aux savants, oublieux du temps où ils constituaient une république internationale de par le monde, qui parlent de « science française», de « science allemande», de « science italienne » comme s’il était possible de cantonner entre des frontières, sous l’égide des gendarmes, la connaissance des faits et la propagation des idées : on fait du protectionnisme pour les productions de l’esprit comme pour les navets et les cotonnades. Mais en proportion même de ce rétrécissement intellectuel dans le cerveau des importants s’élargit la pensée des petits. Les hommes d’en haut raccourcissent leur domaine et leur espoir à mesure que nous, les révoltés, nous prenons possession de l’Univers et agrandissons nos cœurs. Nous nous sentons camarades de par la terre entière, de l’Amérique à l’Europe et de l’Europe à l’Australie ; nous nous servons du même langage pour revendiquer les mêmes intérêts et le moment vient où nous aurons spontanément la même tactique, un seul mot de reconnaissance. Notre armée se lèvera de tous les coins du monde.

    +

    Déjà des signes avant-coureurs ont annoncé la grande lutte. N’avons-nous pas vu, le 1er mai 1890, les ouvriers du monde entier s’unir dans une même pensée pour répondre à l’appel d’un inconnu quelconque, peut-être d’un camarade australien ? N’a-t-il pas été prouvé, ce jour-là, que l’Internationale était bien ressuscitée, non point à la voix des chefs, mais par la pression des foules ? Ni les « sages conseils » des socialistes en place, ni l’appareil répressif des gouvernements n’ont pu empêcher les opprimés de toutes les nations de se sentir frères sur tout le pourtour de la planète et de se le dire les uns aux autres. Et pourtant il s’agissait de bien peu de chose, d’une simple manifestation platonique, d’une parole de ralliement, d’un mot de passe ! Il plaisait au monde des travailleurs de se sentir vibrer d’une même secousse électrique.

    +

    Certes, le cri de « Travail des huit heures! » proféré le 1er mai d’un bout de la terre à l’autre n’est point révolutionnaire, car il n’aurait d’autre résultat, s’il était favorablement accueilli, que de confirmer les pouvoirs du patronat, maître des salaires ! Du moins ce mot de rappel, cette date fixe ont-ils pris un sens épique par leur universalité. La force des choses, c’est-à-dire l’ensemble des conditions économiques, fera certainement naître pour une cause ou pour une autre, à propos de quelque fait imprévu, une de ces crises soudaines qui passionnent même les indifférents, et nous verrons tout à coup jaillir cette immense énergie qui s’est emmagasinée dans le cœur des hommes par le sentiment violé de la justice, par les souffrances inexpiées, par les haines inassouvies. Chaque jour peut amener une catastrophe et la situation est tellement tendue que dans chaque pays on s’attend à un éclat, qui sait ? peut être la première fusée de l’explosion ! Le renvoi d’un ouvrier, une grève locale, un massacre fortuit, peuvent être la cause de la révolution, de même qu’une simple étincelle peut allumer une poudrière. C’est que le sentiment de solidarité gagne de plus en plus et que toute secousse locale tend à ébranler l’Humanité. Il y a deux ans à peine qu’un ouvrier proposa quelque part la « grève générale ! » Le mot parut bizarre, on le prit pour l’expression d’un rêve, d’une espérance chimérique, puis on le répéta d’une voix plus haute, et maintenant il retentit si fort que le monde des capitalistes en tremble. Non, la grève générale n’est pas impossible. Salariés Anglais, Belges, Français, Allemands, Américains, Australiens comprennent qu’il dépend d’eux de refuser le même jour tout travail à leurs patrons, et ce qu’ils comprennent aujourd’hui pourquoi ne le pratiqueraient-ils pas demain ? Un vent d’orage passe sur les peuples comme sur l’Océan : attendons-nous à la tempête !

    +

    Il me souvient, comme si je la vivais encore, d’une heure poignante de ma vie où la joie profonde d’avoir agi suivant mon cœur et ma pensée se mêlait à l’amertume de la défaite. Il y a vingt années de cela. La Commune de Paris était en guerre contre les troupes de Versailles, et le bataillon dans lequel j’étais entré avait été fait prisonnier sur le plateau de Châtillon. C’était le matin, un cordon de soldats nous entourait et des officiers moqueurs venaient faire les beaux devant nous. Plusieurs nous insultaient ; un d’eux qui, plus tard, devint sans doute un des élégants parleurs de l’Assemblée, pérorait sur la folie des Parisiens ; mais nous avions d’autres soucis que de l’écouter. Celui des officiers qui me frappa le plus était un homme sobre de paroles, au regard dur, à la figure d’ascète, probablement un hobereau de campagne élevé par les jésuites. Il passait lentement sur le rebord abrupt du plateau, et se détachait en noir comme une vilaine ombre sur le fond lumineux de Paris. Les rayons du soleil naissant s’épandaient en nappe d’or sur les maisons et sur les dômes : jamais la belle cité, la ville des révolutions, ne m’avait paru plus belle ! « Vous voyez votre Paris ! » disait l’homme sombre en nous montrant de son arme l’éblouissant tableau ; « Eh bien, il n’en restera pas pierre sur pierre ! »

    +

    En répétant d’après ses maîtres cette parole biblique, appliquée jadis aux Ninives et aux Babylopes, le fanatique officier espérait sans doute que son cri de haine serait une prophétie, Toutefois Paris n’est point tombé ; non seulement il en reste « pierre sur pierre » : mais ceux qui lui faisaient haïr Paris, c’est-à-dire ces trente-cinq mille hommes que l’on égorgea dans les rues, dans les casernes et dans les cimetières, ne sont point morts en vain et de leurs cendres sont nés des vengeurs. Et combien d’autres « Paris», combien d’autres foyers de révolution consciente sont nés de par le monde ! Où que nous allions, à Londres ou à Bruxelles, à Barcelone ou à Sydney, à Chicago ou à Buenos Ayres, partout nous avons des compagnons qui sentent et parlent comme nous. Sous la grande forteresse qu’ont bâtie les héritiers de la Rome césarienne et papale, le sol est miné partout et partout on attend l’explosion. Trouverait-on encore, comme au siècle dernier, des Louis XV assez indifférents pour hausser les épaules en disant : « Après moi le déluge! » C’est aujourd’hui, demain peut-être, que viendra la catastrophe. Balthazar est au festin, mais il sait bien que les Perses escaladent les murailles de la cité.

    +

    De même que l’artiste pensant toujours à son œuvre la tient en entier dans sa tête avant de l’écrire ou de la peindre, de même l’historien voit d’avance la révolution sociale : pour lui, elle est déjà faite. Toutefois nous ne nous faisons point illusion : nous savons que la victoire définitive nous coûtera encore bien du sang, bien des fatigues et des angoisses. A l’Internationale des opprimés répond une Internationale des oppresseurs. Des syndicats s’organisent de par le monde pour tout accaparer, produits et bénéfices, et pour enrégimenter tous les hommes en une immense armée de salariés. Et ces syndicats de milliardaires et de faiseurs, circoncis et incirconsis, espèrent, non sans raison, que par la toute puissance de l’argent ils auront à leurs gages les gouvernements et tout leur outillage de répression : armée, magistrature et police. Ils espèrent aussi que par l’habile évocation des haines de races et de peuples, ils réussiront à tenir les foules exploitables dans cet état d’ignorance patriotique et niaise qui maintient la servitude. En effet, toutes ces vieilles haines, ces traditions d’anciennes guerres et ces espoirs de revanche, cette illusion de la patrie, avec ses frontières et ses gendarmes, et les excitations journalières des chauvins de métier, soldats ou journalistes, tout cela nous présage encore bien des luttes, mais nous avons des avantages que l’on ne peut nous ravir. Nos ennemis savent qu’ils poursuivent une œuvre funeste et nous savons que la notre est bonne ; ils se détestent et nous nous entr’aimons ; ils cherchent à faire rebrousser l’histoire et nous marchons avec elle.

    +

    Future coïncidence pacifique de l’Évolution et de la Révolution

    +

    Ainsi les grands jours s’annoncent. L’évolution s’est faite, la révolution ne saurait tarder. D’ailleurs ne s’accomplit-elle pas constamment sous nos yeux, par multiples secousses ? Plus les travailleurs, qui sont le nombre, auront conscience de leur force, et plus les révolutions seront faciles et pacifiques. Finalement, toute opposition devra céder et même céder sans lutte. Le jour viendra où l’Évolution et la Révolution, se succédant immédiatement, du désir au fait, de l’idée à la réalisation, se confondront en un seul et même phénomène. C’est ainsi que fonctionne la vie dans un organisme sain, celui d’un homme ou celui d’un monde.

    +

    FIN

    +
    +

    Consulté le 2 mai 2016 de http://kropot.free.fr/Reclus-evorevo1.htm

    +

    Publication de la Révolte, 1891. (Voir aussi : L’Évolution, la Révolution et l’Idéal anarchique, version ultérieure de ce même texte.)

    + + \ No newline at end of file diff --git a/sac/pages/manpages-bsd-lv-history-html b/sac/pages/manpages-bsd-lv-history-html new file mode 100644 index 0000000..cdd077c --- /dev/null +++ b/sac/pages/manpages-bsd-lv-history-html @@ -0,0 +1,1152 @@ + + + + + + History of UNIX Manpages + + + + +

    + History of UNIX Manpages +

    +
    + An appendix of Practical UNIX Manpages +
    +

    + Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? + And for manpage authors: where were those economical two- and three-letter instructions developed? +

    +

    + The many accounts available on the Internet lack citations and are at times inconsistent. + In this article, I reconstruct the history of the UNIX manpage based on source code, manuals, and first-hand accounts. +

    +

    + Special thanks to Paul Pierce for his + CTSS + source archive; Bernard Nivelet for the + Multics Internet + Server; the UNIX Heritage Society for their research UNIX source reconstruction; Gunnar Ritter for the Heirloom Project sources; Alcatel-Lucent Bell Labs for the Plan 9 sources; BitSavers for their historical archive; and last but not least, Rudd Canaday, James + Clark, Brian Kernighan, Douglas McIlroy, Nils-Peter Nelson, Jerome Saltzer, Henry Spencer, Ken Thompson, and Tom Van + Vleck for their valuable contributions. +

    +

    + Please see the Copyright section if you plan on reproducing parts of this work. +

    +

    + Timeline +

    +
    +
    + The development of UNIX manpages can be divided into the Prehistory, before UNIX; the + Classical Age, during the development of UNIX; and the + Renaissance, where traditional UNIX utilities were re-written. + In this chart, I show all known formatters of manpages (and their logical precursors before manpages + existed as such). +
    +
    + Timeline of UNIX manpage utilities +
    +
    + Timeline of UNIX manpage utilities +
    +
    +

    + Prehistory +

    +
    +
    + 1964: RUNOFF (Jerome H. Saltzer) +
    +
    +

    + Saltzer wrote the RUNOFF utility for MIT's + IBM + 7094 CTSS operating system in + the MAD computer language. + Its legacy is considerable: + not only do contemporary manpages inherit from RUNOFF, many of them, in fact, + use instructions identical to those specified in the original RUNOFF manual. +

    +
    +

    + Input generally consists of English text, 36O or fewer characters to a line. Control words must + begin a new line, and they begin with a period so that they may be distinguished from other + text. RUNOFF does not print the control words. +

    +
    +

    + Of the many abbreviated RUNOFF control words, macros such as sp + and br are still common-place. According to Saltzer and the source + literature, the syntax of RUNOFF inherits loosely from the prior DITTO, MEMO, and MODIFY utilities + by M. J. Leslie Lowry, Fernando J. Corbató, and J. Richard Steinberg, 1963. The original purpose + of RUNOFF was to format Saltzer's doctoral thesis + proposal. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1966: RUNOFF (Rudd Canaday) (UNCERTAIN) +
    +
    +

    + While working at AT&T Bell Labs' Whippany centre, Canaday led a porting + effort of the CTSS at + MIT to the GE-635 (in 635 assembly). The RUNOFF utility is suspected to be part of this port. The ported CTSS was originally intended as a prototype (to be + replaced by Nike hardware), but ended up being used for five more years. No sources could be located + for this CTSS port. +

    +
    +

    + Sources: +

    +
      +
    • + Rudd Canaday, the Old Days. 27 + October, 2011. Email to Kristaps Dzonsons and Tom Van Vleck. +
    • +
    • + Rudd Canaday, the Old Days. 24 + October, 2011. Email to Kristaps Dzonsons and Tom Van Vleck. +
    • +
    +
    +
    +
    + 1967: roff (Robert Morris) (UNCERTAIN) +
    +
    +

    + Little is known about this speculated port of RUNOFF, only that + it was called roff and probably ran on Bell Labs' + GCOS-II GE-635. Ritchie is commonly cited + as participating in this port, and this is not disputed. Canaday is also + mentioned as an author, though this is not the case by his own account. Both McIlroy and Saltzer speculate that this version, if written, + was likely in BCPL, much like runoff. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1967: SCRIPT (Stuart Madnick) +
    +
    +

    + In 1967, Madnick ported the RUNOFF code + to the IBM CP67/CMS at IBM as SCRIPT. The documentation of SCRIPT explicitly mentions the + backspace-encoding convention used to this day by manpage formatters on UNIX terminals (of course, this + was common practise in mechanical type-writers before then): +

    +
    +

    + Thus the backspace key allows underscoring and overprinting at the terminal for SCRIPT files. The logical backspace character prints only when entered and + does not take up a column in the record; it logically backspaces one column... +

    +
    +

    + Source code for the original re-write of RUNOFF could not be + located, although a considerable amount of documentation exists for this utility. The dates of Madnick's porting derive from his publication and independent accounts. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1969: runoff (Douglas McIlroy) +
    +
    +

    + In 1969, McIlroy released an influential + BCPL port of RUNOFF to extend the runoff + model to the GECOS GE-645 + computer at AT&T Bell Labs, Murray Hill. He did not refer to the CTSS RUNOFF source code in writing runoff, nor any other + speculated derivatives of Saltzer's utility. The progress of this utility + subsequent 1969 is recorded in the Multics BCPL + source as ported by R. F. Mabee: +

    +
    +

    + The first ROFF for Multics was written in March, 1969, by Doug McIlroy of Bell Labs. Art Evans made extensive modifications to it in May + and June, 1969, adding many comments and making various changes. Footnoting added by Dennis + Capps in 1970. Maintained by Harwell Thrasher in 1971. Many new features added and bugs fixed + by R Mabee in 1971-1972. RUNOFF and BCPL were brought over to the 6180 + Multics (from 645) in May of 1973 by R F Mabee. +

    +
    +

    + McIlroy's port is at times referred to as runoff, at + times as roff. The reason for renaming is not entirely clear: I see that I + called it runoff in 1969. By 1971 it was roff. Now + I'm not so sure I got the name from Morris. Conceivably it came from Thompson, who was big on shortening names. My 1971 description came in January; + the first ediion [sic] Unix manual is dated December 1971. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1974: compose (Dennis Capps) +
    +
    +

    + The compose utility, né runoff, was a port of + RUNOFF to PL/1 by Capps for the Multics + Honeywell 6180. It was later tuned and improved by Ed Wallman. Tom Van Vleck, Wallman's manager in + mid-1978, recounts the porting effort to produce photo-typeset manuals and eliminate dependence on + BCPL. (Note: the primary source + erroneously refers to Ossanna as writing the + BCPL runoff; it was in fact McIlroy.) +

    +
    +

    + Sources: +

    + +
    +
    +
    +

    + Classical Age +

    +
    +
    + 1969: roff (Brian Kernighan) + +
    +
    +

    + After being exposed to RUNOFF while at MIT in summer 1966, Kernighan wrote a port in Fortran (for an IBM System/360) while working on his + doctoral thesis at Princeton (to format the thesis). By his account, the system was used for five more + years by the student agency. The punch-card source has long since been lost. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1970: rf (Ken Thompson) + +
    +
    +

    + Thompson wrote a PDP-7 port of either the BCPL runoff or directly from the CTSS RUNOFF. This + fork was an evolutionary dead-end, replaced by the PDP-11 roff(1) which + was written at around the same time. The source code for this port has long since been lost. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1971: roff(1) (Dennis Ritchie) + +
    +
    +

    + Most of the programming team for Multics continued working with UNIX at AT&T Bell Labs, Murray Hill, + so it's no surprise that Multics runoff was incorporated as UNIX roff(1) in Version 1 AT&T UNIX, 1971. This was a PDP-11 assembly-language port + of the BCPL runoff. + According to McIlroy, Ossanna convinced the AT&T + patent department to use UNIX and roff(1) for formatting patent applications, + and according to Thompson, that usage was the justification for the PDP-11 + purchase. +

    +

    + There are many differing accounts of who wrote this version, but most settle on Ossanna, Ritchie, and Thompson. + However, the first-hand accounts of McIlroy, Kernighan, + and Thompson settle on Ritchie as the primary author. This is corroborated by Ritchie's expertise in + BCPL, as roff(1) was + based upon McIlroy's BCPL runoff. +

    +

    + Unfortunately, the first roff(1) version is lost. Some sources from Version 1 + AT&T UNIX have been reconstructed from old tapes, but roff(1) was not among + them. All that remains from this time are manual entries and first-hand accounts. However, the + PDP-11 source for Version 5 AT&T UNIX still exists, and by first-hand accounts, is a modified + form of the original. +

    +

    + Version 1 AT&T UNIX roff(1) is also notable, regarding manpages, for its + release of the First Edition UNIX Programmer's Manual, which defines the manpage structure and layout + enjoyed in the present day. Thompson conceived of this convention, inspired by + the Multics MSPM, itself inspired by the CTSS manuals. +

    +

    + The source code of Version 1 and 2 AT&T UNIX manual pages may not have survived; + only typeset versions are known. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1972: nroff(1) (Joseph F. Ossanna) +
    +
    +

    + Ossanna took over the PDP-11 roff(1) and built + nroff(1), which focussed on outputting text onto terminals, for Version 2 + AT&T UNIX. The exact motivations for this are unknown, but are vaguely agreed as evolving the + utility and language to support more advanced formatting. +

    +

    + Unfortunately, a source record of the original effort is entirely lost; however, later versions of the + PDP-11 source (for Version 6 AT&T UNIX) and manual page (Version 3 AT&T UNIX) are available. +

    +

    + Thompson mentions that nroff(1) introduced the notion + of programmable macros. This is corroborated by the Version 6 AT&T UNIX source for nroff(1), where files under the prefix /usr/lib/tmac. are + parsed for macros (see nroff.8 in the Version 6 AT&T archive). This same + behaviour is not reproduced in the roff(1) sources from the same time, + so it makes sense that this is the first appearance of macros. +

    +

    + On the other hand, the manual pages for Version 3 AT&T UNIX (Feb. 1973) + were still written in raw roff without using any macro set. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1973: troff(1) (Joseph F. Ossanna) +
    +
    +

    + Ossanna started writing troff(1) from his PDP-11 nroff(1) sources for Version 4 AT&T UNIX. It's widely asserted that + the driving motivation was to create output for the CAT phototypesetter. +

    +

    + Original sources for this version of AT&T UNIX are also lost; however, the manual still exists, and + records of the PDP-11 source exist in raw tape data for Version 6 AT&T UNIX (which apparently + couldn't be reconstructed). +

    +

    + From Version 4 AT&T UNIX (Nov. 1973) to Version 6 AT&T UNIX (May 1975), + a simple macro set was used for writing manual pages, + but the macros were completely incompatible with macro sets used today. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1979: ditroff(1) (Joseph F. Ossanna, Brian Kernighan) +
    +
    +

    + In around 1975, Ossanna re-wrote troff(1) in the + C-language. However, in 1977 this work was discontinued and sources were untouched for nearly two years + until resumed by Kernighan: +

    +
    +

    + After Joe Ossanna died in late 1977, troff was static for probably close to two years, since no one had the time + and courage to touch it. It was entirely in C at that point, somewhat over 9000 lines as I + remember. I simply modified it, gradually getting around some of the limitations on fonts, + making use of dynamic memory, and generating "device-independent" output for devices whose + properties were specified in dynamically loaded files. +

    +
    +

    + The result is the first intact UNIX troff(1) source. By Version 7 AT&T + UNIX, both nroff(1) and troff(1) are built from the + same C sources, separated by preprocessor conditionals, while roff(1) was still + built in its PDP-11 assembly. The ditroff(1) name origin is unknown. Kernighan writes, I'm pretty sure that + I only talked about a "device independent troff"; the name "ditroff" came from somewhere else, and I've + never been fond of it. +

    +

    + Kernighan's device-independent troff(1) was repackaged + in commercial AT&T (and derivative) UNIX systems for years to come. In circa 1978, the DWB featured troff(1) as its mainstay; + later, the WWB bolted on many additional word-processing + utilities. These applications were repackaged in 1989 by USL, a subsidiary of AT&T Bell Laboratories. The DWB tools were then bought by + SoftQuad in circa 1978, which rebranded troff(1) as sqtroff(1). +

    +

    + When Douglas McIlroy edited volume 1 of the manual pages for Version 7 AT&T UNIX, + he revised the manual page macros substantially, first designing and implementing + most of the macros that are still used in the man(7) language today. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1991: troff(1) (Brian Kernighan) +
    +
    +

    + The Plan 9 operating system, initially released in 1991 from AT&T Bell Labs, Murray Hill, is a + research system extending the UNIX model. It included ditroff(1), + which was steadily improved by Kernighan to include features such as UTF encoding. The troff(1) for Plan 9 + was not free software until the Third Edition in June, 2000, when sources were licensed under the Plan 9 + license. It was again re-licenced in 2002 under the Lucent Public Licence 1.02. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 2005: troff(1) (Gunnar Ritter) +
    +
    +

    + In 2005, Sun Microsystems published an CDDL-licenced variant of their Solaris operating system called + OpenSolaris. This included a re-licenced descendant of troff(1) as + imported into AT&T UNIX System V UNIX in 1983. Ritter incorporated this + software into the Heirloom project in August, 2005. +

    +
    +

    + Sources: +

    + +
    +
    +
    +

    + Renaissance +

    +
    +
    + 1989: groff(1) (James Clark) +
    +
    +

    + The GNU troff is popularly considered to be the most wide-spread in + modern UNIX installations. It's bundled by default on most GNU/Linux operating systems. This port, + renamed groff, was written by James Clark in 1989 specifically for the GNU + project. At this time, no open-source implementation existed. +

    +

    + The groff port was based purely from troff + documentation as shipped with SunOS 4.1.4, and was written in C++ on Sun 4/110 (initial implementations + of the GNU C++ compiler were on Sun, making it an ideal starting point). +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1991: awf(1) (Henry Spencer) +
    +
    +

    + In 1991, Spencer sent a terse mail to USENET comp.sources.unix indicating that + he'd written an interpreter in the AWK language for the man and ms macro packages + documented in Version 7 AT&T UNIX nroff(1) and ditroff(1). +

    +
    +

    + This is awf, the Amazingly Workable Formatter – a "nroff -man" or (subset) "nroff -ms" + clone written entirely in (old) awk. +

    +
    + +

    + According to Spencer, awf was necessary for the + portability of C News, a USENET news server written by Spencer and Geoff Collyer in 1987. The project + wished to distribute manpage sources, but since ditroff(1) sources were + still license-encumbered, needed to guarantee portability to un-licensed UNIX systems. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 1991: cawf(1) (Vic Abell) +
    +
    +

    + Abell ported awf(1) to C in 1991 while at + Purdue. The motivation of this port was to [produce] + a C language version that would run on small systems, particularly MS-DOS ones. +

    +
    +

    + Sources: +

    + +
    +
    +
    + 2008: mandoc(1) (Kristaps Dzonsons, Ingo + Schwarze) +
    +
    +

    + Like awf, mandoc(1) primarily reads ditroff(1) macro files (not general ditroff(1) input), although it has some capability for generalised input. It is the + first fully semantic parser for manpages, exposing the annotated content of parsed documents. groff(1) manuals were the predominant basis for this port. +

    +

    + Disclaimer: the author of this document originally wrote mandoc(1). +

    +
    +

    + Sources: +

    + +
    +
    +
    +
    +

    + People +

    +
    +
    Abell, Vic
    +
    +

    + Wrote cawf while at Purdue University. Homepage: people.freebsd.org/~abe/. +

    +
    +
    Canaday, Rudd
    +
    +

    + May have ported RUNOFF to the GE-635 while at AT&T Bell Labs, Whippany. +

    +
    +
    Capps, Dennis
    +
    +

    + Wrote compose while at Honeywell. +

    +
    +
    Clark, James
    +
    +

    + Wrote groff(1) for the GNU project, groff.ffii.org. Homepage: www.jclark.com. +

    +
    +
    Dzonsons, Kristaps
    +
    +

    + Wrote mandoc(1), mdocml.bsd.lv. Homepage: kristaps.bsd.lv. +

    +
    +
    Kernighan, Brian
    +
    +

    + Completed ditroff(1) while at AT&T Bell Labs, Murray Hill. Homepage: + www.cs.bell-labs.com/who/bwk/. +

    +
    +
    Madnick, Stuart
    +
    +

    + While at Honeywell, ported RUNOFF to the IBM CP67/CMS and renamed it SCRIPT. Homepage: web.mit.edu/smadnick/www/home.html. +

    +
    +
    McIlroy, Douglas
    +
    +

    + Ported RUNOFF to GECOS GE-645 while at AT&T Bell Labs, Murray + Hill. Homepage: www.cs.dartmouth.edu/~doug. +

    +
    +
    Morris, Robert
    +
    +

    + Possibly ported RUNOFF to a GECOS GE-635. +

    +
    +
    Ossanna, Joseph F.
    +
    +

    + Worked on the PDP-11 assembly-language nroff(1) and troff(1) (also converted the latter to C) while working at + AT&T Bell Labs, Murray Hill. +

    +
    +
    Ritchie, Dennis
    +
    +

    + Wrote the PDP-11 assembly-language roff(1) while working at AT&T Bell + Labs, Murray Hill. Homepage: cm.bell-labs.com/who/dmr. +

    +
    +
    Ritter, Gunnar
    +
    +

    + Maintains the Heirloom Project, + including their re-licenced troff(1). +

    +
    +
    Saltzer, Jerome H.
    +
    +

    + Wrote RUNOFF while working as a student at MIT. Homepage: mit.edu/saltzer. +

    +
    +
    Schwarze, Ingo
    +
    +

    + Took over mandoc(1) from Kristaps + Dzonsons in 2013. + Current project lead. +

    +
    +
    Spencer, Henry
    +
    +

    + Wrote the awf formatter for the man and ms + macro sets. Homepage: www.hq.nasa.gov/alsj/henry.html. +

    +
    +
    Thompson, Ken
    +
    +

    + Contributed to roff(1), nroff(1), and troff(1) while at AT&T Bell + Labs, Murray Hill. Homepage: cm.bell-labs.com/who/ken. +

    +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + diff --git a/sac/pages/manpath-be-about b/sac/pages/manpath-be-about new file mode 100644 index 0000000..c359aaa --- /dev/null +++ b/sac/pages/manpath-be-about @@ -0,0 +1,208 @@ + + + + + + + + + + + + + About MANPATH.be + + + + + + + + +
    +
    + + + +
    + +
    +

    About

    + +

    +This site is a collection of free and open-source man pages. Its +purpose is to provide convenient and stable access to man page content. +For example, it has man pages for several distributions, it has permalinks, +it interlinks man pages in various ways and allows linking into +a specific line or section of a man page. +

    + + +

    Contact

    +

    + This page and the software behind this site is written by Georg Sauthoff. Don't hesitate to contact me if you have comments, questions or suggestions about this site. +

    +

    Features

    +

    + Selected features of this site: +

    +
      +
    • Permalinks - each man page shows a permalink which is a stable + reference to its content. This is useful when citing a man page + or parts of it. Stable means that you get the exact same content + even if newer versions of that man page source are imported, either + when a new distribution version is added or when an updated package + (that provides the man page) is added. +
    • +
    • Short links - short links are easy to construct and + thus can be used for direct access to a man page. For example, to access the strcopy() man page in Fedora 29: /f29/3/strcpy — or to access the open man page in the highest prioritized section: /f29/open +
    • +
    • Overview pages - there are pages that list all the section of a + distribution or all the pages inside a section, such as + /f29/3 + (all pages in Section 3 in Fedora 29) and /f29 + (all sections in Fedora 29). This allows for better indexing and + quick in-browser searches. +
    • +
    • Inter-section links - for some names there are man pages in + multiple sections. Since sometimes it's easy to end up in the wrong + section or to be surprised that there are other man pages of the + same name in other sections the navigation column contains links to + man pages of the same name in other sections. +
    • +
    • Inter-distribution links - there also links between man pages of + the same name in other distributions. This might be convenient to + quickly check the availability of an API in another system or + distribution version. +
    • +
    • Reverse-links - i.e. what links here +
    • +
    • Responsive layout - the HTML pages use CSS Flexible Box layout + such that the man pages are decently viewable on different + screen sizes, e.g. also on smartphones. +
    • +
    • No JavaScript - omitting JavaScript helps with load times + and saves some cycles on the client side. Some frontend + frameworks come with some good design defaults, an easy + to use grid and responsive design but add some hundred + kilobytes including some JavaScript. The JavaScript might + be there for some extra features or to implement + responsive layout in legacy browsers. Thus, there are + basically only downsides on using JavaScript in a site + like this. +
    • +
    +

    Technology Stack

    +

    + The site's content is stored in a Postgresql database. The loader + that imports man pages into the database is written in Python, + using SQLAlchemy Core expressions for database operations. + The actual site software is written in Go, using just the + pq Postgres driver + and the gziphandler package as + non-standard dependencies. That means the Go code implements a + HTTP server (using net/http) that implements + a URL multiplexer, selects from the database and executes + some nested Go HTML templates. + The Go server is put behind an + NGINX reverse proxy such + that + popular pages are served from a cache and to allow for seamless updates. +

    +

    See Also

    + + +

    + There are many browsable man page repositories available. The following + details some of the differences of the more popular ones with this site. +

    +

    + All of the compared sites are missing some semi-advanced features like + permalinks, inter-section links, inter-distribution links, reverse-links, + linkable sections and line-numbers in man pages. +

    +

    + The Debian project runs manpages.debian.org that + provides access to the man pages of some Debian releases. As of + 2019-04-30, most pages have inter-system links to Debian stretch, Debian testing, + stretch-backports and Debian unstable. It's unclear how stable these links are. + That means whether the links to stretch will still work after the next stable + Debian is released. There are no permalinks to pages of a distribution + version - e.g. a page in stretch or unstable might be replaced by an + package update at any time. On the positive side, there are + inter-section links, including links to translated pages. +

    +

    + The FreeBSD project has a Web form for querying + the man pages of various UNIX/Linux distributions. Since there aren't any + overview pages the pages aren't indexed by web search engines like + Google. The produced links are long query strings, thus not user + friendly for writing them from scratch. There are no inter-distribution links for + easily switching between man page versions. +

    +

    Man7.org serves the man + pages from the Linux + man-pages project and a few other projects. It probably closely + follows the master branch of the man-pages project. Or it contains the HTML + renderings of the latest release. In any case, links into this repository + aren't stable because you just get some current version. It's also unclear + how often the other projects are updated. +

    +

    Man.cx tracks almost all man-pages of + Debian testing. In contrast to many other services, it includes the date + of the import run. Similar to other services, the links aren't stable, + one can only reference the current version. On the plus side, it + provides inter-section links. +

    +

    Hurrican Electric also provides a man + page repository besides its many other awesome free network related + services (related to IPv6, DNS etc.). The HTML rendering of the man + pages is very basic, e.g. bold/underscore markup is gone, sections + aren't rendered as headings, and URLs aren't rendered as link. + Parameters are encoded as query strings, but there are some overview + pages such that a robot has a chance indexing the pages. It's completely + opaque from which system the pages are imported from. As of 2019-04-30, + it looks like the pages weren't updated in the last 6 years. The man + pages are likely from a Linux distribution that was released in 2013. +

    +

    + die.net also has a + Linux man page repository. There isn't any information on + how often these man pages are updated, from which Linux system + they are imported from and who is behind this service ('a few dozen + friends in the US'). The links aren't stable, but the pages are + indexed well by Google. +

    +
    + + +
    +
    + Impressum +
    + + + diff --git a/sac/pages/marcautret-free-fr-geek-indd b/sac/pages/marcautret-free-fr-geek-indd new file mode 100644 index 0000000..c1e3891 --- /dev/null +++ b/sac/pages/marcautret-free-fr-geek-indd @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + Dansons le JavaScript avec InDesign [2005-2008] + + + + + + + + + + + + + +
    The Wayback Machine - https://web.archive.org/web/20111124182911/http://marcautret.free.fr:80/geek/indd/
    + + + +
    +
    +
    +
    +
    + + + +
    + + + + + +
    +
    +
    • indexa.png
    +
    +
    + + + +
    + +
    +

    BlogNot! est une émission produite par Marc Autret depuis 2004, à consommer de préférence en cuves acclimatées aux spécifications XHTML et CSS.
    Pour harceler la rédaction : marcautret(at)free(point)fr

    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/sac/pages/marcautret-free-fr-sigma-pratik-typo-index-php b/sac/pages/marcautret-free-fr-sigma-pratik-typo-index-php new file mode 100644 index 0000000..b7d6187 --- /dev/null +++ b/sac/pages/marcautret-free-fr-sigma-pratik-typo-index-php @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + Typo & Tapuscrit + + + + + + + + + + + + + +
    The Wayback Machine - https://web.archive.org/web/20110529064713/http://marcautret.free.fr:80/sigma/pratik/typo/index.php
    + + + +
    +
    +
    +
    +
    + + + +
    + + + + + + + + + +
    + +
    +

    BlogNot! est une émission produite par Marc Autret depuis 2004, à consommer de préférence en cuves acclimatées aux spécifications XHTML et CSS.
    Pour harceler la rédaction : marcautret(at)free(point)fr

    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/sac/pages/pads-erg-be-p-opencourseopensource-24 b/sac/pages/pads-erg-be-p-opencourseopensource-24 new file mode 100644 index 0000000..39d7011 --- /dev/null +++ b/sac/pages/pads-erg-be-p-opencourseopensource-24 @@ -0,0 +1,1030 @@ + + + + + + + + ErgPad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    + + + +
    + + + + + + + +
    + +
    + +
    +

    + You do not have permission to access this pad +

    +
    + + +

    + Loading... +

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + +
    + + + 0 +
    + +
    +
    +
    +

    + + █   +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/pikchr-org-home-uv-pic-pdf b/sac/pages/pikchr-org-home-uv-pic-pdf new file mode 100644 index 0000000..c42352a Binary files /dev/null and b/sac/pages/pikchr-org-home-uv-pic-pdf differ diff --git a/sac/pages/plain-xetex-neocities-org-pagelayout b/sac/pages/plain-xetex-neocities-org-pagelayout new file mode 100644 index 0000000..b064095 --- /dev/null +++ b/sac/pages/plain-xetex-neocities-org-pagelayout @@ -0,0 +1,316 @@ + + + + +Page Layout + + + + + + + + + + + +
    + +

    Page layout in Plain TeX

    + +can be done as follows:

    + +1. Set the page dimensions:*
    + +% settings for A5 paper
    +\pdfpagewidth 148mm
    +\pdfpageheight 210mm +


    + +* See here for the dimensions used in TeX.

    + +2. Set the size of the text block:
    + +\hsize 99mm% width of text block; line length or measure.
    +\vsize 164mm% height of text block

    +The default settings for the text block are \hsize=6.5in, \vsize=8.9in.

    + +3. Position the text block on the page by adjusting \voffset and \hoffset.
    + +

    +Plain TeX’s default setting positions the text block one inch down from the top of the page (\voffset=0pt) and one inch in from the left side of the page (\hoffset=0pt). Assigning positive values to \voffset and \hoffset increases these distances; assigning negative values decreases them. +

    +Knuth’s TeX does not have any commands for setting the size of the page: \pdfpagewidth and \pdfpageheight are pdfTeX commands which happen also to work in XeTeX. On American letter paper (8.5 inch × 11 inch) Plain TeX’s default settings produce a text block measuring 6.5 inch × 8.9 inch with left, right and top margins all equal to 1 inch and a bottom margin approximately equal to 1.1 inch. +

    +Depending on where you live and how TeX is set up, the default page size will be A4 or American letter size. If you’re happy with this page size you can skip Step 1. + + + + + +

    +

    Some page layouts:

    +

    B format (trade paperback – ‘Large Crown Octavo’):

    + + + +%+++++++++++++++++++++++++++++++++++++++++++
    +% page layout
    +\pdfpagewidth 129mm
    +\pdfpageheight 198mm

    + +\hsize 99mm
    +\vsize 161mm

    + +\voffset -9.4mm
    +\output{\ifodd\pageno\hoffset -11.4mm\else\hoffset -9.4mm\fi
    \plainoutput}

    + +% to adjust the space between the header and the text block
    +\def\makeheadline{\vbox to 0pt{\vskip-22.5pt
    + \line{\vbox to8.5pt{}\the\headline}\vss}\nointerlineskip}

    + +% to adjust the space between the footer and the text block
    +\def\makefootline{\baselineskip24pt\lineskiplimit0pt\line{\the\footline}}
    +%+++++++++++++++++++++++++++++++++++++++++++ +

    + +The text block is set 16mm from the top of the page: \voffset -9.4mm, i.e. the Plain TeX default of 1 inch (25.4mm) minus 9.4mm.

    + + +This code alternates \hoffset on odd- and even-numbered pages for mirrored page output (like the LaTeX book Document Class):

    + + +\output{\ifodd\pageno\hoffset -11.4mm\else\hoffset -9.4mm\fi
    \plainoutput}
    +

    + +On odd-numbered (recto) pages the left margin is 14mm (25.4mm − 11.4mm). On even-numbered (verso) pages the left margin is 16mm (25.4mm − 9.4mm). The 16mm is calculated by subtracting \hsize and the left margin of the recto (= right margin of verso) from the page width (129mm − 99mm − 14mm = 16mm).

    + +So you end up with: spine margin of recto = spine margin of verso = 14mm; and fore-edge margin of recto = fore-edge margin of verso = 16mm. Here is a drawing to illustrate what I mean (right click for a larger view):

    + +Usually in a book the spine margin is narrower than the fore-edge margin, and the two pages of a spread mirror each other. If you want to have the text block horizontally centered in the page you can subtract the width of the text block from the width of the page and divide the result by two: (129mm − 99mm) ÷ 2 = 15mm. The page layout then becomes:

    + +\pdfpagewidth 129mm
    +\pdfpageheight 198mm

    + +\hsize 99mm
    +\vsize 161mm

    + +\hoffset -10.4mm
    +\voffset -9.4mm
    +

    +You can adjust the dimensions in \def\makeheadline and \def\makefootline to change the amount of space between the header and the text block and the text block and the footer respectively. Plain TeX’s default setting is to have a lineskip (12pt) between the header and the text block and a lineskip between the text block and the footer. See page 255 of the TeXbook for an explanation of the dimensions in \makeheadline. +

    + + +Adjustments to \vsize
    +When I used the original \vsize (161mm) for this document I noticed that there is some slack between the text block and the footer (the page number was a bit lower than it ought to be). This is probably because 161mm is slightly bigger than the space taken up by the number of lines on the page. I got the 161mm measurement from measuring a book. A way to correct this is to get the height of the text block in points by multiplying the leading (\baselineskip) by the number of lines on a full page. But don’t forget that \topskip sets the baseline of the first line 10pt down from the top of the text block. (The first line of a page does not need to have leading above it.) So, if there are n lines in a page, the height of the page in points can be got by [(n – 1) × \baselineskip] + 10pt. In this example n = 38, and (37 × 12pt) + 10pt = 454pt. +

    +\looseness1 at the beginning of the second paragraph on page one of B_format.tex is to avoid a widow line that would otherwise appear at the top of page two. (It makes the paragraph one line longer.) +


    + + +For comparison, here is the same layout in LaTeX with the geometry package:
    +\usepackage[paperheight={198mm}, paperwidth={129mm}, height={454pt}, width={99mm}, top={16mm}, left={14mm}, headsep={10.5pt}, footskip={24pt}]{geometry}

    + +Files: +B_format.tex, +B_format.pdf; +B_format_latex.tex, +B_format_latex.pdf

    + + +

    Penguin:

    +Small paperback format used by Penguin books c. 1940s–1980s. And used now in their ‘Great Ideas’ series and in the relaunched Pelican imprint.
    +Files: +Penguin.tex, +Penguin.pdf. + + + + +

    216x138 (Demy):

    + +Files: +216x138.tex, +216x138.pdf. + +

    210x140 (American book size: 8¼″ × 5½″):

    + +Files: +210x140a.tex, +210x140a.pdf.
    +210x140b.tex, +210x140b.pdf. + +

    9″x6″:

    + +Files: +9x6.tex, +9x6.pdf. + +

    isogolden:

    +Page layout for a golden ratio text block on an A5 page.
    +Files: +isogolden.tex, +isogolden.pdf. + +


    + + + +

    Page Furniture – Headers and Footers

    + +\headline defines a headline (header) for the page. Plain TeX’s default setting is an empty header: \headline={\hfil}

    + +\footline defines a footline (footer) for the page. Plain TeX’s default setting is to have the page number centered in the footer: \footline={\hss\tenrm\folio\hss} + +

    Some settings for the header:

    + +

    i.

    + +This macro (a) sets different headers for left- and right-hand pages using the \ifodd conditonal; (b) sets the page numbers at the right side of the header on right-hand pages and vice versa for left-hand pages; (c) centres the text of the header over the text block, regardless of how much space the page numbers take up. The footer is empty.

    + + +\font\headerfont="EB Garamond 12 Regular:
    +smcp,letterspace=6,mapping=tex-text" at 10pt

    + +% macros to set the texts of the headers.
    +% \headerfont puts the text into a letterspaced smallcap font.
    +\def\lheader{\headerfont great expectations}
    +\def\rheader{\headerfont chapter i}

    + +\headline={% % Do different headers for odd and even pages
    + \ifodd\pageno
    + % header for right-hand page
    + \rm\rlap{\centerline{\rheader}}\hss\folio%
    + \else
    + % header for left-hand page
    + \rm\folio\hss\llap{\centerline{\lheader}}%
    +\fi
    +}

    + +\footline={} +
    +

    + + + + +

    ii.

    + +The header ranged right on a right-hand page and vice versa on a left-hand page, with the page numbers hung out into the margin.

    + + +\def\lheader{Great Expectations}
    +\def\rheader{Chapter II}

    + +\headline={% % Do different headers for odd and even pages
    + \ifodd\pageno
    + % header for right-hand page
    + \rm\hfil\rheader\rlap{\hbox to 8.5mm{\hfil\folio}}%
    + \else
    + % header for left-hand page
    + \rm\llap{\hbox to 8.5mm{\folio\hfil}}\lheader\hfil%
    +\fi
    +}

    + +\footline={} +
    +

    + + + +In the macro above, if you change

    +\rm\hfil\rheader\rlap{\hbox to 8.5mm{\hfil\folio}}%
    +to
    +\rm\hfil\rheader\rlap{\lower12pc\hbox to 8.5mm{\hfil\folio}}%
    +and
    +\rm\llap{\hbox to 8.5mm{\folio\hfil}}\lheader\hfil%
    +to
    +\rm\llap{\lower12pc\hbox to 8.5mm{\folio\hfil}}\lheader\hfil%

    +you can have the page numbers set in the fore-edge margin. This just uses \lower to push down the \hbox containing the page number 12 picas. +

    + +

    iii.

    + +The header and page number ranged right on a right-hand page and vice versa on a left-hand page, with an ornament and some space between them.

    + + +\font\headerfont="EB Garamond 12 Regular/I:mapping=tex-text" at 10pt

    + +\def\lheader{\headerfont Great Expectations}
    +\def\rheader{\headerfont Chapter {\sci iii}}

    + +\headline={% % Do different headers for odd and even pages
    + \ifodd\pageno
    + % header for right-hand page
    + \rm\hfil{\rheader}\quad$\diamond$\quad\folio%
    + \else
    + % header for left-hand page
    + \rm\folio\quad$\diamond$\quad{\lheader}\hfil%
    +\fi
    +}

    + +\footline={}

    +
    + + +Examples in these files: +headers.tex, +headers.pdf.

    +See the file ‘prelims.tex’ on the PDF page for a method of automatically switching off headers on the first page of the chapter (in the \chapter and \headline macros). + +

    Some settings for the footer:

    +Plain TeX centres the page number in the footer by default.

    + +Variations:

    + +Centered but with en dashs either side of the page number:
    +\footline={\rm\hss--\kern3pt\folio\kern3pt--\hss}

    + +Or brackets:
    +\footline={\rm\hss[\kern2pt\folio\kern2pt]\hss}

    + +The page number ranged right on a right-hand page, and to the left on a left-hand page:

    +\footline={%
    + \ifodd\pageno
    + \rm\hss\folio% footer for right-hand page
    + \else
    + \rm\folio\hss% footer for left-hand page
    +\fi
    +}


    + +The same as the previous example, but with the page numbers set in from the edge of the text block by an em:

    +\footline={%
    + \ifodd\pageno
    + \rm\hss\folio\quad% footer for right-hand page
    + \else
    + \rm\quad\folio\hss% footer for left-hand page
    +\fi
    +}


    + + + +The same as the example before last, but with an ornament and some space before the page number:

    +\footline={%
    + \ifodd\pageno
    + \rm\hss$\diamond$\enspace\folio% footer for right-hand page
    + \else
    + \rm\folio\enspace$\diamond$\hss% footer for left-hand page
    +\fi
    +}

    + + + + + +

    + +

    + + + +
    + + + + diff --git a/sac/pages/pranique-com-prana-html b/sac/pages/pranique-com-prana-html new file mode 100644 index 0000000..1cc1ad4 --- /dev/null +++ b/sac/pages/pranique-com-prana-html @@ -0,0 +1,123 @@ + + + + +Prana : prǎna, chi, ki, mana, wakan + + + + + + + + + + + + + + + + + +
    + + +
    + +Prana
    +Prǎna, chi, ki, mana, wakan, orgone +
    +
    + + + +
    + +
    +

    Le prǎna ou énergie secrète de l'univers.
    + Prana est un mot sanskrit dérivé de deux racines : "pra" qui est un préfixe usé pour indiquer la constance et "na" qui veut dire mouvement. Ainsi le prana se défini comme une force en constant mouvement. +Sans le prana, personne ne pourrait exister en ce monde. Minéraux, comme végétaux, insectaux, animaux ou humains. Le prana est l'énergie cachée de l'univers. Cachée ? Pas vraiment, elle est là, de tous temps et pour tous temps mais l'homme a désapprit à la voir. La sentir, la palper, la humer, la connaître, la respirer, l'inspirer. Nous ne vivons que par et grâce au prana. Le prana contenu dans la nourriture solide et liquide que nous absorbons. En complément. En complément de quoi ? En complément du prana que nous absorbons directement par les poumons et les nadis (système pranique comme il y a le système lymphatique, nerveux ou circulatoire) et qui nous fournit plus de 70% de notre énergie vitale. Nous l'absorbons par le biais de la respiration. Nous l'absorbons par les poumons et par la peau. Nous l'absorbons par notre canal pranique, qui était en fait notre principale source d'absorption du temps de l'Atlantide. Mais nous avons désappris, nous avons oubliés, et comme tout ce qui ne sert pas s'atrophie, notre canal pranique s'est atrophié lui aussi. Mais nous pouvons retrouver le chemin, nous pouvons nous réveiller et nous souvenir. Nous pouvons le réactiver. Il n'est pas disparu totalement, il est toujours là, en veille, en instance de.... en instance du réveil. Cette réactivation du canal pranique est d'ailleurs une étape essentielle de la méditation de la [Merkabah] telle que transmise par [Drunvalo Melchizédek].

    + +

    Voyons voir ce qu'en disent les Êtres de Lumière qui sont connectés avec Daniel Meurois : +
    +photo prana
    +
    + ...[ Souvenez-vous de ces particules de vie cristallines appelées prǎna... Vous les contemplez parfois dans leur danse éternelle, apprenez maintenant à les boire, à vous nourrir de leur substance génératrice. Il vous suffit de le désirer, frères... Aussi souvent que vous le désirerez, il sera bon de respirer à pleins poumons l'air vif de la nature terrestre en créant dans votre être intérieur une très belle image, celle d'une galaxie de gouttelettes d'or pénétrant dans votre être entier, non seulement dans vos poumons, mais encore par tous les pores de votre peau.
    + Nous avons utilisé le mot "image", comprenez pourtant que ce n'en est pas tout à fait une. Visualisez la réalité. Visualisez l'amour et la lumière. C'est si simple ! Seriez vous désarmés par la simplicité ? Visualisez des milliards d'étincelles de prâna courant dans vos veines, y déversant l'éternelle énergie. Comprenez comme elles sont les ambassadrices de ce que vous désirez tant pour autrui et pour vous-même. Sentez leur tranquille fraîcheur régénérer le moindre de vos organes. Cela aussi contribuera à transmuer petit à petit vos corps et vos âmes.
    + Ainsi, désormais, apprenez à ne plus absorber le "vide" ou un quelconque mélange chimique, un vague composé gazeux. Apprenez à prendre conscience de la Force de vie que vous buvez à chaque seconde. Que chaque seconde de votre existence devienne un instant d'extraordinaire régénérescence. Que chaque seconde de votre vie soit consacrée à boire l'Indicible.
    + Ce petit exercice que nous vous recommandons, trois ou quatre fois par jour, n'en est pas réellement un, sachez le bien, c'est un petit déclic qui peut apprendre à votre être à se tourner résolument vers sa Source.
    + Ce n'est pas une technique, c'est un élan du cœur qui vous est demandé une fois de plus. Ne perdez jamais cela de vue, ne soyez jamais des techniciens de l'esprit, travaillez avec le souffle de vos poitrines, avec le feu de vos cœurs. Nous nous répétons, nous le savons, mais la densité de votre Terre a si vite fait de boucher les oreilles au plus aimant des hommes. Les écorces sont rudes qui couvrent vos épaules ]...
    +Daniel Meurois [Ce qu'Ils m'ont dit] Edt Le Passe Monde.

    + +

    Le prana est facilement visible à l'extérieur. +Par une belle journée sur fond de ciel uniforme (bleu, blanc ou légèrement grisâtre) tu laisses aller ton regard sans fatigue. Sans chercher à voir. +photo prana
    +Tout est dans la détente. Regard tranquille et mental apaisé. Tu lâches ton regard comme lorsque tu veux regarder ces images en deux dimensions derrières lesquelles il y a une autre image à voir. C'est le même lâcher prise, le même décalement du regard. Donc en lâchant prise mais en gardant le regard toujours orienté vers la même partie du ciel, tu verras très rapidement apparaître pleins de petites particules dansantes. Elles ne sont pas immobiles et changent sans cesse de direction sans jamais se cogner. Elles sont de couleurs plutôt claires (blanc quelque chose) avec un petit centre très légèrement foncé (bleu quelque chose). À ne pas confondre avec des points plus grossiers émis par nos yeux dus à des problèmes de vision. Plus l'air est propre et limpide, plus on en voit. Après un orage ou en montagne elles sont beaucoup plus nombreuses. Il est des lieux où elles pullulent, d'autres où elles se raréfient. Et c'est à ces particules de prana microscopiques que nous devons d'être en vie dans ce monde à trois dimensions.

    +

    Nous captons aussi le prana par le biais de la nourriture solide et liquide.
    +photo prana
    + Car si environ 70% de notre énergie provient d'une source respiratoire directe, il nous reste encore à compléter les 30% restants. +Pourcentages approximatifs qui peuvent varier énormément d'une personne à l'autre. Ainsi une personne [Pranique], ou un [Inédien] capte quant à lui 100% de ses besoins énergétiques par son canal pranique (et son circuit de nadis) et sa respiration combinés. Voilà pourquoi il n'a plus besoin de s'alimenter de nourriture solide ou liquide puisque abreuvé directement à la source même du cosmos. Pour les autres donc, il faut combler les 30% restant par une alimentation solide et liquide. L'apport de prana par ce biais est de moins bonne qualité : il faut passer par des intermédiaires. Le prana capté par le végétal, puis ingéré par l'insecte, lui même ingéré par l'animal, puis par l'homme, après cuisson, etc... Dans une ronde sans fin qui fait qu'à la fin, dans l'assiette reste plus grand chose à casi kedal (voir à ce sujet la page [Cannibale]). De plus la digestion monopolisant énormément d'énergie, le corps soufre ainsi d'un déficit énergétique important toute sa vie et vieillit donc vite et souvent mal. Voilà pourquoi la sagesse recommande de s'orienter vers un apport direct et maximum de prana. C'est la raison pour laquelle existe le [Pranayama] ou science du prana afin de justement augmenter cet apport énergétique vital.

    +

    Signalons tout de même que l'apport de prana se fait aussi par le biais du système émotionnel, ou tout au moins que l'état de celui ci peut augmenter et favoriser énormément l'assimilation du prana. Ainsi le rire, la bonne humeur, la joie, la paix, la détente et la relaxation sont des facteurs clés dans la gestion de notre énergie physique et psychique. Il est donc sage d'en tenir aussi sérieusement compte.

    +
    + +
    +avatar Yv
    +Om Amaranidzi Wèntité Soha
    +Yv
    +
    +
    + + + +
    + +
    +
    + + + +
    + + + + +
    + + + + + + + + + diff --git a/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-index-html b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-index-html new file mode 100644 index 0000000..ac4b676 --- /dev/null +++ b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-index-html @@ -0,0 +1,119 @@ + + + + + + + The Creation of the UNIX* Operating System + + + + + + + + + + + + + + + + + +
    +    +

    This is an archival site

    +
    + + + +

    The Creation of the UNIX* Operating System

    + +

    After three decades of use, the UNIX* +computer operating system from Bell Labs is still regarded as one of +the most powerful, versatile, and flexible operating systems (OS) in +the computer world. Its popularity is due to many factors, including +its ability to run a wide variety of machines, from micros to +supercomputers, and its portability -- all of which led to its +adoption by many manufacturers.

    + +

    Like another legendary creature whose name also ends in 'x,' UNIX +rose from the ashes of a multi-organizational effort in the early +1960s to develop a dependable timesharing operating system.

    + +

    The joint effort was not successful, but a few survivors from +Bell Labs tried again, and what followed was a system that offers +its users a work environment that has been described as "of +unusual simplicity, power, and elegance...."

    + +

    The system also fostered a distinctive approach to software +design -- solving a problem by interconnecting simpler tools, rather +than creating large monolithic application programs.

    + +

    Its development and evolution led to a new philosophy of +computing, and it has been a never-ending source of both challenges +and joy to programmers around the world.

    + +

    Next: Before Multics there was chaos, and +afterwards, too

    + +
    + +[ UNIX building blocks ] + + + + + +
    + + + + + + + + + + + + + + + + + +
     
    + +
    Copyright © 2002 Lucent Technologies. All rights reserved. *
    + + + + + \ No newline at end of file diff --git a/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-ritchiebio-html b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-ritchiebio-html new file mode 100644 index 0000000..4f0168e --- /dev/null +++ b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-ritchiebio-html @@ -0,0 +1,140 @@ + + + + + + + + + + + + + The Creation of the UNIX Operating System: Dennis Ritchie Biography + + + + + + + + + + + + + + + + + + + +
    +    +

    This is an archival site

    +
    + + +

    Dennis M. Ritchie

    +[ Dennis Ritchie ] + +

    1941 -- Born in Bronxville, N.Y.

    + +

    1963 -- Graduates from Harvard University with a +B.S. in Physics

    + +

    1968 -- Receives from Harvard University a Ph.D. +in mathematics

    + +

    1967 -- Joins Bell Labs, following his father, +Alistair E. Ritchie, who had a long career there

    + +

    1968 -- Joins the Bell Labs team working on +Multics, a joint effort of Bell Labs, MIT and GE to develop a +general computer operating system

    + +

    1972 -- Creates C language

    + +

    1989 -- Receives with Ken Thompson the NEC +C&C Prize for significant contributions to computer +technology

    + +

    1983 -- Named Bell Labs Fellow

    + +

    1988 -- Elected to the U.S. National Academy of +Engineering

    + +

    1990 -- Appointed head, System Software Research +Department in the Computer Sciences Research Center at Bell Labs, +Murray Hill, N.J.

    + +

    1995 -- Heads the effort to create the Plan 9 +operating system

    + +

    1996 -- Heads the effort to create the +Inferno(TM) operating system

    + +

    1998 -- Awarded with Kenneth Thompson the U.S. National Medal of Technology for the development of the UNIX system

    + + + +
    + +[ UNIX building blocks ] + + + + + + + +
    + + + + + + + + + + + + + + + + + +
     
    + +
    Copyright © 2002 Lucent Technologies. All rights reserved. *
    + + + + + \ No newline at end of file diff --git a/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-thompsonbio-html b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-thompsonbio-html new file mode 100644 index 0000000..799ea39 --- /dev/null +++ b/sac/pages/s3-us-west-2-amazonaws-com-belllabs-microsite-unixhistory-thompsonbio-html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + The Creation of the UNIX Operating System: Ken Thompson Biography + + + + + + + + + + + + + + + + + + + + +
    +    +

    This is an archival site

    +
    + + + +

    Kenneth Thompson

    + +[ Ken Thompson ] + +

    1943 -- Born in New Orleans, Louisiana

    + +

    1943-1960 - Navy brat moving every few years

    + +

    1965-66 -- Graduates with B.S and M.S. degrees +in electrical engineering from the University of California at +Berkeley

    + +

    1966 -- Joins Bell Labs Computing Research +Department, working on the Multics project

    + +

    1969 -- Develops UNIX* +operating system

    + +

    1970 -- Writes B language, precursor to Dennis +Ritchie's C language

    + +

    1971 -- Moves UNIX from the PDP-7 to the +PDP-11

    + +

    1973 -- Rewrites UNIX in Dennis Ritchie's C +language

    + +

    1973 -- Rewrites portions of UNIX to include +Doug McIlroy's concept of pipes

    + +

    1975-6 -- Visiting professor at the University +of California, Berkeley

    + +

    1980 -- "Belle," a chess-playing +computer he developed with Joe H. Condon, wins the U.S. and World +Computing Chess Championships

    + +

    1980 -- Elected to the U.S. National Academy of +Engineering

    + +

    1983 -- Named Bell Labs Fellow

    + +

    1983 -- Receives with Dennis Ritchie the ACM +Turing Award

    + +

    1980 -- Elected to the U.S. National Academy of +Science

    + +

    1988 -- Visiting professor at the University of +Sydney, Australia

    + +

    1998 -- Awarded with Dennis Ritchie the National Medal of Technology for the development of the UNIX system

    + +

    2000 -- Retires from Bell Labs

    + + +
    + +[ UNIX building blocks ] + + + + + +
    + + + + + + + + + + + + + + + + + + +
     
    + +
    Copyright © 2002 Lucent Technologies. All rights reserved. *
    + + + + + \ No newline at end of file diff --git a/sac/pages/scholarlypublications-universiteitleiden-nl-handle-1887-3487176 b/sac/pages/scholarlypublications-universiteitleiden-nl-handle-1887-3487176 new file mode 100644 index 0000000..2c0b0aa --- /dev/null +++ b/sac/pages/scholarlypublications-universiteitleiden-nl-handle-1887-3487176 @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Figuring things out together | Scholarly Publications + + + + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    + +

    + Leiden University Scholarly Publications +

    +
    + +
    +
    + +
    +
    + +
    + +
    +
    + +
    +
    + + + + +
    + + +
    + + + +
    +
    +
    +
    + + +
    +
    + + + +
    +
    + +
    Persistent URL of this record https://hdl.handle.net/1887/3487176
    +
    + + + + + + +
    +
    +
    +
    + +

    Documents

    + +
    +
    + + + +
    +
    +
    +
    +
    + +

    In Collections

    + +
    + +

    This item can be found in the following collections:

    + + +
    +
    +
    +
    + +
    + +
    +
    +
    + + +
    + +
    +
    +
    +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    + + + +
    + + diff --git a/sac/pages/softwareengineering-stackexchange-com-questions-439871-using-sed-awk-to-bulk-generate-static-html-pages-off-of-a-template b/sac/pages/softwareengineering-stackexchange-com-questions-439871-using-sed-awk-to-bulk-generate-static-html-pages-off-of-a-template new file mode 100644 index 0000000..55b6769 --- /dev/null +++ b/sac/pages/softwareengineering-stackexchange-com-questions-439871-using-sed-awk-to-bulk-generate-static-html-pages-off-of-a-template @@ -0,0 +1,1867 @@ + + + + + + + + front end - Using sed/awk to bulk generate static HTML pages off of a template - Software Engineering Stack Exchange + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + +
    +
    + + + + + +
    + + + +
    + + + +
    + + + + + + +
    + + + +
    + + +
    + + + +
    +
    + Asked + +
    +
    + Modified + 1 year, 7 months ago +
    +
    + Viewed + 137 times +
    +
    + +
    + +
    + +
    +
    +
    +
    + + +
    +
    +
    + +
    + 0 +
    + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    + +

    Hypothetically, consider a social photo platform - each pic gets its own url, this page contains the image, text about the image, buttons for the user to click, related pics, and some user-specific elements (maybe notifications, etc.). +There are different ways of going about the frontend. In each case, elements specific to the logged-in-user and the related images get fetched via api calls and are rendered client side.

    +

    For rendering the rest of the page, couple of distinct possibilities -

    +
      +
    1. Everything is rendered client side - one can use a single page application to handle the routing. The page structure stays the same, and new image uri's and the associated content are fetched via api calls.
    2. +
    +

    SEO is a priority, so pure client side rendering is suboptimal.

    +
      +
    1. Server side rendering for each page with NextJS or even Express is another option.

      +
    2. +
    3. Another way is to do a static export in something like NextJS - which will generate separate html files for each image.

      +
    4. +
    5. Now my thought is to skip all of that and go old school with sed/awk. We'll have a template file with all the styling elements and placeholders for the image uri and its description, etc. Then a script iterates through a list of values (queried from a database) specific to each image (img source URIs, description text, etc.) and uses sed to replace the placeholders in the template file and output a separate html file.

      +
    6. +
    +

    Each file has the same javascript to load the user-specific components.

    +

    Every time someone adds a new image, the script runs with the uri of the image and the description, etc. as the variables passed to it, and adds a new html file in a flat file structure.

    +

    These "variables" are stored in a database. So whenever we change the "design" of the page, we repeat the same process again - regenerate each html file.

    +

    The flat file structure will run into limitations, which is solvable with a directory structure. Nginx remains performant with large numbers of files.

    +

    Right now, we use NextJS with a mix of server side rendering and static pages, so it is all good. But I have been wondering about achieving something similar with more rudimentary (and performant) tools.

    +

    There's not too much additional work involved - templatizing the html file is straightforward, and this won't be difficult to script.

    +

    What's good and bad about this?

    +
    + + + +
    +
    +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + +
    + + + +
    +
    +
    + +
    + + + + + 2 +
    +
    +
      + +
    • +
      +
      + 1 +
      +
      +
      +
      + + What actual, specific problem with your current system are you trying to solve? + +
      +– Philip Kendall +
      + Jul 17, 2022 at 21:17 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + think it through. How are you going to make a template thats both sed-able and works for multiple users? you are going to have a whole lot of serverside rendering to get a specific to user template which you then awk/sed. Just server side render the page, cache or render it to a static file if performance is an issue + +
      +– Ewan +
      + Jul 17, 2022 at 22:09 + + + +
      +
      +
    • + +
    +
    + + +
    +
    + +
    + + + + + +
    + +
    +
    +
    +

    + 1 Answer + 1 +

    +
    +
    + + +
    +
    + + + Reset to default + +
    +
    + +
    +
    + + +
    +
    +
    + + + + +
    +
    +
    +
    + +
    + 3 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    Yes, you can do that. No, it is not a good idea.

    +

    This is roughly how some websites worked in the 90s. That these approaches are problematic has nothing to do with their age, and everything to do with the difficulty of creating a secure website this way.

    +

    In particular, real template engines support some degree of auto-escaping. Sed and awk do not. It is also challenging to express all but the most trivial business logic in those languages. For example, how will you query the database? Sed can't do that.

    +

    In contrast, generating static sites can be a very good idea – serving static files is very fast, it scales well, and there is a fantastic ecosystem of static site generators. So it's perfectly OK to run some script to generate static HTML files if that is what you want. Just use a real template engine for this, please.

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 0 +
    +
    +
      + +
    +
    + + +
    +
    +
    + + + +
    + + + +

    + Your Answer +

    + + + + + +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + + + +
    + + +
    + + +
    +
    + +
    + + +
    + +
    + + +
    + + + + +
    + +
    + + +

    + By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy. +

    +
    +
    +
    + + +

    +
    +Not the answer you're looking for? Browse other questions tagged or ask your own question.
    +

    +
    +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar b/sac/pages/stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar new file mode 100644 index 0000000..bb98250 --- /dev/null +++ b/sac/pages/stackoverflow-com-questions-16778667-how-to-use-sed-to-find-and-replace-url-strings-with-the-character-in-the-tar @@ -0,0 +1,2046 @@ + + + + + + + + bash - How to use SED to find and replace URL strings with the "/" character in the targeted strings? - Stack Overflow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    + + + + + +
    +
    +
    + + +
    + + + + + + +
    + + + +
    + + +
    +
    + + + + +
    +
    + Asked + +
    +
    + Modified + 10 years, 9 months ago +
    +
    + Viewed + 107k times +
    +
    + +
    + +
    + +
    +
    +
    +
    + + +
    +
    +
    + +
    + 80 +
    + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    +
    + + +
    + +

    I'm attempting to use SED through OS X Terminal to perform a find and replace.

    + +

    Imagine I have this string littered throughout the text file: http://www.find.com/page

    + +

    And I want to replace it with this string: http://www.replace.com/page

    + +

    I'm having trouble because I'm not sure how to properly escape or use the "/" character in my strings. For example if I simply wanted to find "cat" and replace with "dog" I've found the following command that works perfectly:

    + +
    sed -i '' 's/cat/dog/g' file.txt
    +
    + +

    Does anyone have any ideas on how to achieve the same functionality only instead of cat and dog have strings or URLs that container the "/" character? I tried many different ways of escaping the "/" characters but then it seems as if SED can no longer "find" the string and it doesn't perform any find & replace actions.

    + +

    Any help or tips are greatly appreciated.

    + +

    Thanks!

    +
    + +
    + +
    + +
    +
    +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + +
    + + + +
    +
    +
    + +
    + + + + + 0 +
    +
    +
      + +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +
    + + + +
    + +
    +
    +
    +

    + 2 Answers + 2 +

    +
    +
    + + +
    +
    + + + Reset to default + +
    +
    + +
    +
    + + +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + 227 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    / is not the delimiter in sed commands, it's just one of the possible ones. For this example, you can for example use , instead since it does not conflict with your strings;

    + +
    echo 'I think http://www.find.com/page is my favorite' | 
    +    sed 's,http://www.find.com/page,http://www.replace.com/page,g'
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 0 +
    +
    +
      + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + 52 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    sed can take whatever follows the "s" as the separator. Since you are working with URL it is a good practice to use a different delimiter other than / to not confuse sed when your substitution ends and replacement begins.

    + +

    However, having said that you can definitely use / if you wish too. You just need to escape the literal /.

    + +

    So, you can either do:

    + +
    sed 's/http:\/\/www.find.com\/page/http:\/\/www.replace.com\/page/g' input_file
    +
    + +

    or use a different delimiter to avoid making your cryptic sed more cryptic.

    + +
    sed 's#http://www.find.com/page#http://www.replace.com/page#g' input_file
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 3 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Using this approach, any reason why the following only outputs the file without any changes? sed 's#:0.0.1#:new-build-number#g' some.yaml. 1. The change does not occur. 2. I don't want the file printed, just updated. + +
      +– Idan Adar +
      + Apr 26, 2017 at 4:14 + + + +
      +
      +
    • +
    • +
      +
      + 4 +
      +
      +
      +
      + + The space character works well as a sed delimiter when processing URLs. It's visually clean and will never occur in a properly-formatted (i.e., escaped) URL. + +
      +– Patrick Dark +
      + Jun 27, 2019 at 23:40 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + I had to use sed -i to make it work. Why doesn't it work without the -i? I read that -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) What does it mean that it makes backup? + +
      +– Vasiliki +
      + Feb 9, 2021 at 12:53 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + + + + +

    +
    +Not the answer you're looking for? Browse other questions tagged or ask your own question.
    +

    +
    +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/troff-org b/sac/pages/troff-org new file mode 100644 index 0000000..84bec33 --- /dev/null +++ b/sac/pages/troff-org @@ -0,0 +1,62 @@ + + + + +troff.org — the Text Processor for Typesetters + + + + + + + + + + +

    The Text Processor for Typesetters

    + +

    +‘The great strength of troff is the flexibility of the basic +language and its programmability — it can be made to do almost any +formatting task.’
    +— The UNIX Programming Environment, +Brian W. Kernighan +and Rob Pike. +

    + +

    +troff, and its GNU implementation +groff, +are programs that process a textual description of a document to produce +typeset versions suitable for printing. +It's more ‘What you describe is what you get’ rather than WYSIWYG. +

    + + + +

    +This web site is very much a work in progress so please excuse +the rough edges. If you've any suggestions for improving the content +I'd be delighted to hear from you. +

    + +
    +

    +Copyright Ralph Corderoy, 2001, 2002, 2003, 2005, 2006. +

    + + + diff --git a/sac/pages/tug-org-levels-html b/sac/pages/tug-org-levels-html new file mode 100644 index 0000000..ed85ce0 --- /dev/null +++ b/sac/pages/tug-org-levels-html @@ -0,0 +1,179 @@ + + + + + + + + + +Levels of TeX - TeX Users Group + + +

    LaTeX vs. MiKTeX: The levels of TeX

    + +

    A friend once asked us, “Should I use LaTeX or MiKTeX?” +In various guises, this is a common question, seemingly innocent, but +actually betraying a fundamental confusion about the levels of operation +in the TeX world. As a further confusion, the word “TeX” +can be used to refer to any of a myriad of items at any level. Starting +at the top: + +

      +
    1. Distributions: +MiKTeX, TeX +Live, W32TeX, … These are +the large, coherent collections of TeX-related software to be downloaded +and installed. When someone says “I need to install TeX on my +machine”, they're usually looking for a distribution. + +
    2. Front ends and editors: +Emacs, +vim, +TeXworks, +TeXShop, +TeXnicCenter, +WinEdt, … These editors are what you use +to create a document file. Some (e.g., TeXShop) are devoted specifically +to TeX, others (e.g., Emacs) can be used to edit any sort of file. TeX +documents are independent of any particular editor; the TeX typesetting +program itself does not include an editor. + +
    3. Engines: TeX, +pdfTeX, XeTeX, LuaTeX, … These are the executable +binaries which implement different TeX variants. In short: +
        +
      • pdfTeX implements direct PDF output, along with a variety of + programming and other extensions. +
      • XeTeX does the above, and also supports Unicode natively, OpenType + and TrueType fonts, access to system fonts, … +
      • LuaTeX does all the above, and provides access to many internals via + the embedded Lua language. Thus it is by far the most programmable engine. +
      • [e][u]pTeX provide full support for Japanese typesetting. +
      +There are other engines, but the above are by far the most commonly used +nowadays. + +
    4. Formats: +LaTeX, +plain TeX, OpTeX, … These are the +TeX-based languages in which one actually writes documents. When someone +says “TeX is giving me a mysterious error”, they usually +mean a format. + +
    5. Packages: +geometry, lm, … These are add-ons to +the basic TeX system, developed independently, providing additional +typesetting features, fonts, documentation, etc. A package might or +might not work with any given format and/or engine; for example, many +are designed specifically for LaTeX, but there are plenty of others, +too. The CTAN sites provide access +to the vast majority of packages in the TeX world; CTAN is generally the +source used by the distributions. + +
    + + +

    Output formats

    + +

    TeX source files can be typeset into several different output +formats, depending on the engine. Notably, the pdfTeX engine (despite +its name) can output both DVI and PDF +files. + +

    At a high level, the output format that gets used depends on the +program you invoke. If you run latex (which implements the +LaTeX format), you will get DVI; if you run pdflatex (which +also implements the LaTeX format), you will get PDF. + +

    No TeX engine implements native HTML output, but it is still possible +to get HTML, XML, etc., output: +

      +
    • The tex4ht program can be run +(e.g., htlatex, make4ht). TeX4ht uses TeX behind +the scenes, so user macros, etc., are generally recognized. There are +many possible output formats, including Office XML. +TUGboat article on tex4ht, and +more recent +article. + +
    • The lwarp LaTeX package causes LaTeX +to output HTML5. It hooks into many packages to create the html. +TUGboat article on lwarp. + +
    • The LaTeXML Perl program +independently parses LaTeX documents and generates many output formats. + +
    + + +

    ConTeXt

    + +

    ConTeXt is a special case, +straddling levels. It contains a format at the level of plain TeX and +LaTeX, but unlike the other formats, it is invoked via a separate +program (e.g., context) which then runs a TeX engine. This +makes it possible to support a wide array of advanced features, such as +integrated graphics and XML input, since the control program can +determine the flow of processing. + + +

    References

    + +

    Of course, this short web page is only a brief introduction to the +basics. Here are some pointers to further information. + +

      +
    • Getting started with TeX, the TUG page + giving an introduction to various parts of the TeX world. + +
    • Components + of TeX, Joachim Schrod's technical article describing many of + the relationships hinted at here in more detail. It was written + many years ago, but the relationships still hold. + +
    • A First Set of LaTeX + Resources, Jim Hefferon's document recommending LaTeX packages + for many common tasks. + +
    • Things + with “TeX” in the name, FAQ entry. + +
    • The TeX Family in 2009, an article published + in AMS Notices by Jim Hefferon and Karl Berry, giving an overview + of the TeX engines, graphics, hypertext, presentations, fonts, etc. + Although now more than a decade old, it still reasonably describes + the current state of things. + +
    + +
    This file is public domain. +$Date: 2021/11/26 02:09:37 $; + +
    + + TUG home page; + webmaster; + facebook; + twitter; + mastodon; +   + + + (via DuckDuckGo) + +
    + + + diff --git a/sac/pages/tug-org-texshowcase b/sac/pages/tug-org-texshowcase new file mode 100644 index 0000000..27037b8 --- /dev/null +++ b/sac/pages/tug-org-texshowcase @@ -0,0 +1,758 @@ + + + + + + + + +TeX showcase - TeX Users Group + + +

    The TeX showcase

    + +

    This is the TeX showcase, edited by Gerben Wierda. It +contains extreme examples of what you can do with TeX, the +typesetting engine from Donald Knuth, world famous mathematician, computer +scientist and above all well known for TeX. I will try to keep this showcase +small. For remarks on submissions, see at the end of this document.

    + +

    For an introduction to TeX, please visit the TUG "Getting Started" page, and +especially the section on +the first LaTeX document, and in this section the PDF +file of example first document with embedded explanation. I want to add to +this: + +

    You can compare a Word Processor (e.g. MS Word) setup to a TeX setup as a +Camper (or RV) versus having a house and a car. The Camper is for everything: +you can live in it, you can drive with it and you can look at it. The Word +Processor is like a Camper: it does editing, formatting/typesetting, and +displaying. It is not excellent at any of these functions, but the combination +is pretty neat. In a TeX setup, these functions are separated, like with +having a house and a car. You have a separate editor of your own liking to +edit, and you have TeX to do the actual typesetting/formatting. Especially +when using macro packages like LaTeX or ConTeXt, you write +conceptually and not visually and you leave the visual aspects to +the TeX engine, which (generally) produces a PDF file. You need another +program again (a PDF Viewer like Acrobat or Preview on the Mac) to read or +print the result. Word Processors have improved on their typesetting +algorithms, but they still do not reach the quality level of TeX just yet (I +am writing this on Jan 2, 2014). TeX still produces the best looking typeset +text and mathematical formulas on the planet. And writing conceptually instead +of visually is really nice. You can concentrate on content and you do not have +to worry about layout. + +

    Some things are, however, difficult to do in TeX. Mostly these are the +kind of things where you want very fine-grained control over exact positioning +of images, wrapping around these images, etc. You can do this in TeX, but it +is often (very) cumbersome to get it right and changes may be a lot of work. +For this, people use (very expensive) Desktop Publishing (layout) setups, like +Adobe InDesign (which generally also have better typesetting algorithms than +Word Processors, (almost) matching the quality of TeX) in text (though not in +mathematical formulas). TeX, on the other hand, is free. The showcase shows +(amongst other things) the limits of what people have been able to do with TeX +in the 'special effects' category. Some of these are really TeX-specific +tricks (e.g this example (PDF), which only works +because TeX is a programming language, zoom in as far as you can, don't try to do this in MS Word, InDesign etc.). + +

    In this showcase, you will not only find examples of material prepared +with TeX proper, but also with macro packages like LaTeX, ConTeXt and with +related programs like METAPOST. And though TeX is a typesetting language, you +will find graphics and even an MPEG movie.

    + +

    Showcases are mostly PDF files. Some PDF files contain tricks that only +work in certain PDF-viewers, e.g. they might contain automatic changes in the +page that work in certain versions of Acrobat and only when certain +preferences are set. The descriptions will contain special instructions if +any.

    + +

    Most examples come with some sort of source. These sources are not +guaranteed to compile, they are only there for visual inspection. Some +may compile, but some may have parts missing.

    + +

    Some of these examples were prepared using proprietary fonts or + software that must be purchased. For a discussion of font usage with + TeX, including a sampler of available free fonts, please see this + separate font page. +

    + +

    One word on the sections. These are generated automatically from a database +and their titles speak for themselves. The exception is the section Yannis +Haralambous. Yannis is famous in the world of TeX for his work on +typesetting several languages (like Greek and Hebrew) with TeX. He donated a +series of samples. The Hebrew and Syrian fonts are bitmaps, they might not +look perfect in all circumstances.

    + +

    Index

    + +

    Yannis Haralambous

    + + + + + + + + + + + + + + + + +
    Case (click for document)SourceWhat it is
    yannis_sample08.pdfNo source availableAn Arabic text written by Idris Samawi Hamid, with full Arabic vowelization. +The font used is Monotype Naskhi with hundreds of additions designed by +Atelier Fluxus Virus. +
    yannis_sample09.pdfNo source availableThe beginning of the Book of Genesis, in Hebrew. Typesetting and font are from +the Tiqwah system, by Yannis Haralambous. The critical appartus is taken from +the Biblia Hebraica Stuttgartensia. The font is designed in Metafont +(this explains the bad display by Acrobat). +
    yannis_sample05.pdfNo source availableA page from the journal Inscriptiones graecae. The Greek font used is +New Hellenic, with additional glyphs designed by Atelier Fluxus Virus for +epigraphical texts. +
    yannis_sample07.pdfNo source availableThe same Arabic inscription in four styles: Nastaliq, Diwani, Thuluth and +Ruqaah. +
    yannis_sample01.pdfNo source availableA page from the book Mikael by Theophans Ioannou, published in Greece +by Indiktos (May 2003). Theophans is a new author and good friend of ours. He +has commissioned the Atelier Fluxus Virus to design the font used in this +sample, out of the Complete Works of Aristotle edited by Bekker in +Leipzig, in the early 19th century. We have called this font Bekkeriana +in honour of Bekker, and all of Theophans' works will be published in it. +This requires a lot of courage, because in contemporary Greece---contrarily to +Europe---there is great reluctance against typefaces older than 50-70 years. +We hope that this editorial attempt will bring the Greek public of readers +closer to their national typographical heritage, and not only for facsilimiles +or simulations of historical typography, but also for modern texts, as is this +one. +
    yannis_sample13.pdfNo source availableA text in Amharic from Miraculorum S. Georgii Magelomartyris, from the +collection Corpus Scriptorum Christianorum Orientalium, with critical +apparatus. +
    yannis_sample02.pdfNo source availableThese two pages are taken from the Greek edition of Giambattista Bodoni's +Manuale Typographico (published by Agra, in 2003), a landmark in the +history of typography. The font used in the title page has been designed by +Atelier Fluxus Virus especially for this occasion: it is the genuine Greek +capital letters typeface of Bodoni, as it is presented in this very book. (continued with next sample) +
    yannis_sample04.pdfNo source availableA double page (original ancient Greek text and modern Greek translation) from +Lucian's Alexander or the False Prophet, published by Agra (collection +Melaina Chol in 2003. The font used for the ancient Greek text is +Monotype Porson, except for the capital letters which have been designed by +Atelier Fluxus Virus out of 19th century Oxford editions. Notice that capitals +are straight while lowercase letters are slanted. The fonts used for the +modern Greek text are Monotype Greek 90 and Greek 91. +
    yannis_sample10.pdfNo source availableA text in Judeo-spanish, from The Judeo-Spanish Ballad Chapbooks of Yacob +Abraham Yoná. Text in quadratic and Rashi script. +
    yannis_sample11.pdfNo source availableA page of Bar Hebraeus, Chronicon Ecclesiasticum in Syriac (Serto +script) and Latin translation. The Syriac part had been typeset using Sabra +system (by Yannis Haralambous). +
    yannis_sample06.pdfNo source availableA page from Ibn Rush's Commentaries on Aristotle's Book of Categories, +in Arabic. On the upper side, the text by Ibn Rush, on the lower side the +Arabic version of Aristotle's text. Each one of these parallel texts has a +critical apparatus. +
    yannis_sample12.pdfNo source availableA text in Coptic, from Apocryphon Johannis in the Nag Hammadi Codex II. +The font used is Monotype Coptic. +
    yannis_sample14.pdfNo source availableFrom a critical edition of Saranadeva's Durghatavrtti, in Sanskrit +(Devanagari script). +
    yannis_sample03.pdfNo source available(continued) The +font used in the text is a very special Greek font, designed by Atelier Fluxus +Virus out of hot lead types. It is called dekaexaria, which means "16 +points", and is a hot lead typeface which has never been adapted to Linotype +or Monotype machines and has been used very frequently in chapter titles or +cover pages, and for entire books in bibliophilic collections. It is an +extremely vivid font and has very special accents and kernings. It is one of +these fonts where each individual glyph looks badly drawn, but the global +image of text looks very appealing. There is only one hic: it has nothing to +do with Bodoni, and is rather historically connected to the Didot school. +
    +

    Mathematics

    + + + +
    Case (click for document)SourceWhat it is
    cheat.pdf cheat-20131114.tar.gz Note, the source is a gzip compressed tar archive. + +

    Submitter Martin Jansche writes: + +

    Here's an example of TeX formatting many many equations under tight space +constraints: Steve Seiden's theoretical computer science cheat sheet, +which used to be available from http://bit.csc.lsu.edu/~seiden/#cheat. +Quoting the web page: +

    + I grant permission for you to reproduce this cheat sheet, and + redistribute it for educational purposes only. You may not reproduce + it for profit. If you reproduce it, you must not alter or delete my + copyright. +
    +GW 2003: I have been informed that its author, Steve Seiden, died in 2002 as the +result of an accident while riding his bike. As I cannot ask for permission anymore, I have taken the liberty of fixing errors reported to me. +

    GW 2013: I have been informed by Raphael Reitzig of two errors, which have been fixed (notes in the .tex files) +

    GW 2016: The current distribution does not properly compile, Escher's Knot is missing. I include a fixed pdf, but the source still needs repairing. Help welcome. +

    +

    Dynamic documents

    + + + + + + + + +
    Case (click for document)SourceWhat it is
    Automaton.pdf Automaton.tex This example shows dynamic output created with TeX. Not all previewers will be +able to display the dynamism in this document, e.g. Preview.app on Mac OS X +cannot handle it. But Acrobat can. Open it, set it to Full Screen and hit +return a couple of times. + +Submitted by Stephan Lehmke. He writes: a bit of finite +automata simulation done with PSTricks (automata package). +
    macqtexDemo.pdfNo source availableThis example does not work in all PDF-viewers (especially Mac OS X Preview.app +does not handle this). Use Acrobat. Submitter Frances Griffin +writes: + +

    This is an example of the mathematics quizzes we are using at Macquarie +University, Sydney, Australia. It uses JavaScript inside a PDF document, so +that the questions are automatically marked, and on completion of the quiz, +the correct answers and fully worked solutions become visible. + +

    We have set up an automated system which generates random parameters for +the questions, pdfTeXs the quiz and serves a unique and personalised +version of it to the student. The demo quiz here is fully self contained, +but the quizzes we use for the students send the scores back to our server +to be recorded. + +

    It is based on DP Story's exerquiz package, along with some customizations +we have made, and pdfscreen. There are more like this here. +

    LorenzAttractor.pdf LorenzAttractor.tex This example does not work in all readers (e.g. it does not work in Mac OS X +10.2's Preview.app), but it works in Acrobat. Click on the picture and see it +rotate. + +

    Submitted by Jochen Skupin +

    Laurana.pdf Laurana_tex.zip

    Embedding 3D objects in LaTeX. Note: does not display in Safari. Does +display in Adobe Acrobat + +

    Paolo Cignoni writes: + +

    We have developed MeshLab, an +open source tool that can be used to convert 3D object in a format that is +directly embeddable into a pdf through the movie15 latex package. + +

    Attached a pdf produced with the above tools and a zip with the latex +sources for re-creating it +

    calvec.pdf calvec.tex As for most dynamics, the workings depend on your viewer. + +

    Submitter Orlando C.Rodríguez writes: + +

    This is another submission, which combines the hyperref and the insdljs +packages, to create an interactive document that performs simple vector +calculus operations. +

    tabela_periodica.pdf tabela_periodica.tex A dynamic periodic table in Portuguese. Click an entry to get extra +information. As with many dynamic examples, it depends on your viewer if this +works (Safari does not work). + +

    Submitter Orlando C.Rodríguez writes: + +

    I'm sending you an interactive periodic table written in portuguese, using +LaTeX with the color and hyperref packages. +

    +

    Languages of the world

    + + + + + + + + +
    Case (click for document)SourceWhat it is
    tengwar.pdf tengwar.tex

    Ignacio Fernández Galván writes: + +

    Tengwar is an alphabet invented by the J.R.R. Tolkien, which he used for +representing fictional languages in his novel The Lord of the Rings and +related works. There are many fonts freely available for this beautiful +script, and I've created a package (tengwarscript, available at CTAN) which +makes it easy to access some of these fonts in a standard way. This sample +shows three short texts composed with different fonts and the tengwarscript +package +

    tibetan.pdf tibetan.tex A piece of Tibetan text which describes the Story of a Brahman and +his family. + +

    Submitted by Norbert Preining. +

    hindi.pdf hindi.dn An example of Hindi, from the devnag package of Velthuis. Submitted by +Norbert Preining. + +

    This is an example of how well TeX can be adapted to all different +languages. I do not know what it says here, so do not hold me responsible. + +

    arabic.pdf arabic.tex An excerpt from Multilingual Typesetting with OMEGA, a Case Study: Arabic, by +Yannis Haralambous and John Plaice. These are the last three pages from the +well known torture.tex file. (This is done with Omega, the extension of TeX to +Unicode). Submitted by Norbert Preining. + +

    This is an example of how well TeX can be adapted to all different +languages, even typesetting from right to left. I do not know what it says +here, so do not hold me responsible. + +

    esther-ch2.pdf esther-ch2.tex Submitter Art Werschulz writes: + +

    Alan Hoenig has recently released version 2 of his +Makor system. Makor is a system for high-quality Hebrew typesetting, which +runs under Omega. + +

    As an experiment, I typeset the second chapter of the book of Esther from the +Hebrew Bible. This essentially involved downloading the BHS (Biblia Hebraica +Stuttgartensia) version of Esther from the web, changing all instances of ~ to +@, adding a few lines of boilerplate to the top and the bottom of the file, +and running it through omega. BTW, I'm running MacOS X 10.2.4 on an 800MHz G4 +iMac, along with your latest i-Installer distribution of the TeX stuff. +

    chinese.pdf chinese.tex Submitter Martin Jansche writes: + +

    I'm attaching two files that use the CJK package to +typeset Chinese. Note that you don't see anything like +\includepackage{CJK} in the LaTeX source, since it has to first be +exported in cjk-encoding by Emacs, at which point the appropriate +commands are inserted. The process is described in the file. The +tight integration of CJK and Emacs makes it especially easy to mix and +match different scripts and/or character sets. +

    +

    Graphics

    + + + + + + + + + + + + + +
    Case (click for document)SourceWhat it is
    maps.pdf maps.tex Submitter Jonathan Guyer writes: + +

    This is a set of maps that I made for the frontispiece of a bound volume of +my mother's journals that she wrote during a sailing trip in the Greek +islands. My fiancée and I put the whole thing together for a Christmas +present last year. Key ingredients are WARMreader for the route labeling and +babel for the place names. + +

    There are some errors in the route [probably doesn't matter to you 8^) ] and +there's a lot of extraneous stuff in the preamble because it was cut and +pasted from the manuscript. Further, I don't know squat about Greek, so I +undoubtedly made errors in some of the labels. + +

    The map was produced in IGOR Pro from coastal data I found someplace online +(I don't remember where offhand). I supposed If I'd been truly masochistic, +I would have used XYpic to produce the whole thing... +

    lee-wilczynski.pdf lee-wilczynski.tex A piece of math and pictures submitted by Dariusz Wilczynski. He writes: + +

    I'm sending you a one-page excerpt from a paper of mine that was published +in the American Journal of Mathematics. Hope you will find it useful. I'm sure +Ross Moore and others can provide more interesting examples of the power of +Xy-pic. +

    cover.pdf cover.tex Plamen Tanovski writes: + +

    my contribution is actually nothing special in the world of TeX. I've +used the cd-cover class and the tiling macros from PSTricks to produce +nice looking enclosure for my sample cd. The idea for the cover is +based upon a title page by Imre Reiner. + +

    The interesting point, I think, is the use of ornaments. Ornaments +have accompanied the letters through the whole history of the book. + +Being once *the* typographer's adornment for centuries, ornaments are +nowadays -- where books are made by graphic designers -- almost +forgotten and replaced with blurred meaningless color spots (quoting +the german typographer H.P. Willberg: "visuelles Hintergrundrauschen" +[visual background hissing]); maybe because it's not easy to make +patterns and borders by clicking around with the mouse. + +

    So I think it is a great chance for TeX to bring back ornaments in the +books. There are enough tools to do that in TeX/PostScript/MetaPost +etc. and fortunately there are still many ornamental fonts available. + +

    P.S. I know, there are some articles on tiling with TeX, but they are most +technically oriented. Mine is a real life example. +

    BarnstormingBitter.pdf BarnstormingBitter.tex A Beer bottle label created with TeX. I could use a bottle right now... + +

    Submitter Kester Clegg writes: + +

    The labels are designed to be cut out and put round the neck of beer +bottles (my home brews as it happens!). One thing I like about using +latex instead of a normal graphics program is that I get minute control, +I can work on a single label for speed, and when I'm finished, I +uncomment my 'block' of labels and bingo! I get the whole lot at once! +

    kanji-sheet.pdf kanji-sheet.tex

    Kanji characters, slowly fading out to help you practice. This has been +created with ConTeXt and Metapost. + +

    Christopher Creutzig writes: + +

    I needed some practice sheets for my Japanese handwriting and cooked up +these files. +

    cubs_v_cards_8sep98.pdf scorecard.mp scored_game.tex Christopher Swingley writes: + +

    This is a Metapost program and wrapper TeX document that generates a +baseball scorecard, as well as demonstrates the scoring from the game +where Mark McGwire broke Roger Maris' season home run record in 1998. +The Metapost code includes a variety of locations, paths, and functions +to make it easy to generate nice-looking baseball scorecards with or +without the scoring.

    + +

    I've included the Metapost source, as well as the wrapper file I use to +produce PDF versions for printing on letter sized paper.

    +
    diagram.pdf diagram.tex Submitter Bob Tennent writes: + +

    Hi. I thought this might be of interest, primarily because it shows what +can be done *without* WYSYWYG tools. The source consists of just 148 +lines of LaTeX and uses John Reynolds's fine macros package for diagrams +(diagmac). The diagram was designed to be viewed on the web. + +

    cave.pdfNo source availableMartin Budaj writes: + +

    This contribution is a little bit unusual. It is a cave map produced by +Therion, free cave mapping software. It uses MetaPost for drawing of map +symbols such as passage walls or lakes, and pdfTeX for all the typesetting. +It demonstrates the incredible flexibility of TeX and MetaPost. + +

    I hope it will be interesting, although there is no source code included. +(Therion uses its own input language; MetaPost and TeX files are generated at +the run-time.) + +

    The Therion homepage is on the http://therion.speleo.sk +

    program_sample.pdf program_sample.tex

    Note: the file is 5.8MB + +

    Christopher Creutzig writes: + +

    It shows a Metapost-generated background, XeTeX-set text, everything combined +with ConTeXt using pdfTeX. I've used Acrobat to extract only a part of the +whole file, mostly because the complete thing makes sense only if you cut and +fold it the right way + +

    poster.pdf poster.tex Jonny Butler writes: + +

    It's a poster I made for presenting at a linguistics conference. I was +wary about trying to do something like this with LaTeX at my level, +but I was astonished at how easy it turned out to be (even though it +is in places a bit of a hack...) +

    ps_s_1b.pdf ps_s_1b.tex A physics problem sheet with pictures created with pstricks. + +

    Submitted by Christopher Allen. + +

    +

    General Typesetting

    + + + + + + + + + + + + + + + + + + +
    Case (click for document)SourceWhat it is
    winawer.pdf Blatny-Klinger.tex Blatny-Klinger-readme1st.txt Note, this impressive example is 1.1MB in size. + +

    Submitter Ulrich Dirr writes: + +

    Here are a few pages of 352 from a chess book (Kindermann/Dirr: +Französisch Winawer, Band 1: 7. Dg4 0--0). Typesetting was done by +PDFLaTeX (then v0.14h). Printed on art paper using a two colour setup (black +and a spot color), the book was published in 2001 by Chessgate AG. + +

    The interested TeXie will recognize the creation and utilization of special +fonts (Adobe Jenson (with special ligatures and kerning for german), ITC +Legacy Sans, Castellar (initials), and self-made chess fonts for figurine +notation and diagrams ) + +

    I've downsampled the images to 96dpi. Otherwise the file would have been +3.2MB. +

    leaflet.pdfNo source availableI think you need to zoom in or print this document if you really want to see +how nice it is. And remember its advice: you need at least a 66MHz processor +and 32MB memory for TeX! + +

    Submitter Karl Berry writes: + +

    Peter Flynn's LaTeX brochure is pretty amazing, IMHO. +

    0309Newsletter.pdf 0309Newsletter.tex Bob Kerstetter writes: + +

    Here are the source files and PDF output for a monthly newsletter. There +may be better ways to do this, but it works okay and Alt-N is happy with it. + +

    Some of the word spacing in the narrow columns is a too large. I reduced it +from terrible to livable by rewriting and doing copy fitting. The newsletter +makes extensrive use of minipage and has lot of links. I would not call it +interactive, however. It's more of a practical way to communicate with our +distributors and resellers. + +

    It is not pretty like lots of things on the showcase, but it does show a +practical way of using LaTeX for a newsletter. It is certainly easier for me +to do this than with a page layout program where all of your content is +trapped inside the document. +

    sosl70c.screen.pdf gradu-20070208-1328-src.zip sosl70c.print.pdf

    How to make two different types of output from one source with LaTeX. This is +something that for instance ConTeXt has been built for, but it is possible +in LaTeX as well. Click the image for the screen version. Click the link in the +box to the left of this text for the print version. Enjoy reading it (if you can read Finnish, that is). +Juhapekka Tolvanen writes: + + +

    This Master's Thesis has no math at all. This is my Master's Thesis for +sociology. I am Master of Social Science now. Language is Finnish. + +

    There is not very clever LaTeX-trickery, but it is really big cavalcade +of LaTeX-packages. I was able to create two different layouts from same +LaTeX-source. I learned very much LaTeX in that process when I wrote my +Master' Thesis. Sources are available under the DSL (Design Science +License). Yes, my Master's Thesis is free in the sense of freedom and +price! +

    learning_early.pdf learning_early.tex

    This is a nice screen-oriented document. Note: this document is 2.4MB in +size.

    + +

    António Almeida writes:

    + +

    I submit here a document that I wrote using pdfLaTeX with some +packages. It has the peculiar characteristic of being written with +easy to get fonts, besides the CM family and the 35 standard fonts +Adobe.

    + +

    This is a document that introduces Early Music to all audiences. It +can be found in http://perusio.com

    . +
    csky-sample.pdf csky-sample.tex Another fine typesetting example, which shows marginal notes and graphics. It +is created with the ConTeXt package. Submitted by Bill +McClain. +
    6553-sample.pdf 6553-specs.pdf Sometimes the most beautifully typeset non-mathematical books are actually made +with TeX. + +

    Submitter Larry Tseng writes: + +

    [This is] an example of what TeX can do, when used by people who make their +living setting type to implement the type specifications and layout of a +distinguished book designer. + +

    The book is Exiles from a Future Time by Alan M. Wald, University of North +Carolina Press. The design is by Richard Eckersley, whose achievements in book +design have earned him the designation of Royal Designer for +Industry by the Royal Society of Arts. His work is also in several museum +collections, including the Cooper-Hewitt National +Design Museum, Smithsonian Institute. + +

    The sample is in the form of double-page spreads, intended to be viewed with +Acrobat version 5 and above. Acrobat's full-screen mode with text-smoothing +are recommended for best results. Some restrictions have been placed on the +pdf content to discourage printing and extraction. + +

    Included also are the type specifications in a +separate pdf -- perhaps a much more interesting alternative to style files +and other sources given that the book was set with Buffalo TeX, an in-house +package that has its own special control sequences and syntax. + +

    For people who would like to see more of this sort of thing, we've set up a +kind of "extension to the official TeX showcase" to show the work of other +book designers that we have worked with in the past, all typeset with TeX +of course. Simply log on to the showbooks page at http://www.tsengbooks.com/. +

    peace_on_earth.pdfNo source availableLook at this example and especially, zoom in to the text. Submitter +William Adams writes: + +

    It is a small French gatefold card which one can print to fit any decent size +paper and then fold in half twice to get a card. + +

    It is typeset in Zapfino using Omega and techniques which I hope to document +and present presently. + +

    I hope everyone will enjoy it in the spirit in which it is offered. +

    ShowcaseCircular.pdf ShowcaseCircular.tex This example shows TeX's power to set in strange paragraph shapes. TeX has +been told the shape, but for the rest TeX just does its normal job, breaking +lines into words and paragraphs into lines. + +Submitted by Dariusz Wilczynski. +
    ubuntu_font_study.pdf ubuntu_font_study.tex Submitter István Szántai writes: + +

    Yesterday I was playing with the Ubuntu Font Family with LaTeX, and I came up with a pretty neat layout. +

    partofTheBookofTea.pdfNo source availableTypography from The Book of Tea by Okakura Kazuko, submitted by +William Adams + +

    The complete book (including the graphics shown in the icon) can be +downloaded here +(2.7MB) +

    pp.pdf pp.tex Another fine typesetting example showing how well TeX can produce beautiful +books. It is created with the ConTeXt package. Submitted by Bill +McClain. +
    diminuendo.pdf diminuendo.tex Submitter Peter Hammond writes: + +

    This is some rather old trickery, using Plain TeX and a readily resizable +Postscript font, based on the \length macro example on p. 219 of the TeXbook. +The result would be the complete decimal expansion of some prominent rational, +irrational and transcendental numbers, in a finite area, except that of course +the digits become too small to see (or print) rather fast. (Some of it appears +within the cover design for our textbook, Essential Mathematics for Economic +Analysis.) +

    texshade-eg.pdf texshade-eg.tex

    Senthil Kumar Murugapiran writes: + +

    I work as a Postdoctoral Research Fellow +at Ajou University, South Korea. I would like to submit two examples +that highlight the use of LaTeX packages: TeXshade and TeXtopo. +Inclusion of these submissions in the TeX showcase might be helpful +for biologists to venture into learning LaTeX, once they understand +what they can do with this wonderful software. + +I made these figures for an article that was published in The PracTeX Journal. +

    textopo-eg.pdf textopo-eg.tex

    Senthil Kumar Murugapiran writes: + +

    I work as a Postdoctoral Research Fellow +at Ajou University, South Korea. I would like to submit two examples +that highlight the use of LaTeX packages: TeXshade and TeXtopo. +Inclusion of these submissions in the TeX showcase might be helpful +for biologists to venture into learning LaTeX, once they understand +what they can do with this wonderful software. + +I made these figures for an article that was published in The PracTeX Journal. +

    onetype.pdf onetype.tex A treatise on a typeface by font-specialist William Adams. + +

    It's designed to be printed all on a letter-sized sheet of paper and folded +into a small booklet. + +

    +

    Miscellanous

    + + + + + + + + + + +
    Case (click for document)SourceWhat it is
    terra.pdf terra.zip Note: won't display in Mac OS X Preview up to OS X Lion. Acrobat on Mac OS +X displays this properly. + +

    Submitter Orlando Rodriguez writes: + +

    The following contribution contains a Beamer presentation, containing a spinning globe. It combines POVray with SWFTools, pdfTeX, Beamer and (hacked)flashmovie. +The earth texture is rather large, so it's not included, but a suitable substitute can be found in the web. + +

    uke.pdf uke.tar.bz2

    Submitter Mark G. writes: + +

    In order to play songs on the ukulele, I devised a set of macros +in (plain) TeX and typeset a few songbooks that show lyrics and chords +(and sometimes tablatures). + +

    en_gb_eclipse_114.pdfNo source availableAn example of a catalog entry automatically created from a vendor's database. +Submitted by Stephan Lehmke. He writes: + +

    I've attached another PDF which doesn't really have a TeX source because +it's automatically generated from data, but I find the application itself +quite excellent. You can find it among around 800 siblings at www.erco.com +(for instance /download/data/_lsp/indoor/system/fr/fr_pollux_119.pdf). +

    kv315f.pdf kv315f.tex A Music example submitted by Norbert Preining. This is from +the Andante KV 315, W.A. Mozart, transcription from D. Taupin +
    x.mpg x.README x.makemovie x.mp x.param Note, this file is 1MB in size. + +

    This example is a funny MPEG movie, created with METAPOST, which is part of +the TeX family of programs. It has been submitted by Hartmut +Henkel. He writes: + +

    I have created a small technical movie (premiere) about a +certain species of liquid Indium ion emitter (Liquid Indium Metal +Source, LIMS), which sometimes is used in space for propulsion or +scientific experiments (e.g. by the company www.vh-s.de where I work). + +

    The movie shows the heating of the Indium reservoir until the Indium +melts. Forced by a strong electrical field (not shown) the Indium creeps +to the tip of a Tungsten needle and builds a so-called Taylor cone +there. From the tip of the cone Indium ions are extracted by the same +field. --- After some operational time the In reservoir gets empty. +Don't take this part too serious :-) + +

    It's some 600 frames, drawn by MetaPost one by one, +printed, put sheet by sheet on the scanner. Just kidding, it goes +through a shell script (under debian Linux) starting with MetaPost, +blows up to over 1GByte of .ppm files by ghostscript and then shrinks to +the mpeg by mpeg_encode. +

    LM-Volume-manuscript.pdf LM-Volume-manuscript.tex An example of creating documents with hyperlinks (internal and external) using +the hyperref package. + +Claus Gerhardt writes: + +

    I am not sure if this paper qualifies as a TeX showcase example, since +nowadays everybody who is writing mathematical papers is using TeX, and these +people need not to be convinced, but it might be a showcase for the beauty of +hyperref. +

    EulerGibbsDuhem.pdf EulerGibbsDuhem.tex EulerGibbsDuhem.html

    This example is just an ordinary article with some math in it. However, +using the htlatex tool from the TeX4ht suite, the same TeX source has +been used to produce the PDF file you see when you click the icon as well as +the web page you see when you click on the EulerGibbsDuhem.html link in the +second column. + +

    Submitted by Stephen Addison +

    johnhigexerpt.pdf johnhigexerpt.txt Submitter Scott Higinbotham writes: + +

    Here is a contribution to your TeX showcase, if it seems appropriate. +I do genealogy as a hobby, and I have kept the results of my work in +book format almost from the beginning. I used Word for the Mac +originally, but maintaining the document through the constant updates +resulting from new information was not easy. I wanted something a +little more automatic. This was accomplished using a database (4D) to +keep the basic information (names, dates, and family groupings), +individual text files for the narratives about each individual, and +then having the database generate a LaTeX file, which TeX would +process and put together in book form, generating a TOC and an index +in the usual manner. + +

    There is not much fancy TeX code involved, but the result seems to +impress even experienced amateurs who have looked at it. It seemed to +me that this might be interesing because it is an application which is +a bit far afield from the usual disciplines where TeX has taken hold. + +

    The example is anexcerpt from the genealogy. +

    +

    This showcase does not have very fancy markup. It is created automatically +by a perl script and a driver +file and I am not an HTML-expert, that is why.

    + +

    If you want to contribute something that is not already there, or which is +better than what is already there, please send me a submission by e-mail. Do +not send me URLs or anything that requires work for me to find it or download +it, I must set a limit somewhere and I will generally not include items I have +to go browsing for. Sorry. + +

    Include the case and make sure it looks good on screen as well as in print +(so no bitmap fonts), and if possible some source and a description. If you +want, add a JPG or TIFF of 150x200 (width x length) pixels just like the icons +above. Preferably, keep your names in sync: foo.pdf for the showcase entry +with foo.jpg for the icon. Include source. It does not need to be complete in +that it can be compiled and that all necessary support files are there, but it +should illustrate how it was done in TeX (or MetaPost or whatever). + +

    E-mail your submissions to tex-showcase at rna.nl. + +


    Last updated: Tue Aug 6 17:48:45 CEST 2019 +; + +contact webmaster; +contact TUG; +TUG home page. + + diff --git a/sac/pages/unilist-raphaelbastide-com b/sac/pages/unilist-raphaelbastide-com new file mode 100644 index 0000000..8fbaafc --- /dev/null +++ b/sac/pages/unilist-raphaelbastide-com @@ -0,0 +1,90 @@ + + + + + ⋃nilist + + + + + + + +
    +

    nilist

    + +
    + + + +
    +
    ⌘«»‹›‘’“”„‚❝❞£¥€$¢¬¶@§®©™°×π±√‰Ω∞≈÷~≠¹²³½¼¾‐–—|⁄\[]{}†‡…·•●⌥⌃⇧↩¡¿‽⁂∴∵◊※←→↑↓☜☞☝☟✔★☆♺☼☂☺☹☃✉✿✄✈✌✎♠♦♣♥♪♫♯♀♂αßÁáÀàÅåÄäÆæœÇçÉéÈèÊêÍíÌìÎîÑñÓóÒòÔôÖöØøÚúÙùÜüŽž +
    +
    + + +
    +
    ↪↩←↑→↓↔↕↖↗↘↙↚↛↜↝↞↟↠↡↢↣↤↦↥↧↨↫↬↭↮↯↰↱↲↴↳↵↶↷↸↹↺↻⟲⟳↼↽↾↿⇀⇁⇂⇃⇄⇅⇆⇇⇈⇉⇊⇋⇌⇍⇏⇎⇑⇓⇐⇒⇔⇕⇖⇗⇘⇙⇳⇚⇛⇜⇝⇞⇟⇠⇡⇢⇣⇤⇥⇦⇨⇩⇪⇧⇫⇬⇭⇮⇯⇰⇱⇲⇴⇵⇶⇷⇸⇹⇺⇻⇼⇽⇾⇿⟰⟱⟴⟵⟶⟷⟸⟹⟽⟾⟺⟻⟼⟿⤀⤁⤅⤂⤃⤄⤆⤇⤈⤉⤊⤋⤌⤍⤎⤏⤐⤑⤒⤓⤔⤕⤖⤗⤘⤙⤚⤛⤜⤝⤞⤟⤠⤡⤢⤣⤤⤥⤦⤧⤨⤩⤪⤭⤮⤯⤰⤱⤲⤳⤻⤸⤾⤿⤺⤼⤽⤴⤵⤶⤷⤹⥀⥁⥂⥃⥄⥅⥆⥇⥈⥉⥒⥓⥔⥕⥖⥗⥘⥙⥚⥛⥜⥝⥞⥟⥠⥡⥢⥣⥤⥥⥦⥧⥨⥩⥪⥫⥬⥭⥮⥯⥰⥱⥲⥳⥴⥵⥶⥷⥸⥹⥺⥻➔➘➙➚➛➜➝➞➟➠➡➢➣➤➥➦➧➨➩➪➫➬➭➮➯➱➲➳➴➵➶➷➸➹➺➻➼➽➾⬀⬁⬂⬃⬄⬅⬆⬇⬈⬉⬊⬋⬌⬍⏎▲▼◀▶⬎⬏⬐⬑☇☈⍃⍄⍇⍈⍐⍗⍌⍓⍍⍔⍏⍖⍅⍆ +
    +
    + + +
    +
    ▲▼◀▶◢◣◥◤△▽◿◺◹◸▴▾◂▸▵▿◃▹◁▷◅▻◬⟁⧋⧊⊿∆∇◭◮⧩⧨⌔⟐◇◆◈⬖⬗⬘⬙⬠⬡⎔⋄◊⧫⬢⬣▰▪◼▮◾▗▖■∎▃▄▅▆▇█▌▐▍▎▉▊▋❘❙❚▀▘▝▙▚▛▜▟▞░▒▓▂▁▬▔▫▯▭▱◽□◻▢⊞⊡⊟⊠▣▤▥▦⬚▧▨▩⬓◧⬒◨◩◪⬔⬕❏❐❑❒⧈◰◱◳◲◫⧇⧅⧄⍁⍂⟡⧉⚬○⚪◌◍◎◯❍◉⦾⊙⦿⊜⊖⊘⊚⊛⊝●⚫⦁◐◑◒◓◔◕⦶⦸◵◴◶◷⊕⊗⦇⦈⦉⦊❨❩⸨⸩◖◗❪❫❮❯❬❭❰❱⊏⊐⊑⊒◘◙◚◛◜◝◞◟◠◡⋒⋓⋐⋑⥰╰╮╭╯⌒⥿⥾⥽⥼⥊⥋⥌⥍⥎⥐⥑⥏╳✕⤫⤬╱╲⧸⧹⌓◦❖✖✚✜⧓⧗⧑⧒⧖_⚊╴╼╾‐⁃‑‒-–⎯—―╶╺╸─━┄┅┈┉╌╍═≣≡☰☱☲☳☴☵☶☷╵╷╹╻│▕▏┃┆┇┊╎┋╿╽⌞⌟⌜⌝⌊⌋⌈⌉⌋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋╏║╔╒╓╕╖╗╚╘╙╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬ +
    +
    + + +
    +
    ☂☔✈☀☼☁⚡⌁☇☈❄❅❆☃☉☄★☆☽☾⌛⌚⌂⏧✆☎☏✉☑✓✔⎷⍻✖✗✘☒✕☓☕♿✌☚☛☜☝☞☟☹☺☻☯⚘☮⚰⚱⚠☠☢⚔⚓⎈⚒⚑⚐☡❂⚕⚖⚗✇☣⚙☤⚚⚛⚜☥✝☦☧☨☩†☪☫☬☭✁✂✃✄✍✎✏✐✑✒✙✚✜✛♰♱✞✟✠✡☸✢✣✤✥✦✧✩✪✫✬✭✮✯✰✲✱✳✴✵✶✷✸✹✺✻✼✽✾❀✿❁❃❇❈❉❊❋⁕☘❦❧☙❢❣♀♂⚲⚢⚣⚤⚥⚦⚧⚨⚩☿♁⚯♛♕♚♔♜♖♝♗♞♘♟♙☗☖♠♣♦♥❤❥♡♢♤♧⚀⚁⚂⚃⚄⚅⚇⚆⚈⚉♨♩♪♫♬♭♮♯⌨⏏⎗⎘⎙⎚⌥⎇⌘⌦⌫⌧♲♳♴♵♶♷♸♹♺♻♼♽⁌⁍⎌⌇⌲⍝⍟⍣⍤⍥⍨⍩⎋♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓⏚⏛ +
    +
    + + +
    +
    ❝❞❛❜‘’‛‚“”„‟«»‹›Ꞌ"<>@×‧¨․꞉:⁚⁝⁞‥…⁖⸪⸬⸫⸭⁛⁘⁙⁏;⦂⁃‐‑‒-–⎯—―_~⁓⸛⸞⸟ⸯ¬/\⁄\⁄|⎜¦‖‗†‡·•⸰°‣⁒%‰‱&⅋§÷+±=꞊′″‴⁗‵‶‷‸*⁑⁎⁕※⁜⁂!‼¡?¿⸮⁇⁉⁈‽⸘¼½¾²³©®™℠℻℅℁⅍℄¶⁋❡⁌⁍⸖⸗⸚⸓()[]{}⸨⸩❨❩❪❫⸦⸧❬❭❮❯❰❱❴❵❲❳⦗⦘⁅⁆〈〉⏜⏝⏞⏟⸡⸠⸢⸣⸤⸥⎡⎤⎣⎦⎨⎬⌠⌡⎛⎠⎝⎞⁀⁔‿⁐‾⎟⎢⎥⎪ꞁ⎮⎧⎫⎩⎭⎰⎱' +
    +
    + + +
    +
    ∞⟀⟁⟂⟃⟄⟇⟈⟉⟊⟐⟑⟒⟓⟔⟕⟖⟗⟘⟙⟚⟛⟜⟝⟞⟟⟠⟡⟢⟣⟤⟥⟦⟧⟨⟩⟪⟫⦀⦁⦂⦃⦄⦅⦆⦇⦈⦉⦊⦋⦌⦍⦎⦏⦐⦑⦒⦓⦔⦕⦖⦗⦘⦙⦚⦛⦜⦝⦞⦟⦠⦡⦢⦣⦤⦥⦦⦧⦨⦩⦪⦫⦬⦭⦮⦯⦰⦱⦲⦳⦴⦵⦶⦷⦸⦹⦺⦻⦼⦽⦾⦿⧀⧁⧂⧃⧄⧅⧆⧇⧈⧉⧊⧋⧌⧍⧎⧏⧐⧑⧒⧓⧔⧕⧖⧗⧘⧙⧚⧛⧜⧝⧞⧟⧡⧢⧣⧤⧥⧦⧧⧨⧩⧪⧫⧬⧭⧮⧯⧰⧱⧲⧳⧴⧵⧶⧷⧸⧹⧺⧻⧼⧽⧾⧿∀∁∂∃∄∅∆∇∈∉∊∋∌∍∎∏∐∑−∓∔∕∖∗∘∙√∛∜∝∟∠∡∢∣∤∥∦∧∨∩∪∫∬∭∮∯∰∱∲∳∴∵∶∷∸∹∺∻∼∽∾∿≀≁≂≃≄≅≆≇≈≉≊≋≌≍≎≏≐≑≒≓≔≕≖≗≘≙≚≛≜≝≞≟≠≡≢≣≤≥≦≧≨≩≪≫≬≭≮≯≰≱≲≳≴≵≶≷≸≹≺≻≼≽≾≿⊀⊁⊂⊃⊄⊅⊆⊇⊈⊉⊊⊋⊌⊍⊎⊏⊐⊑⊒⊓⊔⊕⊖⊗⊘⊙⊚⊛⊜⊝⊞⊟⊠⊡⊢⊣⊤⊥⊦⊧⊨⊩⊪⊫⊬⊭⊮⊯⊰⊱⊲⊳⊴⊵⊶⊷⊸⊹⊺⊻⊼⊽⊾⊿⋀⋁⋂⋃⋄⋅⋆⋇⋈⋉⋊⋋⋌⋍⋎⋏⋐⋑⋒⋓⋔⋕⋖⋗⋘⋙⋚⋛⋜⋝⋞⋟⋠⋡⋢⋣⋤⋥⋦⋧⋨⋩⋪⋫⋬⋭⋮⋯⋰⋱⋲⋳⋴⋵⋶⋷⋸⋹⋺⋻⋼⋽⋾⋿✕✖✚ +
    +
    + + +
    +
    ⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⓪①②③④⑤⑥⑦⑧⑨⑩➀➁➂➃➄➅➆➇➈➉⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳⓿❶❷❸❹❺❻❼❽❾❿➊➋➌➍➎➏➐➑➒➓⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇¹²³↉½⅓¼⅕⅙⅐⅛⅑⅒⅔⅖¾⅗⅜⅘⅚⅝⅞ +
    +
    + + +
    +
    ₳₿฿Ƀ¢₡¢₢₵₫€££₤₣ƒ₲₭₥₦₱$$₮₩₩¥¥₴¤₰៛₪₯₠₧₨௹﷼㍐৲৳₹ +
    +
    + + +
    +
    😀😬😁😂😃😄😅😆😇😉😊🙂🙃☺😋😌😍😘😗😙😚😜😝😛🤑🤓😎🤗😏😶😐😑😒🙄🤔😳😞😟😠😡😔😕🙁☹😣😖😫😩😤😮😱😨😰😯😦😧😢😥😪😓😭😵😲🤐😷🤒🤕😴💤💩😈👿👹👺💀👻👽🤖😺😸😹😻😼😽🙀😿😾🙌💩👏👋👍👊✊✌👌✋💪🙏☝👆👇👈👉🖕🤘🖖✍💅👄👅👂👃👁👀👤🗣🎳🏂🌁🌉🌋🌌🌏🌑🌓🌔🌕🌛🌠🌰🍏🌱🌼🌽🌿🍄🍇🍈🍌🍍🍑🍒🍩🍕🍖🍗🍠🍤🍥🍨🍪🍫🍬🍭🍮🍯🍷🍹🎊🎋🎠🎣🎭🎮🎲🎴🎹🎻🎼🎽🏡🏮🐌🐜🐝🐞🐡🐢🐣🐥🐩🐼🐽🐾👅👓👖👚👛👝👤👪👰👹👺💌💕💖💞💠💥💧💫💬💮💯💲💳💴💵💸💾📁📂📃📄📅📆📇📈📉📊📋📌📍📎📏📐📑📒📓📔📕📙📚📛📜📞📟📤📥📦📧📨📪📰📹🔃🔋🔌🔎🔏🔐🔖🔗🔘🔙🔚🔛🔜🔟🔠🔡🔢🔣🔤🔦🔧🔩🔪🔮🔵🔶🔷🔸🔹🔼🔽😄😊😃😉😍😘😚😳😌😁😜😝😒😏😓😔😞😱😠😡😪😷👿👽💛💙💜💗💚💔💓💘🌟💢💤💨💦🎶🎵🔥💩👍👎👌👊👋👐👆👇👉👈🙌🙏👏💪🚶🏃👫💃👯🙆🙅💁🙇💏💑💆💇💅👦👧👩👨👶👵👴👱👲👳👷👮👼👸💂💀👣💋👄👂👀👃⛄🌙🌀🌊🐱🐶🐭🐹🐰🐺🐸🐯🐨🐻🐷🐮🐗🐵🐒🐴🐎🐫🐑🐘🐍🐦🐤🐔🐧🐛🐙🐠🐟🐳🐬💐🌸🌹🌻🌺🍁🍃🍂🌴🌵🌾🐚❤💛💙💜💔❣💕💞💓💗💖💘💝💟☮✝☪🕉☸✡🔯🕎☯☦🛐⛎♈♉♊♋♌♍♎♏♐♑♒♓🆔⚛🈳🈹☢☣📴📳🈶🈚🈸🈺🈷✴🆚🉑💮🉐㊙㊗🈴🈵🈲🅰🅱🆎🆑🅾🆘⛔📛🚫❌⭕💢♨🚷🚯🚳🚱🔞📵❗❕❓❔‼⁉💯🔅🔆🔱⚜〽⚠🚸🔰♻🈯💹❇✳❎✅💠🌀➿🌐Ⓜ🏧🈂🛂🛃🛄🛅♿🚭🚾🅿🚰🚹🚺🚼🚻🚮🎦📶🈁🆖🆗🆙🆒🆕🆓🔟🔢▶⏸⏯⏹⏺⏭⏮⏩⏪🔀🔁🔂◀🔼🔽⏫⏬➡⬅⬆⬇↗↘↙↖↕↔🔄↪↩⤴⤵ℹ🔤🔡🔠🔣🎵🎶〰➰✔🔃➕➖➗✖💲💱©®™🔚🔙🔛🔝🔜☑🔘⚪⚫🔴🔵🔸🔹🔶🔷🔺▪▫⬛⬜🔻◼◻◾◽🔲🔳🔈🔉🔊🔇📣📢🔔🔕🃏🀄♠♣♥♦🎴👁‍🗨💭🗯💬🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧🐶🐱🐭🐹🐰🐻🐼🐨🐯🦁🐮🐷🐽🐸🐙🐵🙈🙉🙊🐒🐔🐧🐦🐤🐣🐥🐺🐗🐴🦄🐝🐛🐌🐞🐜🕷🦂🦀🐍🐢🐠🐟🐡🐬🐳🐋🐊🐆🐅🐃🐂🐄🐪🐫🐘🐐🐏🐑🐎🐖🐀🐁🐓🦃🕊🐕🐩🐈🐇🐿🐾🐉🐲🌵🎄🌲🌳🌴🌱🌿☘🍀🎍🎋🍃🍂🍁🌾🌺🌻🌹🌷🌼🌸💐🍄🌰🎃🐚🕸🌎🌍🌏🌕🌖🌗🌘🌑🌒🌓🌔🌚🌝🌛🌜🌞🌙⭐🌟💫✨☄☀🌤⛅🌥🌦☁🌧⛈🌩⚡🔥💥❄🌨🔥💥❄🌨☃⛄🌬💨🌪🌫☂☔💧💦🌊🎍💝🎎🎒🎓🎏🎆🎇🎐🎑🎃👻🎅🎄🎁🔔🎉🎈💿📀📷🎥💻📺📱📠💽📼🔊📢📣📻📡🔍🔓🔒🔑🔨💡📲📩📫📮🛀🚽💺💰🔱🚬💣🔫💊💉🏈🏀⚽⚾🎾⛳🎱🏊🏄🎿🏆👾🎷🎸👟👡👠👔👜💄💍💎🍵🍺🍻🍸🍶🍴🍔🍟🍝🍛🍱🍣🍙🍘🍚🍜🍲🍞🍳🍢🍡🍦🍧🎂🍰🍎🍊🍉🍓🍆🍅🏠🏫🏢🏣🏥🏦🏪🏩🏨💒⛪🏬🌇🌆🏯🏰⛺🏭🗼🗻🌄🌅🌃🗽🌈🎡⛲🎢🚢🚤⛵🚀🚲🚙🚗🚕🚌🚓🚒🚑🚚🚃🚉🚄🚅🎫⛽🚥🚧🔰🏧🎰🚏💈🏁🎌🎯🀄🎬📝📖🎨🎤🎧🎺👗👘👙🎀🎩👑👒🌂💼 +
    +
    + + + + + + + diff --git a/sac/pages/unix-stackexchange-com-questions-33255-how-to-define-and-load-your-own-shell-function-in-zsh b/sac/pages/unix-stackexchange-com-questions-33255-how-to-define-and-load-your-own-shell-function-in-zsh new file mode 100644 index 0000000..1a51edf --- /dev/null +++ b/sac/pages/unix-stackexchange-com-questions-33255-how-to-define-and-load-your-own-shell-function-in-zsh @@ -0,0 +1,3046 @@ + + + + + + + + How to define and load your own shell function in zsh - Unix & Linux Stack Exchange + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + + +
    +
    + + + + + +
    + + + +
    + + + +
    + + + + + + +
    + + + +
    + + +
    + + + +
    +
    + Asked + +
    +
    + Modified + 3 years, 10 months ago +
    +
    + Viewed + 162k times +
    +
    + +
    + +
    + +
    +
    +
    +
    + + +
    +
    +
    + +
    + 123 +
    + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    + +

    I am having a hard time defining and running my own shell functions in zsh. I followed the instructions on the official documentation and tried with easy example first, but I failed to get it work.

    + +

    I have a folder:

    + +
    ~/.my_zsh_functions
    +
    + +

    In this folder I have a file called functions_1 with rwx user permissions. In this file I have the following shell function defined:

    + +
    my_function () {
    +echo "Hello world";
    +}
    +
    + +

    I defined FPATH to include the path to the folder ~/.my_zsh_functions:

    + +
    export FPATH=~/.my_zsh_functions:$FPATH
    +
    + +

    I can confirm that the folder .my_zsh_functions is in the functions path with echo $FPATH or echo $fpath

    + +

    However, if I then try the following from the shell:

    + +
    > autoload my_function
    +> my_function
    +
    + +

    I get:

    + +
    +

    zsh: my_test_function: function definition file not found

    +
    + +

    Is there anything else I need to do to be able to call my_function ?

    + +

    Update:

    + +

    The answers so far suggest sourcing the file with the zsh functions. This makes sense, but I am bit confused. Shouldn't zsh know where those files are with FPATH? What is the purpose of autoload then?

    +
    + +
    + +
    + +
    +
    +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + +
    + +
    +
    + + + +
    +
    +
    + +
    + + + + + 4 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Make sure you have the $ZDOTDIR properly defined. zsh.sourceforge.net/Intro/intro_3.html + +
      +– ramonovski +
      + Mar 2, 2012 at 17:58 + + + +
      +
      +
    • +
    • +
      +
      + 2 +
      +
      +
      +
      + + The value of $ZDOTDIR is not related to this problem. The variable defines where zsh is looking for a user's configuration files. If it is unset $HOME is used instead, which is the right value for almost everybody. + +
      +– Frank Terbeck +
      + Mar 24, 2012 at 14:46 + + + +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + I agree that sourcing isn't the zsh way, but if you intend to use your dotfiles (or parts of them) across your zsh and bash configs, then using source is the only option that you have. + +
      +– kapad +
      + Oct 20, 2020 at 9:16 +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + On bash compatibility: This question is concerned with zsh's loadable function system. It has nothing to do with bash (and to my knowledge has not equivalent in bash). Sourcing files from $FPATH either defeats autoloading or plainly does not work. + +
      +– Frank Terbeck +
      + Dec 24, 2022 at 9:42 +
      +
      +
    • + +
    +
    + + +
    +
    + +
    + + + + + +
    + +
    +
    +
    +

    + 5 Answers + 5 +

    +
    +
    + + +
    +
    + + + Reset to default + +
    +
    + +
    +
    + + +
    +
    +
    + + + + +
    +
    +
    +
    + +
    + 189 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    In zsh, the function search path ($fpath) defines a set of directories, which contain files that can be marked to be loaded automatically when the function they contain is needed for the first time.

    + +

    Zsh has two modes of autoloading files: Zsh's native way and another mode that resembles ksh's autoloading. The latter is active if the KSH_AUTOLOAD option is set. Zsh's native mode is the default and I will not discuss the other way here (see "man zshmisc" and "man zshoptions" for details about ksh-style autoloading).

    + +

    Okay. Say you got a directory `~/.zfunc' and you want it to be part of the function search path, you do this:

    + +
    fpath=( ~/.zfunc "${fpath[@]}" )
    +
    + +

    That adds your private directory to the front of the search path. That is important if you want to override functions from zsh's installation with your own (like, when you want to use an updated completion function such as `_git' from zsh's CVS repository with an older installed version of the shell).

    + +

    It is also worth noting, that the directories from `$fpath' are not searched recursively. If you want your private directory to be searched recursively, you will have to take care of that yourself, like this (the following snippet requires the `EXTENDED_GLOB' option to be set):

    + +
    fpath=(
    +    ~/.zfuncs
    +    ~/.zfuncs/**/*~*/(CVS)#(/N)
    +    "${fpath[@]}"
    +)
    +
    + +

    It may look cryptic to the untrained eye, but it really just adds all directories below `~/.zfunc' to `$fpath', while ignoring directories called "CVS" (which is useful, if you're planning to checkout a whole function tree from zsh's CVS into your private search path).

    + +

    Let's assume you got a file `~/.zfunc/hello' that contains the following line:

    + +
    printf 'Hello world.\n'
    +
    + +

    All you need to do now is mark the function to be automatically loaded upon its first reference:

    + +
    autoload -Uz hello
    +
    + +

    "What is the -Uz about?", you ask? Well, that's just a set of options that will cause `autoload' to do the right thing, no matter what options are being set otherwise. The `U' disables alias expansion while the function is being loaded and the `z' forces zsh-style autoloading even if `KSH_AUTOLOAD' is set for whatever reason.

    + +

    After that has been taken care of, you can use your new `hello' function:

    + +
    zsh% hello
    +Hello world.
    + +

    A word about sourcing these files: That's just wrong. If you'd source that `~/.zfunc/hello' file, it would just print "Hello world." once. Nothing more. No function will be defined. And besides, the idea is to only load the function's code when it is required. After the `autoload' call the function's definition is not read. The function is just marked to be autoloaded later as needed.

    + +

    And finally, a note about $FPATH and $fpath: Zsh maintains those as linked parameters. The lower case parameter is an array. The upper case version is a string scalar, that contains the entries from the linked array joined by colons in between the entries. This is done, because handling a list of scalars is way more natural using arrays, while also maintaining backwards compatibility for code that uses the scalar parameter. If you choose to use $FPATH (the scalar one), you need to be careful:

    + +
    FPATH=~/.zfunc:$FPATH
    +
    + +

    will work, while the following will not:

    + +
    FPATH="~/.zfunc:$FPATH"
    +
    + +

    The reason is that tilde expansion is not performed within double quotes. This is likely the source of your problems. If echo $FPATH prints a tilde and not an expanded path then it will not work. To be safe, I'd use $HOME instead of a tilde like this:

    + +
    FPATH="$HOME/.zfunc:$FPATH"
    +
    + +

    That being said, I'd much rather use the array parameter like I did at the top of this explanation.

    + +

    You also shouldn't export the $FPATH parameter. It is only needed by the current shell process and not by any of its children.

    + +

    Update

    + +

    Regarding the contents of files in `$fpath':

    + +

    With zsh-style autoloading, the content of a file is the body of the function it defines. Thus a file named "hello" containing a line echo "Hello world." completely defines a function called "hello". You're free to put +hello () { ... } around the code, but that would be superfluous.

    + +

    The claim that one file may only contain one function is not entirely correct, though.

    + +

    Especially if you look at some functions from the function based completion system (compsys) you'll quickly realise that that is a misconception. You are free to define additional functions in a function file. You are also free to do any sort of initialisation, that you may need to do the first time the function is called. However, when you do you will always define a function that is named like the file in the file and call that function at the end of the file, so it gets run the first time the function is referenced.

    + +

    If - with sub-functions - you didn't define a function named like the file within the file, you'd end up with that function having function definitions in it (namely those of the sub-functions in the file). You would effectively be defining all your sub-functions every time you call the function that is named like the file. Normally, that is not what you want, so you'd re-define a function, that's named like the file within the file.

    + +

    I'll include a short skeleton, that will give you an idea of how that works:

    + +
    # Let's again assume that these are the contents of a file called "hello".
    +
    +# You may run arbitrary code in here, that will run the first time the
    +# function is referenced. Commonly, that is initialisation code. For example
    +# the `_tmux' completion function does exactly that.
    +echo initialising...
    +
    +# You may also define additional functions in here. Note, that these
    +# functions are visible in global scope, so it is paramount to take
    +# care when you're naming these so you do not shadow existing commands or
    +# redefine existing functions.
    +hello_helper_one () {
    +    printf 'Hello'
    +}
    +
    +hello_helper_two () {
    +    printf 'world.'
    +}
    +
    +# Now you should redefine the "hello" function (which currently contains
    +# all the code from the file) to something that covers its actual
    +# functionality. After that, the two helper functions along with the core
    +# function will be defined and visible in global scope.
    +hello () {
    +    printf '%s %s\n' "$(hello_helper_one)" "$(hello_helper_two)"
    +}
    +
    +# Finally run the redefined function with the same arguments as the current
    +# run. If this is left out, the functionality implemented by the newly
    +# defined "hello" function is not executed upon its first call. So:
    +hello "$@"
    +
    + +

    If you'd run this silly example, the first run would look like this:

    + +
    zsh% hello
    +initialising...
    +Hello world.
    + +

    And consecutive calls will look like this:

    + +
    zsh% hello
    +Hello World.
    + +

    I hope this clears things up.

    + +

    (One of the more complex real-world examples that uses all those tricks is the already mentioned `_tmux' function from zsh's function based completion system.)

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    +
    + +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 17 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Thanks Frank! I read in the other answers that I can only define one function per file, is that right? I noticed you didn't use the syntax my_function () { } in your Hello world example. If the syntax is not needed, when would it be useful to use it? + + + Mar 10, 2012 at 20:26 + + + +
      +
      +
    • +
    • +
      +
      + 2 +
      +
      +
      +
      + + I extended the original answer to address those questions as well. + +
      +– Frank Terbeck +
      + Mar 10, 2012 at 22:43 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + Here is more info from your site, thanks. + +
      +– Timo +
      + Nov 7, 2017 at 15:25 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + What a superb answer. Thank you! + +
      +– MeanwhileInHell +
      + May 15, 2020 at 11:51 +
      +
      +
    • +
    • +
      +
      + 1 +
      +
      +
      +
      + + vfclists: It's important to understand what the autoload does: It marks a function to be loaded automatically when referenced first. So, if you just want to try things out, you can do it from the command line. If you want a function to be marked for autoloading in each interactive instance of zsh, you can put it into your ~/.zshrc. + +
      +– Frank Terbeck +
      + Oct 18, 2020 at 19:53 +
      +
      +
    • + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + 12 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    The name of the file in a directory named by an fpath element must match the name of the autoloadable function it defines.

    + +

    Your function is named my_function and ~/.my_zsh_functions is the intended directory in your fpath, so the definition of my_function should be in the file ~/.my_zsh_functions/my_function.

    + +

    The plural in your proposed filename (functions_1) indicates that you were planning on putting multiple functions in the file. This is not how fpath and autoloading work. You should have one function definition per file.

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 1 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Thanks Chris! Used this to do this and now I can actually use it :) I had to rename my file >.< + +
      +– SumNeuron +
      + Mar 21, 2023 at 15:39 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + + + +
    +
    +
    +
    + +
    + 12 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    Sourcing definitely isn't the right approach, since what you seem to want is to have lazy initialized functions. That's what autoload is for. Here's how you accomplish what you're after.

    + +

    In your ~/.my_zsh_functions, you say you want to put a function called my_function that echos "hello world". But, you wrap it in a function call, which isn't how this works. Instead, you need to make a file called ~/.my_zsh_functions/my_function. In it, just put echo "Hello world", not in a function wrapper. You could also do something like this if you really do prefer to have the wrapper.

    + +
    # ~/.my_zsh_functions/my_function
    +__my_function () {
    +    echo "Hello world";
    +}
    +# you have to call __my_function
    +# if this is how you choose to do it
    +__my_function
    +
    + +

    Next, in your .zshrc file, add the following:

    + +
    fpath=(~/.my_zsh_functions $fpath);
    +autoload -U ~/.my_zsh_functions/my_function
    +
    + +

    When you load a new ZSH shell, type which my_function. You should see this:

    + +
    my_function () {
    +    # undefined
    +    builtin autoload -XU
    +}
    +
    + +

    ZSH just stubbed out my_function for you with autoload -X. Now, run my_function by just typing my_function. You should see Hello world print out, and now when you run which my_function you should see the function filled in like this:

    + +
    my_function () {
    +    echo "Hello world"
    +}
    +
    + +

    Now, the real magic comes when you set up your whole ~/.my_zsh_functions folder to work with autoload. If you want every file you drop in this folder to work like this, change what you put in your .zshrc to something this:

    + +
    # add ~/.my_zsh_functions to fpath, and then lazy autoload
    +# every file in there as a function
    +fpath=(~/.my_zsh_functions $fpath);
    +autoload -U $fpath[1]/*(.:t)
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    +
    + +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 5 +
    +
    +
      + +
    • +
      +
      + 2 +
      +
      +
      +
      + + On Mac OS 10.15.2 with zsh 5.7.1 I had to add a $ infront of fpath like: autoload -U $fpath[1]/*(.:t) + +
      +– Andy Longwill +
      + Feb 25, 2020 at 14:38 + + + +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + What happens if there is a a directory in the directory I am autoloading every file from? + +
      +– trallnag +
      + Oct 17, 2021 at 22:31 +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + You can dot that, but you'll want to use extended globbing and the double star syntax: setopt extended_glob; autoload -U $fpath[1]/**/*(.:t) + +
      +– mattmc3 +
      + Oct 20, 2021 at 16:11 +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + Why you didn't use autoload -Uz but only autoload -U? IIRC, these two options are better to be used together. + +
      +– Niing +
      + Mar 16, 2023 at 10:17 +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + @Niing - If there's a chance KSH_AUTOLOAD was set somewhere in your config and you don't actually want that for your autoload functions, then sure - autoload -Uz ensures you are in Zsh mode when autoloading. But for most people's config that's probably not a real problem. + +
      +– mattmc3 +
      + Mar 16, 2023 at 20:25 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + 0 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    give source ~/.my_zsh_functions/functions1 in the terminal and the evaluate my_function, now you will be able to call the function

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 1 +
    +
    +
      + +
    • +
      +
      + 3 +
      +
      +
      +
      + + Thanks, but what is the role of FPATH and autoload then? Why do I also need to source the file? See my updated question. + + + Mar 2, 2012 at 18:17 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + + + +
    +
    +
    +
    + +
    + -1 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    You can "load" a file with all your functions in your $ZDOTDIR/.zshrc like this:

    + +
    source $ZDOTDIR/functions_file
    +
    + +

    Or can use a dot "." instead of "source".

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 1 +
    +
    +
      + +
    • +
      +
      + 1 +
      +
      +
      +
      + + Thanks, but what is the role of FPATH and autoload then? Why do I also need to source the file? See my updated question. + + + Mar 2, 2012 at 18:16 + + + +
      +
      +
    • + +
    +
    + + +
    +
    +
    + +

    + You must log in to answer this question. +

    + + + +

    +
    +Not the answer you're looking for? Browse other questions tagged .
    +

    +
    +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/unix-stackexchange-com-questions-585013-remove-uri-prefix-http-and-https-by-using-awk-command-or-shell-script b/sac/pages/unix-stackexchange-com-questions-585013-remove-uri-prefix-http-and-https-by-using-awk-command-or-shell-script new file mode 100644 index 0000000..a3f668c --- /dev/null +++ b/sac/pages/unix-stackexchange-com-questions-585013-remove-uri-prefix-http-and-https-by-using-awk-command-or-shell-script @@ -0,0 +1,2019 @@ + + + + + + + + Remove URI prefix (http:// and https://) by using awk command or shell script - Unix & Linux Stack Exchange + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    +
    + +
    + +
    + + + + + + + + + + + + + +
    +
    + + + + + +
    + + + +
    + + + +
    + + + + + + +
    + + + +
    + + +
    + + + + +
    +
    + Asked + +
    +
    + Modified + 3 years, 10 months ago +
    +
    + Viewed + 5k times +
    +
    + +
    + +
    + +
    +
    +
    +
    + + +
    +
    +
    + +
    + 1 +
    + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +
    + +

    I have the below data (Actual output)

    + +
    http://localhost:5058/uaa/token,80
    +https://t-mobile.com,443
    +http://USERSECURITYTOKEN/payments/security/jwttoken,80
    +https://core.op.api.internal.t-mobile.com/v1/oauth2/accesstoken?grant_type,443
    +http://AUTOPAYV3/payments/v3/autopay/search,80
    +http://AUTOPAYV3/payments/v3/autopay,80
    +http://CARDTYPEVALIDATION/payments/v4/internal/card-type-validation/getBinDetails,80
    +
    + +

    I am trying to get below data (Expected output)

    + +
    localhost:5058/uaa/token,80
    +t-mobile.com,443
    +USERSECURITYTOKEN/payments/security/jwttoken,80
    +core.op.api.internal.t-mobile.com/v1/oauth2/accesstoken?grant_type,443
    +AUTOPAYV3/payments/v3/autopay/search,80
    +AUTOPAYV3/payments/v3/autopay,80
    +CARDTYPEVALIDATION/payments/v4/internal/card-type-validation/getBinDetails,80
    +
    + +

    and would like to combine working command with the below script

    + +
    #!/bin/bash
    +for file in $(ls); 
    +do 
    +#echo  " --$file -- "; 
    +grep -P  '((?<=[^0-9.]|^)[1-9][0-9]{0,2}(\.([0-9]{0,3})){3}(?=[^0-9.]|$)|(http|ftp|https|ftps|sftp)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/+#-]*[\w@?^=%&/+#-])?|\.port|\.host|contact-points|\.uri|\.endpoint)' $file|grep '^[^#]' |awk '{split($0,a,"#"); print a[1]}'|awk '{split($0,a,"="); print a[1],a[2]}'|sed 's/^\|#/,/g'|awk '/http:\/\//  {print $2,80}
    +       /https:\/\// {print $2,443}
    +       /Points/     {print $2,"9042"}
    +       /host/       {h=$2}
    +       /port/       {print h,$2; h=""}'|awk -F'[, ]' '{for(i=1;i<NF;i++){print $i,$NF}}'|awk 'BEGIN{OFS=","} {$1=$1} 1'|sed '/^[0-9]*$/d'|awk -F, '$1 != $2' 
    +done |awk '!a[$0]++' 
    +#echo "Done."
    +stty echo
    +cd ..
    +
    + +

    Need the solution ASAP, thank you in advance

    +
    + + + +
    +
    +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + +
    + +
    +
    + + + +
    +
    +
    + +
    + + + + + 1 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Everything above stty echo could/should just be 1 awk script. Post a new question if you'd like help with writing that. Any time you find yourself writing chains of pipes involving multiple greps, seds, awks, etc. there is always a better approach. + +
      +– Ed Morton +
      + May 6, 2020 at 20:46 + + + +
      +
      +
    • + +
    +
    + + +
    +
    + +
    + + + + + +
    + +
    +
    +
    +

    + 2 Answers + 2 +

    +
    +
    + + +
    +
    + + + Reset to default + +
    +
    + +
    +
    + + +
    +
    +
    + + + + +
    +
    +
    +
    + +
    + 2 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    @DopeGhoti has already posted an excellent answer.

    + +

    While the original question has only "http://" and "https://" URIs in the example data, the Awk script that the poster included in the question seems to suggest they are expecting to also handle ftp,ftps and sftp methods as well.

    + +

    So here's a generalized answer to remove any method (including any leading whitespace) from the start of the URI:

    + + + +
    sed -E 's/^\s*.*:\/\///g'
    +
    + +

    and here's a link with some sample input for experimentation:

    + +

    Try it online!

    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    +
    + +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 2 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + @KalpanaPinninty, I hope you get it working well. As a side note, it's generally a good idea to wait some time (maybe 24 hours or so) before accepting an answer, as it might discourage others from providing a better answer. + +
      +– spuck +
      + May 6, 2020 at 23:29 +
      +
      +
    • +
    • +
      +
      +
      +
      +
      +
      + + Thank you @spuck, i will make a note on this :) + + + May 10, 2020 at 19:51 +
      +
      +
    • + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + +
    + 2 +
    + + + + + + + + + + + + +
    +
    + +
    +
    + + + + +
    + +
    + + + +
    + +
    +

    Given the data in a file called input, with sed:

    + +
    $ sed -E 's_^https?://__' input
    +localhost:5058/uaa/token,80
    +t-mobile.com,443
    +USERSECURITYTOKEN/payments/security/jwttoken,80
    +core.op.api.internal.t-mobile.com/v1/oauth2/accesstoken?grant_type,443
    +AUTOPAYV3/payments/v3/autopay/search,80
    +AUTOPAYV3/payments/v3/autopay,80
    +CARDTYPEVALIDATION/payments/v4/internal/card-type-validation/getBinDetails,80
    +
    + +

    Also, regarding

    + +
    for file in $(ls); 
    +
    + +

    Don't parse the output of ls, you will be sad. Instead,

    + +
    for file in *;
    +
    +
    +
    +
    + +
    + + + +
    + +
    + +
    + +
    + + + + +
    + +
    + + + + + + +
    +
    +
    +
    + + +
    + + + +
    +
    + + +
    + +
    + + + + + 1 +
    +
    +
      + +
    • +
      +
      +
      +
      +
      +
      + + Thank you for reply, working on it. + + + May 6, 2020 at 20:31 +
      +
      +
    • + +
    +
    + + +
    +
    +
    + +

    + You must log in to answer this question. +

    + + + +

    +
    +Not the answer you're looking for? Browse other questions tagged .
    +

    +
    +
    + + + + +
    + +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/upload-wikimedia-org-wikipedia-commons-7-74-timeline-of-web-browsers-svg b/sac/pages/upload-wikimedia-org-wikipedia-commons-7-74-timeline-of-web-browsers-svg new file mode 100644 index 0000000..1517440 --- /dev/null +++ b/sac/pages/upload-wikimedia-org-wikipedia-commons-7-74-timeline-of-web-browsers-svg @@ -0,0 +1,7420 @@ + + + + Timeline of Web Browsers + + This timeline displays the releases of major versions of web browsers. + It includes version numbers for milestones reached by each browser, and displays the points at which a browser started from another. Source data comes from browser websites, wikipedia articles, archive.org and some other websites. + + First version created on June 12, 2007 by ADeveria for Wikipedia. + + Recent changelog available in source. For older versions, see: + - https://upload.wikimedia.org/wikipedia/commons/archive/7/74/20150104154324%21Timeline_of_web_browsers.svg + - https://upload.wikimedia.org/wikipedia/commons/archive/7/74/20170418232405%21Timeline_of_web_browsers.svg + - https://github.com/Ugoku/browser-timeline/blob/master/CHANGELOG + + + + + + + + + + + + + + + + + + 1990 + 1991 + 1992 + 1993 + 1994 + 1995 + 1996 + 1997 + 1998 + 1999 + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + 2010 + 2011 + 2012 + 2013 + 2014 + 2015 + 2016 + 2017 + 2018 + 2019 + 2020 + 2021 + 2022 + 2023 + 2024 + + + + + WorldWideWeb / Nexus + + + + + + + + 0.1 + + + + 0.4 + + + + + + 0.7 + + + + + + + + + + 0.11 + + + + 0.12 + + + + 0.14 + + + + 0.18 + + + + + Line Mode Browser (libwww) + + + + + + + + + + + + + 0.7 + + + + + + 0.11 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + + + + 2.14 + + + + 2.15 + + + + 3 + + + + 3.1 + + + + + 4 + + + + 5 + + + + 5.1 + + + + 5.2 + + + + 5.2.8 + + + + 5.3.1 + + + + + 5.3.2 + + + + 5.4.0 + + + + 5.4.1 + + + + + + + + + MacWWW + + + + + + + 1 + + + + + + + ViolaWWW + + + + + + + + + + 1 + + + + + 3 + + + + + Cello + + + + + + + + + 0.1 + + + + 1 + + + + + MidasWWW + + + + + + + + 1 + + + + + + + + + UdiWWW + + + + + + + + 1 + + + + 1.2 + + + + + Arena + + + + + + + + + 0.92 + + + + beta-1 + + + + beta-2 + + + + beta-3 + + + + 0.3.18 + + + + 0.3.39 + + + + 0.3.62 + + + + + Lynx + + + + + + + + + + + + 2 + + + + + 2.3 + + + + + 2.6 + + + + + 2.7 + + + + + 2.8 + + + + + 2.8.2 + + + + + 2.8.3 + + + + + 2.8.4 + + + + 2.8.5 + + + + 2.8.6 + + + + 2.8.7 + + + + + 2.8.8 + + + + + 2.8.9 + + + + + WebRunner / HotJava + + + + + + + + + + 1 + + + + + + + 3 + + + + + Contiki + + + + + + + + + 1 + + + + + 1.1 + + + + 1.2 + + + + + 1.3 + + + + 2 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + + 2.5 + + + + + 2.6 + + + + + 2.7 + + + + + 3 + + + + + + + Contiki-NG + + + + + 4 + + + + 4.1 + + + + 4.2 + + + + 4.3 + + + + 4.4 + + + + 4.5 + + + + 4.6 + + + + 4.7 + + + + 4.8 + + + + 4.9 + + + + + Links + + + + + + + 0.8 + + + + 0.9 + + + + + + + 2 + + + + + 2.2 + + + + + 2.2 + + + + + 2.3 + + + + + 2.4 + + + + + 2.5 + + + + + 2.6 + + + + + 2.7 + + + + + 2.8 + + + + + 2.9 + + + + + 2.11 + + + + + 2.12 + + + + + 2.13 + + + + + 2.14 + + + + + 2.15 + + + + + 2.16 + + + + + 2.17 + + + + + 2.18 + + + + + 2.19 + + + + + 2.20 + + + + + 2.21 + + + + + 2.22 + + + + + 2.23 + + + + + 2.24 + + + + + 2.25 + + + + + 2.26 + + + + 2.27 + + + + 2.28 + + + + 2.29 + + + + + ELinks + + + + + + + + + + + + 0.3 + + + + 0.4 + + + + 0.9 + + + + 0.10 + + + + 0.11 + + + + + w3m + + + + + + + + + + + 0.2 + + + + + 0.3 + + + + 0.4 + + + + + + + .5.2 + 0.5 + + + + .5.2 + + + + + .5.3 + + + + -3 + + + + -4 + + + + -5 + + + + + + + + -8 + + + + -9 + + + + + + -11 + + + + -12 + + + + -13 + + + + + + -15 + + + + -16 + + + + -17 + + + + + + -19 + + + + -20 + + + + -21 + + + + -22 + + + + -23 + + + + -24 + + + + -25 + + + + -26 + + + + -27 + + + + -28 + + + + -29 + + + + + + -32 + + + + -33 + + + + -34 + + + + -35 + + + + -36 + + + + -37 + + + + -38 + + + + + SlipKnot + + + + + + + + 1 + + + + + 1.4 + + + + + 1.5 + + + + + Tamaya / Amaya + + + + + + + + + + + 0.9 + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + + 2.4 + + + + 3 + + + + 3.1 + + + + 3.2 + + + + + 4 + + + + 4.2 + + + + 4.3 + + + + + 5 + + + + 5.2 + + + + 5.3 + + + + + 6 + + + + 6.2 + + + + + 6.4 + + + + + 7 + + + + 7.2 + + + + 8 + + + + 8.1 + + + + 8.2 + + + + 8.3 + + + + + 8.5 + + + + 8.6 + + + + 8.7 + + + + 9 + + + + 9.1 + + + + + 9.2 + + + + 9.3 + + + + 9.4 + + + + 9.5 + + + + 10 + + + + 11 + + + + 11.1 + + + + 11.2 + + + + 11.3 + + + + 11.4 + + + + + SimulBrowse + + + NetCaptor + + + + + + + + 3 + + + + + 5 + + + + + 6 + + + + 7 + + + + 7.5 + + + + + + + + AWeb + + + + + + + + 1 + + + + + 2.1 + + + + + 3 + + + + + 3.4 + + + + + 3.5b + + + + + Cyberdog + + + + + + + 1 + + + + 1.2 + + + + 2 + + + + + AMosaic + + + + + + + + + + + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + + IBrowse + + + 1 + + + + + 1.1 + + + + + 1.11 + + + + + 1.12 + + + + + 1.2 + + + + + 1.22 + + + + + 2 + + + + 2.3 + + + + + 2.4 + + + + + 2.5 + + + + + 3 + + + + + NCSA Mosaic + + + + + + + + 0.1 + + + + 1 + + + + 2 + + + + + 2.1 + + + + 3 + + + + + + + + Spyglass Enhanced Mosaic + + + + + + + + + + + + + β + + + + + 1 + + + + + 2 + + + + + 2.1 + + + + + Arachne + + + + + + + + + + + 1 + + + + 1.7 + + + + + 1.9 + + + + 1.93 + + + + 1.95 + + + + + 1.97 + + + + + 1.99 + + + + + Mosaic Netscape / Netscape Navigator + + + + + + + + 0.9 + + + + 1 + + + + 1.1 + + + + 1.22 + + + + 2 + + + + 3 + + + + 4 + + + + 4.5 + + + + + 4.6 + + + + + 4.7 + + + + 4.8 + + + + + Netscape + + + + + + + + + + + 6 + + + + 6.1 + + + + 6.2 + + + + 7 + + + + 7.1 + + + + 7.2 + + + Netscape Browser + + + + + + + + 8 + + + + 8.1 + + + + Netscape Navigator + + + + 9 + + + + + + + + + Classilla + + + + + + + + + + + + + 9 + + + + + 9.1 + + + + + 9.2 + + + + + 9.3 + + + + + 9.3.1 + + + + + 9.3.2 + + + + + 9.3.3 + + + + + 9.3.4 b + + + + + Ghostzilla + + + + + + + + + + 1.0.1 + + + + + + + + + + + + Mozilla + + + + + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + 0.9 + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + 1.6 + + + + 1.7 + + + + + + + + Flock + + + + + + + + + + + + + 0.5 + + + + + 0.7 + + + + + 1 + + + + + 1.1 + + + + + 1.2 + + + + 2 + + + + + 2.5 + + + + 2.6 + + + + + + + + 3.5 + + + + + + + + Rockmelt + + + + + + + + + b1 + + + + b2 + + + + b3 + + + + b4 + + + + b5 + + + + + + + + + qutebrowser + + + + + + + + + 0.1 + + + + 0.2 + + + + 0.3 + + + + 0.4 + + + + 0.5 + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + 0.9 + + + + 0.10 + + + + 0.11 + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + 1.6 + + + + 1.7 + + + + 1.8 + + + + 1.9 + + + + 1.10 + + + + 1.11 + + + + + + 1.13 + + + + 1.14 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + 2.5 + + + + 3 + + + + + 3.1 + + + + + Galeon + + + + + + + + + 0.6 + + + + 1 + + + + 2 + + + + + Beonex Communicator + + + + + + + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + + + + + Otter Browser + + + + + + + + a1 + + + + a2 + + + + a3 + + + + a4 + + + + a5 + + + + b1 + + + + b2 + + + + b3 + + + + b4 + + + + b5 + + + + b6 + + + + b7 + + + + b8 + + + + b9 + + + + b10 + + + + b11 + + + + b12 + + + + RC1 + + + + RC2 + + + + RC3 + + + + RC4 + + + + RC5 + + + + RC6 + + + + RC7 + + + + RC8 + + + + RC9 + + + + RC10 + + + + RC11 + + + + RC12 + + + + 1 + + + + + Epiphany + + + + + + + + + + + + 0.5 + + + + + + + + + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + 1.6 + + + + 1.7 + + + + 1.8 + + + + 1.9 + + + + 2 + + + + 2.2 + + + + 2.27 + + + + 2.28 + + + + 2.3 + + + + 2.9 + + + + 3 + + + + 3.1 + + + + 3.2 + + + + 3.3 + + + + Web + + + + + 3.4 + + + + 3.5 + + + + 3.6 + + + + 3.7 + + + + + 3.8 + + + + 3.9 + + + + 3.10 + + + + + 3.11 + + + + + 3.12 + + + + + 3.13 + + + + + 3.14 + + + + + 3.15 + + + + + 3.16 + + + + + 3.17 + + + + + 3.18 + + + + + 3.19 + + + + + 3.20 + + + + + 3.21 + + + + + 3.22 + + + + + 3.24 + + + + + 3.26 + + + + + 3.28 + + + + + 3.30 + + + + + 3.32 + + + + + 3.34 + + + + + 3.36 + + + + + 3.38 + + + + + 40 + + + + + 41 + + + + + 42 + + + + + 43 + + + + + 44 + + + + + 45 + + + + + K-Meleon + + + + + + + + + + + 0.1 + + + + 0.5 + + + + 0.8 + + + + 1 + + + + 1.1 + + + + 1.5 + + + + 74 + + + + 75 + + + + + 75.1 + + + + + SeaMonkey + + + + + + + + 1 + + + + 1.1 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + 2.5 + + + + 2.6 + + + + 2.7 + + + + 2.8 + + + + 2.9 + + + + 2.10 + + + + + 2.11 + + + + 2.12 + + + + 2.13 + + + + + 2.14 + + + + + 2.15 + + + + + 2.16 + + + + + 2.17 + + + + + + 2.19 + + + + + 2.20 + + + + + 2.21 + + + + + 2.22 + + + + + 2.23 + + + + + 2.24 + + + + + 2.25 + + + + + 2.26 + + + + + + + 2.29 + + + + + 2.30 + + + + + 2.31 + + + + + 2.32 + + + + + 2.33 + + + + + + + + 2.38 + + + + + 2.39 + + + + + 2.40 + + + + + 2.46 + + + + + 2.49 + + + + + 2.53 + + + + + Camino + + + + + + + + + + + + 0.5 + + + + 1 + + + + 1.5 + + + + + 2 + + + + + 2.1 + + + + + + + IBM Lotus Symphony + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 3 + + + + 3.0.1 + + + + + + + + Pale Moon + + + + + + + + + 3.6 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 11 + + + + 12 + + + + 15 + + + + 19 + + + + 20 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + + Basilisk + + + + + + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + + Phoenix + + + + + + + + + 0.1 + + + + + + 0.4 + + + + 0.5 + + + Firebird + + + + + 0.6 + + + + 0.7 + + + Firefox + + + + + 0.8 + + + + 0.9 + + + + 0.10 + + + + 1 + + + + 1.5 + + + + 2 + + + + 3 + + + + 3.5 + + + + 3.6 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10+ + + + + 20+ + + + + 30+ + + + + 40+ + + + + 50+ + + + + 60+ + + + + 70+ + + + + 80+ + + + + 90+ + + + + 100+ + + + + 110+ + + + + 120+ + + + + + Internet Explorer + + + + + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 5.5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + v1803 + + + + v1803 + + + + v1903 + + + + v20H2 + + + + + + + + + Pocket Internet Explorer + + + + + + + + + 1 + + + + + 1.1 + + + + 2 + + + + + + 3 + + + + 4 + + + + + + + Internet Explorer Mobile + + + + + + 6 + + + + + + + + 7 + + + + + + 9 + + + + 10 + + + + 11 + + + + + Edge + + + + + + + + 20 + + + + 23 + + + + 25 + + + + + + 28 + + + + 31 + + + + 34 + + + + 37 + + + + 38 + + + + 40 + + + + 41 + + + + 42 + + + + 44 + + + + 79 + + + + 80+ + + + + 90+ + + + + 100+ + + + + 110+ + + + + 120+ + + + + + Internet Explorer for Mac + + + + + + + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 5.2 + + + + + + + + Internet Explorer for UNIX + + + + + + + + + + 4 + + + + 5 + + + + 5 SP1 + + + + + + + + STNC HitchHiker + + + + + + + + + 1 + + + + + Microsoft Mobile Explorer + + + + + + + 2 + + + + + 3 + + + + + + + + + MyIE + + + + + + + + 3.2 + + + + + + + 4.01 + + + + 4.02 + + + + 4.1 + + + + 4.2 + + + + + + + 1.5.6 + + + + 1.5.7 + + + + 1.5.8 + + + + 1.5.9 + + + + 1.6.0 + + + + 1.6.1 + + + + 2.1.5 + + + + 2.5.1 + + + + 2.5.8 + + + + + MyIE2 + Maxthon + + + + + + + + + + 0.3 + + + + + 0.45 + + + + + 0.5 + + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + 0.9 + + + + 1 + + + + 1.5 + + + + 1.6 + + + + 2 + + + + 2.5 + + + + 3 + + + + 3.1 + + + + 3.2 + + + + 3.3 + + + + + 3.4 + + + + + 3.5 + + + + + 4 + + + + + 4.1 + + + + + 4.2 + + + + + 4.3 + + + + + 4.4 + + + + + 4.5 + + + + + 4.9 + + + + + 5 + + + + + 5.1 + + + + + 5.2 + + + + + 5.3 + + + + + 6 + + + + + 7 + + + + + Greenbrowser + + + + + + + + + + + + + 1 + + + + 1.1 + + + + + 1.2 + + + + + + 1.5 + + + + + + + 1.8 + + + + 1.9 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + 3 + + + + 3.1 + + + + 3.2 + + + + 3.3 + + + + 3.4 + + + + 3.5 + + + + 3.6 + + + + + + 3.8 + + + + 3.9 + + + + 4 + + + + 4.1 + + + + + + + 4.3 + + + + 4.4 + + + + 4.5 + + + + + + + 4.9 + + + + + + 5.1 + + + + + + 5.3 + + + + + + + + 5.7 + + + + 5.8 + + + + 5.9 + + + + 6 + + + + 6.1 + + + + 6.2 + + + + 6.3 + + + + 6.4 + + + + 6.5 + + + + 6.6 + + + + 6.7 + + + + 6.8 + + + + 6.9 + + + + + Deepnet Explorer + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + + SlimBrowser + + + + + + + + + + + + 3.45 + + + + 3.53 + + + + 3.71 + + + + 3.86 + + + + 3.91 + + + + 4 + + + + 4.01 + + + + 4.03 + + + + 4.04 + + + + 4.06 + + + + 4.07 + + + + 4.08 + + + + 4.09 + + + + 4.1 + + + + 4.11 + + + + 4.12 + + + + 5 + + + + 5.01 + + + + 6 + + + + 7 + + + + 8 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + + 16 + + + + + 17 + + + + 18 + + + + + AOL Browser / AOL Explorer + + + + + + + + + 1 + + + + 1.5 + + + + + IEOpera / Avant Browser + + + + + + + + + 6.5 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 10.1 + + + + 10.2 + + + + 11 + + + + + 11.5 + + + + 11.6 + + + + 11.7 + + + + 11.8 + + + + 11.9 + + + + 12 + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20 + + + + + Sleipnir + + + + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + 2.5 + + + + 2.6 + + + + 2.7 + + + + 2.8 + + + + 2.9 + + + + 3 + + + + 3.5 + + + + 3.6 + + + + 3.7 + + + + 3.7 + + + + 4 + + + + 4.1 + + + + 4.3 + + + Sleipnir 4 + + + + + 4.4 + + + + 4.5 + + + + 4.6 + + + + 4.7 + + + + 4.8 + + + + + Sleipnir (blink-based) + + + + + + + 5 + + + + 5.1 + + + + 5.2 + + + + 6 + + + + 6.1 + + + + 6.2 + + + + 6.3 + + + + 6.4 + + + + 6.5 + + + + + Lunascape + + + + + + + + 3 + + + + 3 Lite + + + + 4 + + + + 5 + + + + 5.1.5 + + + + 6 + + + + 6.1.1 + + + + 6.2 + + + + 6.3 + + + + 6.4.1 + + + + 6.5 + + + + 6.6 + + + + 6.7 + + + + 6.7.1 + + + + 6.8 + + + + 6.8.1 + + + + 6.8.2 + + + + 6.8.7 + + + + 6.8.8 + + + + 6.8.9 + + + + 6.8.10 + + + + 6.9.1 + + + + 6.9.4 + + + + + 6.9.6 + + + + 6.10 + + + + 6.11 + + + + 6.12 + + + + 6.13 + + + + 6.14 + + + + 6.15 + + + + + + + + Gzilla + + + + + + + + + .0.1 + + + + .1.5 + + + + .1.7 + + + + + .2.1 + + + + .3.6 + + + + .3.8 + + + + + Armadillo + + + + + .3.10 + + + + + Dillo + + + + + + + + + 0 + + + + 0.1 + + + + 0.5 + + + + 0.7 + + + + 0.8 + + + + 0.8.6 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + + 3 + + + + + + 3.0.2 + + + + 3.0.3 + + + + 3.0.4 + + + + + 3.0.5 + + + + + + + IBM WebExplorer + + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + + Opera + + + + + + + + 1 + + + + 2 + + + + 3 + + + + 3.5 + + + + 3.6 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 7.1 + + + + + 7.5 + + + + 8 + + + + 8.5 + + + + 9 + + + + 9.5 + + + + 9.6 + + + + 10 + + + + 10.1 + + + + 10.5 + + + + 10.6 + + + + + 11 + + + + 11.1 + + + + + 11.5 + + + + + 11.6 + + + + + 12 + + + + 12.1 + + + + 12.16 + + + + + 12.17 + + + + + 12.18 + + + + + Opera (blink-based) + + + + + + + + + 15 + + + + + 16 + + + + 17 + + + + + 18 + + + + + 19 + + + + + 20+ + + + + + 30+ + + + + + 40+ + + + + + 50+ + + + + + 60+ + + + + + 70+ + + + + + 80+ + + + + + 90+ + + + + + 100+ + + + + + Opera Mini + + + + + + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 4.1 + + + + 4.2 + + + + 5 + + + + + 6 + + + + 6.1 + + + + + 6.5 + + + + 7 + + + + + 7.5 + + + + + 8 + + + + 9 + + + + 9.1 + + + + 9.2 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20+ + + + + 30+ + + + + 40+ + + + + 50+ + + + + 60+ + + + + 70+ + + + + + Opera Mobile + + + + + + + + + 3.6 + + + + 5.14 + + + + 6 + + + + 6.1 + + + + + + + 8 + + + + 8.5 + + + + 8.6 + + + + + + 10 + + + + 11 + + + + 11.1 + + + + + 11.5 + + + + 12 + + + + + 12.1 + + + Opera Classic + + + + + 12.1.8 + + + + 12.1.9 + + + + + Opera Mobile (blink-based) + + + + + + + + 14 + + + + + 15 + + + + + 16 + + + + + + + 18 + + + + 19 + + + + 20+ + + + + + 30+ + + + + 41+ + + + + 50+ + + + + 60+ + + + + 70+ + + + + + Kazehakase + + + + + + + 0.1 + + + + 0.2 + + + + 0.3 + + + + 0.4 + + + + 0.5 + + + + 0.3 + + + + + Konqueror + + + + + + + 2 + + + + 3 + + + + 3.2 + + + + 3.3 + + + + 3.4 + + + + 3.5 + + + + + 4 + + + + 4.1 + + + + 4.2 + + + + 4.3 + + + + 4.4 + + + + 4.5 + + + + 4.6 + + + + 4.7 + + + + 4.8 + + + + 4.9 + + + + 4.10 + + + + 4.11 + + + + 4.12 + + + + 4.13 + + + + 4.14 + + + + 14.12 + + + + 15.04 + + + + 15.08 + + + + 15.12 + + + + 16.04 + + + + 16.08 + + + + 16.12 + + + + 17.04 + + + + 17.08 + + + + 17.12 + + + + 17.12 + + + + 18.04 + + + + 18.08 + + + + 18.12 + + + + 19.04 + + + + 19.08 + + + + 19.12 + + + + 20.04 + + + + 20.08 + + + + 20.12 + + + + 21.04 + + + + 21.08 + + + + 21.12 + + + + 22.03 + + + + 22.07 + + + + 22.11 + + + + 23.03 + + + + 23.07 + + + + + 24.01 + + + + + Safari + + + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + + 2 + + + + + 3 + + + + 3.1 + + + + 3.2 + + + + 4 + + + + + 5 + + + + 5.1 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + + 9.1 + + + + 10 + + + + 10.1 + + + + 11 + + + + 11.1 + + + + 12 + + + + 12.1 + + + + 13 + + + + 13.1 + + + + 14 + + + + 14.1 + + + + 15 + + + + 15.2 + + + + 15.4 + + + + 15.5 + + + + 15.6 + + + + 16 + + + + 16.1 + + + + 16.2 + + + + 16.3 + + + + 16.4 + + + + 16.5 + + + + 16.6 + + + + 17 + + + + 17.1 + + + + + 17.2 + + + + + tkWWW + + + + + + + 0.1 + + + + + 0.4 + + + 0.5 + + + + + 0.7 + + + 0.9 + + + 0.10 + + + 0.11 + + + 0.12 + + + 0.13 + + + + + OmniWeb + + + + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + + 4.1 + + + + + 4.2 + + + + + 4.5 + + + + 5 + + + + 5.5 + + + + 5.10 + + + + 5.11 + + + + + + + + Vivaldi + + + + + + + BETA + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + 5.1 + + + + 5.2 + + + + 5.3 + + + + 5.4 + + + + 5.5 + + + + 5.6 + + + + 5.7 + + + + + 6 + + + + 6.1 + + + + 6.2 + + + + + + 6.4 + + + + 6.5 + + + + + WebPositive + + + + + + + r488 + + + + r515 + + + + r573 + + + + r577 + + + + r580 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + + Shiira + + + + + + + 0.9 + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + + Midori + + + + + + + + + + + + 0.1 + + + + 0.2 + + + + 0.3 + + + + 0.4 + + + + 0.5 + + + + 0.5.2 + + + + 0.5.4 + + + + 0.5.5 + + + + 0.5.6 + + + + 0.5.7 + + + + 0.5.8 + + + + 0.5.9 + + + + 0.5.10 + + + + 0.5.11 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + + + + 11 + + + + 11.1 + + + + 11.2 + + + + + Chrome + + + + + + + 0.2 + + + + + + 1 + + + + + 2 + + + + 3 + + + + + 4 + + + + + 4.1 + + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10+ + + + + 20+ + + + + 30+ + + + + 40+ + + + + 50+ + + + + 60+ + + + + 70+ + + + + 80+ + + + + 90+ + + + + 100+ + + + + 110+ + + + + + Dooble + + + + + + + 0.01 + + + + 0.05 + + + + 0.07 + + + + 0.08 + + + + 0.09 + + + + 1 + + + + + + 1.11 + + + + + + + + 1.14 + + + + 1.15 + + + + + + 1.17 + + + + 1.18 + + + + + + 1.20 + + + + 1.21 + + + + + + 1.23 + + + + 1.24 + + + + 1.25 + + + + 1.26 + + + + + + + + 1.29 + + + + + + 1.31 + + + + 1.35 + + + + + + 1.37 + + + + + + 1.39 + + + + + + 1.41 + + + + + + 1.43 + + + + 1.44 + + + + 1.45 + + + + 1.46 + + + + 1.47 + + + + 1.48 + + + + 1.49 + + + + 1.50 + + + + 1.51 + + + + 1.52 + + + + 1.53 + + + + 1.54 + + + + 1.55 + + + + 1.56 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + + Uzbl + + + + + + + + r1 + + + + r2 + + + + + + r4 + + + + + + r6 + + + + r7 + + + + + + + + r10 + + + + r11 + + + + r12 + + + + r13 + + + + r14 + + + + r15 + + + + r16 + + + + r17 + + + + r18 + + + + + + r20 + + + + r21 + + + + + + r23 + + + + r24 + + + + r25 + + + + r26 + + + + 0.9.0 + + + + + surf + + + + + + + + + 0.1 + + + + + + + + + + 0.3 + + + + 0.4 + + + + + + 0.5 + + + + 0.6 + + + + 0.7 + + + + + + 2 + + + + 2.1 + + + + + iCab + + + + + + + 1 + + + + 2 + + + + 2.5 + + + + 3 + + + + + 4 + + + + 4.1 + + + + 4.2 + + + + 4.5 + + + + 4.6 + + + 4.7 + + + + 4.8 + + + + + 5 + + + + 5.1 + + + + 5.2 + + + + + + 5.5 + + + + 5.6 + + + + 5.7 + + + + 5.8 + + + + 5.9 + + + + 6 + + + + + 6.1 + + + + 6.2 + + + + + iCab Mobile + + + + + + + + + + 1 + + + + 1.5 + + + + 1.6 + + + + 1.7 + + + + 2 + + + + 2.1 + + + + 2.2 + + + + + 3 + + + + + 3.6 + + + + 4 + + + + 4.2 + + + + 4.5 + + + + 4.6 + + + + 4.8 + + + + 5 + + + + 5.1 + + + + + + 5.3 + + + + + + 5.5 + + + + + + 5.7 + + + + 5.8 + + + + 5.9 + + + + 6 + + + + 6.5 + + + + 6.6 + + + + + 6.8 + + + + 7 + + + + 7.1 + + + + 7.2 + + + + 8 + + + + 8.1 + + + + 8.2 + + + + 8.3 + + + + + 8.5 + + + + 8.6 + + + + 8.7 + + + + 8.8 + + + + 8.9 + + + + 8.10 + + + + 8.11 + + + + 9 + + + + 9.1 + + + + 9.2 + + + + 9.3 + + + + 9.4 + + + + 9.5 + + + + 9.6 + + + + 9.7 + + + + 9.8 + + + + 9.9 + + + + 9.10 + + + + 9.11 + + + + 9.12 + + + + 9.13 + + + + 9.14 + + + + 9.15 + + + + 9.16 + + + + 9.17 + + + + 10 + + + + 10.1 + + + + 10.2 + + + + 10.3 + + + + 10.4 + + + + 10.5 + + + + 10.6 + + + + 10.7 + + + + + Iris Browser + + + + + + + 1.0.9 + + + + + + + + 1.1.5 + + + + + + 1.1.7 + + + + 1.1.8 + + + + 1.1.9 + + + + + Arora + + + + + + + + + + + + + + + 0.2 + + + + 0.3 + + + + 0.4 + + + + 0.5 + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + 0.9 + + + + 0.10 + + + + 0.11 + + + zBrowser + + + + + 1 + + + + + + 1.2 + + + + 1.3 + + + + 2 + + + + 2.1 + + + + Zeromus Browser + + + + + 4.3 + + + + 4.3 + + + + BlueLightCat + + + + + 0.1 + + + + 0.2 + + + + + + + + + + 0.6 + + + + Endorphin Browser + + + + + 0.12 + + + + + rekonq + + + + + + + + + 0.1 + + + + 0.2 + + + + 0.3 + + + + 0.4 + + + + 0.5 + + + + 0.6 + + + + 0.7 + + + + 0.8 + + + + 0.9 + + + + 1 + + + + 1.1 + + + + + 1.3 + + + + + + 2 + + + + 2.1 + + + + 2.2 + + + + 2.3 + + + + 2.4 + + + + + Steel + + + + + + + + + .0.9 + + + + + + + + .0.12 + + + + .0.19 + + + + .1.1 + + + + .1.6 + + + + .1.9 + + + + + + + + QupZilla + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.6 + + + + 1.8 + + + + + 2 + + + + + 2.1 + + + + + 2.2 + + + + + 2.2.6 + + + + + Falkon + + + + + + + + + 3 + + + + 3.1 + + + + 3.2 + + + + 23.04 + + + + 23.08 + + + + + xxxterm + + + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + 1.6 + + + + 1.7 + + + + 1.8 + + + + 1.9 + + + + 1.10 + + + + 1.11 + + + + 1.11 + + + + xombrero + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 1.3 + + + + 1.4 + + + + 1.5 + + + + 1.6 + + + + 1.6.4 + + + + + NetSurf + + + + + + + 1 + + + + 1.1 + + + + 1.2 + + + + 2 + + + + 2.5 + + + + 2.6 + + + + 2.7 + + + + + 2.8 + + + + + 2.9 + + + + + 3 + + + + + 3.1 + + + + + 3.2 + + + + + 3.3 + + + + + 3.4 + + + + + 3.5 + + + + + 3.6 + + + + + 3.7 + + + + + 3.8 + + + + + 3.9 + + + + + 3.10 + + + + + 3.11 + + + + + + + + + + + + + Based on Trident / EdgeHTML layout engines + + + + WebKit / Blink + + + + Gecko + + + + + + + + + + + + + + + + + + + + + Based on Gecko / Goanna layout engines + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Based on KHTML / WebKit / Blink layout engines + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Based on Presto layout engine + + + + + + + + + + + + + Based on Trident - Gecko - WebKit / Blink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/vimeo-com-234042855 b/sac/pages/vimeo-com-234042855 new file mode 100644 index 0000000..693ced8 --- /dev/null +++ b/sac/pages/vimeo-com-234042855 @@ -0,0 +1,2442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Les livres parlés 2017 : 04 Marc Watthieu on Vimeo + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + +
    + +
    + +
    + +
    + + + +
    + +
    + +
    + Watch in our app
    + + + Open in app + + +
    + +
    + + + + + + + + +
    + +
    +
    +
    +
    + +
    + + +
    +
    +
    + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/vimeo-com-838205530 b/sac/pages/vimeo-com-838205530 new file mode 100644 index 0000000..37b78d9 --- /dev/null +++ b/sac/pages/vimeo-com-838205530 @@ -0,0 +1,2442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Livres Parlés 2023 : Harrisson, Grauzone on Vimeo + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + +
    + +
    + +
    + +
    + + + +
    + +
    + +
    + Watch in our app
    + + + Open in app + + +
    + +
    + + + + + + + + +
    + +
    +
    +
    +
    + +
    + + +
    +
    +
    + + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sac/pages/www-alanwood-net-unicode-arabic-html b/sac/pages/www-alanwood-net-unicode-arabic-html new file mode 100644 index 0000000..d473c2b --- /dev/null +++ b/sac/pages/www-alanwood-net-unicode-arabic-html @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Arabic – Test for Unicode support in Web browsers + + + + +

    Alan Wood’s Unicode Resources

    + +

    Test for Unicode support in Web browsers

    + +

    Arabic

    + +

    U+0600 – U+06FF   (1536–1791)

    + + + + +

    The Arabic script is cursive, caseless, and written right-to-left. It is used for the following languages: Arabic, Farsi (the official language of Iran), Jawi, Kurdish, Pashto (the official language of Afghanistan), Sindhi and Urdu (the official language of Pakistan); it can also be used for Panjabi. Additional Arabic characters can be found in Arabic Extended-A, Arabic Supplement, Arabic Presentation Forms-A and Arabic Presentation Forms-B. You can find some real (non-Unicode) Arabic text to try at Arabic2000.Com and the Egyptian newspaper Al-Ahram. You can see some Unicode Arabic in the FAQ for the Ayna Arabic search engine and the What is Unicode? in Arabic page. You can see some Unicode Farsi on the Trigeminal Software, Inc. (Farsi) page, the What is Unicode? in Persian page, the Sonnets of Hafez page and the BBC World Service page. You can see some Unicode Urdu on the Ghazal Web page.

    + +

    Users of Internet Explorer 5 for Windows can choose to install Arabic Language Support, which allows you to view Arabic Web pages and adds Arabic support to some other applications. The latest versions of Microsoft’s core fonts for Windows (Arial, Courier New and Times New Roman) include Arabic characters.

    + +

    Users of Macintosh computers running Mac OS 9 can install an Apple Language Kit that provides Arabic or Persian support in various applications.

    + +

    Mac OS X incorporates support for Arabic from version 10.2 onwards. A Unicode Farsi keyboard layout for Mac OS X 10.2 can be downloaded from http://quinon.com/files/keylayouts/; it has been produced by Yusuke Kinoshita.

    + +

    Arabic Web pages with UTF-8, Windows, ASMO 708 and DOS encodings are supported by Internet Explorer 5 (or higher) with Windows 95 (or higher). Arabic Web pages with UTF-8, ISO and Windows encodings are supported by the Opera Web browser version 7.2 (or higher). Arabic Web pages with UTF-8, ISO, Windows and MacArabic encodings are supported by the Mozilla Web browser. Arabic Web pages with UTF-8 and MacArabic encodings are supported by the iCab Web browser for Macintosh computers. Macintosh users with Netscape 4.5 or higher can purchase WinArabic to allow them to display Arabic Web pages with UTF-8 or Windows encodings.

    + +

    The characters that appear in the “Character” columns of the following table depend on the browser that you are using, the fonts installed on your computer, and the browser options you have chosen that determine the fonts used to display particular character sets, encodings or languages.

    + + +

    You can find some or all of the characters in this range in the Windows Unicode fonts Aleem Urdu Unicode, Andalus, Arabic Transparent, Arabic Typesetting, Arial, Arial Unicode MS, Art (Bold Italic, Italic Outline), Cardo (numerals only), Chrysanthi Unicode, CN-Arial, CN-Times, Code2000, Courier New, DejaVu Sans, DejaVu Sans Condensed, DejaVu Sans Mono, Diwani (Bent, Letter, Outline Shaded, Simple Outline, Simple Outline2, Simple Striped), East Syriac Adiabene (few needed for Syriac), East Syriac Ctesiphon (few needed for Syriac), Estrangelo Antioch (few needed for Syriac), Estrangelo Edessa (few needed for Syriac), Estrangelo Midyat (few needed for Syriac), Estrangelo Nisibin (few needed for Syriac), Estrangelo Nisibin Outline (few needed for Syriac), Estrangelo Quenneshrin (few needed for Syriac), Estrangelo Talada (few needed for Syriac), Estrangelo TurAbdin (few needed for Syriac), Farsi Simple (Bold, Outline), Fixedsys Excelsior, Free Idg Serif, Free Serif, GlobalScience, Goher Urdu Unicode, Kurdish AllAlphabets, Lateef, Led Italic Font, Lucida Bright, Lucida Sans, Lucida Sans Typewriter, MD King KhammuRabi, Microsoft Sans Serif, Microsoft Uighur, MPH 2B Damase, Nafees Naskh, Nafees Nastaleeq, Nafees Pakistani Naskh, Nafees Riqa, Nafees Web Naskh, Nastaleeq Like, Nesf2, NSimSun-18030, Old Antic (Bold, Decorative, Outline, Outline Shaded), PakType Naqsh, PakType Tehreer, Pashto Kror Asiatype, _PDMS_Saleem_QuranFont, PT (Bold Arch, Bold Broken, Bold Dusky, Bold Heading, Bold Mirror, Bold Stars, Separated Balloon, Simple Bold Ruled), Roman Unicode (few), Samda, Scheherazade, Segoe UI, Serto Batnan (few needed for Syriac), Serto Jerusalem (few needed for Syriac), Serto Jerusalem Outline (few needed for Syriac), Serto Kharput (few needed for Syriac), Serto Malankara (few needed for Syriac), Serto Mardin (few needed for Syriac), Serto Urhoy (few needed for Syriac), Simple (Bold Jut Out, Indust Outline, Indust Shaded, Outline Pat), Simplified Arabic, Simplified Arabic Fixed, SimSun-18030, Sun-ExtA, Symbola, Tahoma, Times New Roman, TITUS Cyberbit Basic, Traditional Arabic, Unikurd Tishk, Unikurd Web, Urdu Naskh Asiatype, Urdu Naskh Unicode, Urdu Nastaliq Unicode, Zawgyi-One and zkurd ali.M; in the Macintosh OS 9 Unicode fonts AB AlBayan, AB Baghdad, AB Geeza, AB Kufi, AB Nadeem, DecoType Naskh, PS Amir, PS Asfahan, PS Kamran, PS Mashad, PS NadeemFarsi and Tahoma; in the Macintosh OS X Unicode fonts Al Bayan, Arial, Baghdad, DecoType Naskh, Geeza Pro, Geezah, KufiStandardGK, Nadeem, STFangsong, STHeiti, STKaiti, STSong and Times New Roman; and in the Unix Unicode fonts Arabic Newspaper and ClearlyU Arabic.

    + +

    To see exactly which characters are included in a particular font, you can use a utility such as Andrew West’s BabelMap, or Apple’s TrueEdit.

    + +

    If you are not familiar with the characters, you can check the characters displayed here with the graphical display at http://www.unicode.org/charts/PDF/U0600.pdf.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Character
    (decimal)
    DecimalCharacter
    (hex)
    HexName
    ؀1536؀0600ARABIC NUMBER SIGN
    ؁1537؁0601ARABIC SIGN SANAH
    ؂1538؂0602ARABIC FOOTNOTE MARKER
    ؃1539؃0603ARABIC SIGN SAFHA
    ؄1540؄0604ARABIC SIGN SAMVAT
    ؅1541؅0605ARABIC NUMBER MARK ABOVE
    ؆1542؆0606ARABIC-INDIC CUBE ROOT
    ؇1543؇0607ARABIC-INDIC FOURTH ROOT
    ؈1544؈0608ARABIC RAY
    ؉1545؉0609ARABIC-INDIC PER MILLE SIGN
    ؊1546؊060AARABIC-INDIC PER TEN THOUSAND SIGN
    ؋1547؋060BAFGHANI SIGN
    ،1548،060CARABIC COMMA
    ؍1549؍060DARABIC DATE SEPARATOR
    ؎1550؎060EARABIC POETIC VERSE SIGN
    ؏1551؏060FARABIC SIGN MISRA
    حؐ1552حؐ0610ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM (combined with hah (ح))
    حؑ1553حؑ0611ARABIC SIGN ALAYHE ASSALLAM (combined with hah (ح))
    حؒ1554حؒ0612ARABIC SIGN RAHMATULLAH ALAYHE (combined with hah (ح))
    حؓ1555حؓ0613ARABIC SIGN RADI ALLAHOU ANHU (combined with hah (ح))
    حؔ1556حؔ0614ARABIC SIGN TAKHALLUS (combined with hah (ح))
    حؕ1557حؕ0615ARABIC SMALL HIGH TAH (combined with hah (ح))
    حؖ1558حؖ0616ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH (combined with hah (ح))
    حؗ1559حؗ0617ARABIC SMALL HIGH ZAIN (combined with hah (ح))
    حؘ1560حؘ0618ARABIC SMALL FATHA (combined with hah (ح))
    حؙ1561حؙ0619ARABIC SMALL DAMMA (combined with hah (ح))
    حؚ1562حؚ061AARABIC SMALL KASRA (combined with hah (ح))
    ؛1563؛061BARABIC SEMICOLON
    ؜1564؜061CARABIC LETTER MARK
    ؞1566؞061EARABIC TRIPLE DOT PUNCTUATION MARK
    ؟1567؟061FARABIC QUESTION MARK
    ؠ1568ؠ0620ARABIC LETTER KASHMIRI YEH
    ء1569ء0621ARABIC LETTER HAMZA
    آ1570آ0622ARABIC LETTER ALEF WITH MADDA ABOVE
    أ1571أ0623ARABIC LETTER ALEF WITH HAMZA ABOVE
    ؤ1572ؤ0624ARABIC LETTER WAW WITH HAMZA ABOVE
    إ1573إ0625ARABIC LETTER ALEF WITH HAMZA BELOW
    ئ1574ئ0626ARABIC LETTER YEH WITH HAMZA ABOVE
    ا1575ا0627ARABIC LETTER ALEF
    ب1576ب0628ARABIC LETTER BEH
    ة1577ة0629ARABIC LETTER TEH MARBUTA
    ت1578ت062AARABIC LETTER TEH
    ث1579ث062BARABIC LETTER THEH
    ج1580ج062CARABIC LETTER JEEM
    ح1581ح062DARABIC LETTER HAH
    خ1582خ062EARABIC LETTER KHAH
    د1583د062FARABIC LETTER DAL
    ذ1584ذ0630ARABIC LETTER THAL
    ر1585ر0631ARABIC LETTER REH
    ز1586ز0632ARABIC LETTER ZAIN
    س1587س0633ARABIC LETTER SEEN
    ش1588ش0634ARABIC LETTER SHEEN
    ص1589ص0635ARABIC LETTER SAD
    ض1590ض0636ARABIC LETTER DAD
    ط1591ط0637ARABIC LETTER TAH
    ظ1592ظ0638ARABIC LETTER ZAH
    ع1593ع0639ARABIC LETTER AIN
    غ1594غ063AARABIC LETTER GHAIN
    ػ1595ػ063BARABIC LETTER KEHEH WITH TWO DOTS ABOVE
    ؼ1596ؼ063CARABIC LETTER KEHEH WITH THREE DOTS BELOW
    ؽ1597ؽ063DARABIC LETTER FARSI YEH WITH INVERTED V
    ؾ1598ؾ063EARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
    ؿ1599ؿ063FARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
    ـ1600ـ0640ARABIC TATWEEL
    ف1601ف0641ARABIC LETTER FEH
    ق1602ق0642ARABIC LETTER QAF
    ك1603ك0643ARABIC LETTER KAF
    ل1604ل0644ARABIC LETTER LAM
    م1605م0645ARABIC LETTER MEEM
    ن1606ن0646ARABIC LETTER NOON
    ه1607ه0647ARABIC LETTER HEH
    و1608و0648ARABIC LETTER WAW
    ى1609ى0649ARABIC LETTER ALEF MAKSURA
    ي1610ي064AARABIC LETTER YEH
    حً1611حً064BARABIC FATHATAN (combined with hah (ح))
    حٌ1612حٌ064CARABIC DAMMATAN (combined with hah (ح))
    حٍ1613حٍ064DARABIC KASRATAN (combined with hah (ح))
    حَ1614حَ064EARABIC FATHA (combined with hah (ح))
    حُ1615حُ064FARABIC DAMMA (combined with hah (ح))
    حِ1616حِ0650ARABIC KASRA (combined with hah (ح))
    حّ1617حّ0651ARABIC SHADDA (combined with hah (ح))
    حْ1618حْ0652ARABIC SUKUN (combined with hah (ح))
    حٓ1619حٓ0653ARABIC MADDAH ABOVE (combined with hah (ح))
    حٔ1620حٔ0654ARABIC HAMZA ABOVE (combined with hah (ح))
    حٕ1621حٕ0655ARABIC HAMZA BELOW (combined with hah (ح))
    حٖ1622حٖ0656ARABIC SUBSCRIPT ALEF (combined with hah (ح))
    حٗ1623حٗ0657ARABIC INVERTED DAMMA (combined with hah (ح))
    ح٘1624ح٘0658ARABIC MARK NOON GHUNNA (combined with hah (ح))
    حٙ1625حٙ0659ARABIC ZWARAKAY (combined with hah (ح))
    حٚ1626حٚ065AARABIC VOWEL SIGN SMALL V ABOVE (combined with hah (ح))
    حٛ1627حٛ065BARABIC VOWEL SIGN INVERTED SMALL V ABOVE (combined with hah (ح))
    حٜ1628حٜ065CARABIC VOWEL SIGN DOT BELOW (combined with hah (ح))
    حٝ1629حٝ065DARABIC REVERSED DAMMA (combined with hah (ح))
    حٞ1630حٞ065EARABIC FATHA WITH TWO DOTS (combined with hah (ح))
    حٟ1631حٟ065FARABIC WAVY HAMZA BELOW (combined with hah (ح))
    ٠1632٠0660ARABIC-INDIC DIGIT ZERO
    ١1633١0661ARABIC-INDIC DIGIT ONE
    ٢1634٢0662ARABIC-INDIC DIGIT TWO
    ٣1635٣0663ARABIC-INDIC DIGIT THREE
    ٤1636٤0664ARABIC-INDIC DIGIT FOUR
    ٥1637٥0665ARABIC-INDIC DIGIT FIVE
    ٦1638٦0666ARABIC-INDIC DIGIT SIX
    ٧1639٧0667ARABIC-INDIC DIGIT SEVEN
    ٨1640٨0668ARABIC-INDIC DIGIT EIGHT
    ٩1641٩0669ARABIC-INDIC DIGIT NINE
    ٪1642٪066AARABIC PERCENT SIGN
    ٫1643٫066BARABIC DECIMAL SEPARATOR
    ٬1644٬066CARABIC THOUSANDS SEPARATOR
    ٭1645٭066DARABIC FIVE POINTED STAR
    ٮ1646ٮ066EARABIC LETTER DOTLESS BEH
    ٯ1647ٯ066FARABIC LETTER DOTLESS QAF
    حٰ1648حٰ0670ARABIC LETTER SUPERSCRIPT ALEF (combined with hah (ح))
    ٱ1649ٱ0671ARABIC LETTER ALEF WASLA
    ٲ1650ٲ0672ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
    ٳ1651ٳ0673ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
    ٴ1652ٴ0674ARABIC LETTER HIGH HAMZA
    ٵ1653ٵ0675ARABIC LETTER HIGH HAMZA ALEF
    ٶ1654ٶ0676ARABIC LETTER HIGH HAMZA WAW
    ٷ1655ٷ0677ARABIC LETTER U WITH HAMZA ABOVE
    ٸ1656ٸ0678ARABIC LETTER HIGH HAMZA YEH
    ٹ1657ٹ0679ARABIC LETTER TTEH
    ٺ1658ٺ067AARABIC LETTER TTEHEH
    ٻ1659ٻ067BARABIC LETTER BEEH
    ټ1660ټ067CARABIC LETTER TEH WITH RING
    ٽ1661ٽ067DARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
    پ1662پ067EARABIC LETTER PEH
    ٿ1663ٿ067FARABIC LETTER TEHEH
    ڀ1664ڀ0680ARABIC LETTER BEHEH
    ځ1665ځ0681ARABIC LETTER HAH WITH HAMZA ABOVE
    ڂ1666ڂ0682ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
    ڃ1667ڃ0683ARABIC LETTER NYEH
    ڄ1668ڄ0684ARABIC LETTER DYEH
    څ1669څ0685ARABIC LETTER HAH WITH THREE DOTS ABOVE
    چ1670چ0686ARABIC LETTER TCHEH
    ڇ1671ڇ0687ARABIC LETTER TCHEHEH
    ڈ1672ڈ0688ARABIC LETTER DDAL
    ډ1673ډ0689ARABIC LETTER DAL WITH RING
    ڊ1674ڊ068AARABIC LETTER DAL WITH DOT BELOW
    ڋ1675ڋ068BARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
    ڌ1676ڌ068CARABIC LETTER DAHAL
    ڍ1677ڍ068DARABIC LETTER DDAHAL
    ڎ1678ڎ068EARABIC LETTER DUL
    ڏ1679ڏ068FARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
    ڐ1680ڐ0690ARABIC LETTER DAL WITH FOUR DOTS ABOVE
    ڑ1681ڑ0691ARABIC LETTER RREH
    ڒ1682ڒ0692ARABIC LETTER REH WITH SMALL V
    ړ1683ړ0693ARABIC LETTER REH WITH RING
    ڔ1684ڔ0694ARABIC LETTER REH WITH DOT BELOW
    ڕ1685ڕ0695ARABIC LETTER REH WITH SMALL V BELOW
    ږ1686ږ0696ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
    ڗ1687ڗ0697ARABIC LETTER REH WITH TWO DOTS ABOVE
    ژ1688ژ0698ARABIC LETTER JEH
    ڙ1689ڙ0699ARABIC LETTER REH WITH FOUR DOTS ABOVE
    ښ1690ښ069AARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
    ڛ1691ڛ069BARABIC LETTER SEEN WITH THREE DOTS BELOW
    ڜ1692ڜ069CARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
    ڝ1693ڝ069DARABIC LETTER SAD WITH TWO DOTS BELOW
    ڞ1694ڞ069EARABIC LETTER SAD WITH THREE DOTS ABOVE
    ڟ1695ڟ069FARABIC LETTER TAH WITH THREE DOTS ABOVE
    ڠ1696ڠ06A0ARABIC LETTER AIN WITH THREE DOTS ABOVE
    ڡ1697ڡ06A1ARABIC LETTER DOTLESS FEH
    ڢ1698ڢ06A2ARABIC LETTER FEH WITH DOT MOVED BELOW
    ڣ1699ڣ06A3ARABIC LETTER FEH WITH DOT BELOW
    ڤ1700ڤ06A4ARABIC LETTER VEH
    ڥ1701ڥ06A5ARABIC LETTER FEH WITH THREE DOTS BELOW
    ڦ1702ڦ06A6ARABIC LETTER PEHEH
    ڧ1703ڧ06A7ARABIC LETTER QAF WITH DOT ABOVE
    ڨ1704ڨ06A8ARABIC LETTER QAF WITH THREE DOTS ABOVE
    ک1705ک06A9ARABIC LETTER KEHEH
    ڪ1706ڪ06AAARABIC LETTER SWASH KAF
    ګ1707ګ06ABARABIC LETTER KAF WITH RING
    ڬ1708ڬ06ACARABIC LETTER KAF WITH DOT ABOVE
    ڭ1709ڭ06ADARABIC LETTER NG
    ڮ1710ڮ06AEARABIC LETTER KAF WITH THREE DOTS BELOW
    گ1711گ06AFARABIC LETTER GAF
    ڰ1712ڰ06B0ARABIC LETTER GAF WITH RING
    ڱ1713ڱ06B1ARABIC LETTER NGOEH
    ڲ1714ڲ06B2ARABIC LETTER GAF WITH TWO DOTS BELOW
    ڳ1715ڳ06B3ARABIC LETTER GUEH
    ڴ1716ڴ06B4ARABIC LETTER GAF WITH THREE DOTS ABOVE
    ڵ1717ڵ06B5ARABIC LETTER LAM WITH SMALL V
    ڶ1718ڶ06B6ARABIC LETTER LAM WITH DOT ABOVE
    ڷ1719ڷ06B7ARABIC LETTER LAM WITH THREE DOTS ABOVE
    ڸ1720ڸ06B8ARABIC LETTER LAM WITH THREE DOTS BELOW
    ڹ1721ڹ06B9ARABIC LETTER NOON WITH DOT BELOW
    ں1722ں06BAARABIC LETTER NOON GHUNNA
    ڻ1723ڻ06BBARABIC LETTER RNOON
    ڼ1724ڼ06BCARABIC LETTER NOON WITH RING
    ڽ1725ڽ06BDARABIC LETTER NOON WITH THREE DOTS ABOVE
    ھ1726ھ06BEARABIC LETTER HEH DOACHASHMEE
    ڿ1727ڿ06BFARABIC LETTER TCHEH WITH DOT ABOVE
    ۀ1728ۀ06C0ARABIC LETTER HEH WITH YEH ABOVE
    ہ1729ہ06C1ARABIC LETTER HEH GOAL
    ۂ1730ۂ06C2ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
    ۃ1731ۃ06C3ARABIC LETTER TEH MARBUTA GOAL
    ۄ1732ۄ06C4ARABIC LETTER WAW WITH RING
    ۅ1733ۅ06C5ARABIC LETTER KIRGHIZ OE
    ۆ1734ۆ06C6ARABIC LETTER OE
    ۇ1735ۇ06C7ARABIC LETTER U
    ۈ1736ۈ06C8ARABIC LETTER YU
    ۉ1737ۉ06C9ARABIC LETTER KIRGHIZ YU
    ۊ1738ۊ06CAARABIC LETTER WAW WITH TWO DOTS ABOVE
    ۋ1739ۋ06CBARABIC LETTER VE
    ی1740ی06CCARABIC LETTER FARSI YEH
    ۍ1741ۍ06CDARABIC LETTER YEH WITH TAIL
    ێ1742ێ06CEARABIC LETTER YEH WITH SMALL V
    ۏ1743ۏ06CFARABIC LETTER WAW WITH DOT ABOVE
    ې1744ې06D0ARABIC LETTER E
    ۑ1745ۑ06D1ARABIC LETTER YEH WITH THREE DOTS BELOW
    ے1746ے06D2ARABIC LETTER YEH BARREE
    ۓ1747ۓ06D3ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
    ۔1748۔06D4ARABIC FULL STOP
    ە1749ە06D5ARABIC LETTER AE
    حۖ1750حۖ06D6ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA (combined with hah (ح))
    حۗ1751حۗ06D7ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA (combined with hah (ح))
    حۘ1752حۘ06D8ARABIC SMALL HIGH MEEM INITIAL FORM (combined with hah (ح))
    حۙ1753حۙ06D9ARABIC SMALL HIGH LAM ALEF (combined with hah (ح))
    حۚ1754حۚ06DAARABIC SMALL HIGH JEEM (combined with hah (ح))
    حۛ1755حۛ06DBARABIC SMALL HIGH THREE DOTS (combined with hah (ح))
    حۜ1756حۜ06DCARABIC SMALL HIGH SEEN (combined with hah (ح))
    ۝1757۝06DDARABIC END OF AYAH
    ۞1758۞06DEARABIC START OF RUB EL HIZB
    ح۟1759ح۟06DFARABIC SMALL HIGH ROUNDED ZERO (combined with hah (ح))
    ح۠1760ح۠06E0ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO (combined with hah (ح))
    حۡ1761حۡ06E1ARABIC SMALL HIGH DOTLESS HEAD OF KHAH (combined with hah (ح))
    حۢ1762حۢ06E2ARABIC SMALL HIGH MEEM ISOLATED FORM (combined with hah (ح))
    حۣ1763حۣ06E3ARABIC SMALL LOW SEEN (combined with hah (ح))
    حۤ1764حۤ06E4ARABIC SMALL HIGH MADDA (combined with hah (ح))
    ۥ1765ۥ06E5ARABIC SMALL WAW
    ۦ1766ۦ06E6ARABIC SMALL YEH
    حۧ1767حۧ06E7ARABIC SMALL HIGH YEH (combined with hah (ح))
    حۨ1768حۨ06E8ARABIC SMALL HIGH NOON (combined with hah (ح))
    ۩1769۩06E9ARABIC PLACE OF SAJDAH
    ح۪1770ح۪06EAARABIC EMPTY CENTRE LOW STOP (combined with hah (ح))
    ح۫1771ح۫06EBARABIC EMPTY CENTRE HIGH STOP (combined with hah (ح))
    ح۬1772ح۬06ECARABIC ROUNDED HIGH STOP WITH FILLED CENTRE (combined with hah (ح))
    حۭ1773حۭ06EDARABIC SMALL LOW MEEM (combined with hah (ح))
    ۮ1774ۮ06EEARABIC LETTER DAL WITH INVERTED V
    ۯ1775ۯ06EFARABIC LETTER REH WITH INVERTED V
    ۰1776۰06F0EXTENDED ARABIC-INDIC DIGIT ZERO
    ۱1777۱06F1EXTENDED ARABIC-INDIC DIGIT ONE
    ۲1778۲06F2EXTENDED ARABIC-INDIC DIGIT TWO
    ۳1779۳06F3EXTENDED ARABIC-INDIC DIGIT THREE
    ۴1780۴06F4EXTENDED ARABIC-INDIC DIGIT FOUR
    ۵1781۵06F5EXTENDED ARABIC-INDIC DIGIT FIVE
    ۶1782۶06F6EXTENDED ARABIC-INDIC DIGIT SIX
    ۷1783۷06F7EXTENDED ARABIC-INDIC DIGIT SEVEN
    ۸1784۸06F8EXTENDED ARABIC-INDIC DIGIT EIGHT
    ۹1785۹06F9EXTENDED ARABIC-INDIC DIGIT NINE
    ۺ1786ۺ06FAARABIC LETTER SHEEN WITH DOT BELOW
    ۻ1787ۻ06FBARABIC LETTER DAD WITH DOT BELOW
    ۼ1788ۼ06FCARABIC LETTER GHAIN WITH DOT BELOW
    ۽1789۽06FDARABIC SIGN SINDHI AMPERSAND
    ۾1790۾06FEARABIC SIGN SINDHI POSTPOSITION MEN
    ۿ1791ۿ06FFARABIC LETTER HEH WITH INVERTED V
    + +
    + + + +

    Copyright © 2002–2014 Alan Wood

    + +

    The hexadecimal numbers and the character names in the above table are taken from the Unicode 7.0.0 Character Database, Copyright © 1991–2014 Unicode, Inc., as contained in UnicodeData.txt on the Unicode Web site (http://www.unicode.org/Public/UNIDATA/) in October 2014.

    + +

    Created 3rd February 1999 – Last updated 25th October 2014

    + + + +

    HTML 4.01

    + + + diff --git a/sac/pages/www-alanwood-net-unicode-fonts-html b/sac/pages/www-alanwood-net-unicode-fonts-html new file mode 100644 index 0000000..78bc98f --- /dev/null +++ b/sac/pages/www-alanwood-net-unicode-fonts-html @@ -0,0 +1,733 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +Large, multi-script Unicode fonts for Windows computers + + + + +
    +
    + +

    Alan Wood’s Unicode Resources

    + +

    Large, multi-script Unicode fonts for Windows computers

    + +
    + + + + +
    + + + + +
    + +
    + + +

    The number of Windows TrueType and OpenType fonts that support Unicode is slowly increasing. One of the first was Lucida Sans Unicode from Bigelow & Holmes, supplied with a pre-release SDK for Microsoft Windows NT 3.1 in March 1993. Bitstream also had an experimental Unicode font, CyberBit, freely available from Netscape for several years. The core fonts (Arial, Times New Roman and Courier New) for Windows platforms were converted to Unicode even before Microsoft changed to the 16-bit WGL4 character set (652 characters) in place of the 8-bit ANSI character set (256 characters), and the numbers of characters in these fonts has continued to increase. Many of Microsoft’s operating systems and applications come with additional Unicode fonts, and Office 2000 onwards includes Arial Unicode MS, which includes all of the characters in version 2.0 of the Unicode standard. There is also a large shareware Unicode fonts, Code2000.

    + +

    You need Unicode fonts to display many of the characters for which there are HTML 4.0 character entity references, and to display the Unicode test pages.

    + +

    With the latest core fonts for Windows, you can add a suitable keyboard layout (from the Language tab in the Keyboard section of Control Panel), and then select a layout from the icon tray in the taskbar and start typing in a different language – without needing to change fonts:

    + +

    Selecting a keyboard layout in Windows 95

    + +

    You can find out if your Windows fonts support Unicode by using the extensions that Microsoft supplies for the Properties tab that is available when a TrueType (.TTF) font file is right-clicked in Windows Explorer. Amongst other things, these extensions provide statistics on the number of glyphs and on the Ranges and Code Pages that are supported. The extensions are available from http://www.microsoft.com/typography/property/property.htm.

    + +

    Checking the Ranges and the code pages supported by a TrueType font

    + +

    The Fonts and products page on Microsoft’s Web site provides access to information about many fonts, including where to obtain them, and also provides lists of fonts that are supplied with many products.

    + +

    The following list of large Unicode fonts is probably not comprehensive, it is just the ones that I have acquired with various operating systems and applications, or found while learning about Unicode from the Web. It does not include Unicode fonts from commercial suppliers. Not all of the characters in a given range will always be present in a font; you can use a utility such as Babel Map to see exactly which characters are included.

    + +Top + + +
    + +

    Large, multi-script fonts (more than WGL4)

    + +
      + +
    • AbRomanSerif – 1314 characters (3805 glyphs) in version 4.100; 2004
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (202); IPA Extensions (94); Spacing Modifier Letters (43); Combining Diacritical Marks (69); Greek and Coptic (29); Phonetic Extensions (68); Phonetic Extensions Supplement (11); Latin Extended Additional (249); Greek Extended (4); General Punctuation (75); Superscripts and Subscripts (11); Currency Symbols (2); Letterlike Symbols (2); Mathematical Operators (2); Miscellaneous Technical (2); Latin Extended-C (13); Alphabetic Presentation Forms (7)
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from languagegeek.com Font Downloads
      +
    • + +
    • ALPHABETUM Unicode – 4882 characters (5444 glyphs) in version 9.00
      +Produced by Juan-José Marcos for classical and mediaeval Latin, classical Greek, Coptic, Old and Middle English, and Sanskrit, but also includes characters for most Latin-based European languages and Esperanto
      +Ranges:   Basic Latin (96); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (194); IPA Extensions (96); Spacing Modifier Letters (63); Combining Diacritical Marks (112); Greek (131); Cyrillic (255); Hebrew (82); Devanagari (105); Bengali (87); Georgian (1); Ogham (29); Runic (81); Phonetic Extensions (25); Phonetic Extensions Supplement (1); Latin Extended Additional (115); Greek Extended (233); General Punctuation (52); Superscripts and Subscripts (23); Currency Symbols (5); Letterlike Symbols (14); Number Forms (36); Arrows (9); Mathematical Operators (24); Miscellaneous Technical (21); Geometric Shapes (5); Miscellaneous Symbols (36); Dingbats (5); Miscellaneous Mathematical Symbols-A (5); Miscellaneous Mathematical Symbols-B (1); Glagolitic (90); Coptic (114); Supplemental Punctuation (26); CJK Symbols and Punctuation (12); Hiragana (90); Katakana (96); Bopomofo (37); Alphabetic Presentation Forms (53); Specials (1); Linear B Syllabary (88); Linear B Ideograms (123); Aegean Numbers (57); Ancient Greek Numbers (75); Old Italic (35); Gothic (27); Ugaritic (31); Old Persian (50); Cypriot Syllabary (55); Phoenician (27); Kharoshthi (65); Ancient Greek Musical Notation (70); Mathematical Alphanumeric Symbols (2)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Contact details and free demo version from ALPHABETUM UNICODE. Font for ancient scripts, cost €15 for individuals or €60 for networks or publication.
      +
    • + +
    • Andika Basic – 703 characters (838 glyphs) in version 1.000
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (91); Latin Extended-B (85); IPA Extensions (20); Spacing Modifier Letters (15); Combining Diacritical Marks (20); Greek (2); Latin Extended Additional (216); General Punctuation (17); Currency Symbols (1); Letterlike Symbols (2); Mathematical Operators (14); Geometric Shapes (2); Latin Extended-C (3); Latin Extended-D (4); Alphabetic Presentation Forms (2)
      +OpenType layout tables:   Cyrillic, Latin
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Free download from Andika Font
      +
    • + +
    • Andron Scriptor Web – 1490 characters (1600 glyphs) in version 2.005 2006
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (72); Latin Extended-B (48); IPA Extensions (21); Spacing Modifier Letters (15); Combining Diacritical Marks (47); Greek (5); Cyrillic (1); Georgian (1); Runic (2); Phonetic Extensions (18); Latin Extended Additional (88); General Punctuation (53); Superscripts and Subscripts (29); Currency Symbols (3); Letterlike Symbols (9); Number Forms (5); Arrows (6); Mathematical Operators (23); Miscellaneous Technical (4); Enclosed Alphanumerics (30); Geometric Shapes (18); Miscellaneous Symbols (4); Dingbats (4); Miscellaneous Mathematical Symbols-A (4); Supplemental Mathematical Operators (1); Latin Extended-C (2); Supplemental Punctuation (7); Alphabetic Presentation Forms (7)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Medieval Unicode Font Initiative
      +
    • + +
    • Arev Sans – 2836 characters (2851 glyphs) in version Release 0.21a
      +Based on Bitstream Vera Sans
      +Ranges:   Basic Latin (96); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (61); Combining Diacritical Marks (76); Greek (127); Cyrillic (255); Cyrillic Supplement (20); Latin Extended Additional (246); Greek Extended (233); General Punctuation (87); Superscripts and Subscripts (35); Currency Symbols (22); Combining Diacritical Marks for Symbols (32); Letterlike Symbols (62); Number Forms (50); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (8); Control Pictures (1); Block Elements (32); Geometric Shapes (1); Miscellaneous Symbols (176); Dingbats (173); Miscellaneous Mathematical Symbols-A (6); Supplemental Arrows-A (11); Alphabetic Presentation Forms (7); Specials (1)
      +OpenType layout tables:   Default, Latin
      +Family:   Sans-serif
      +Styles:   Regular, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Arev Fonts
      +
    • + +
    • Arial – 2792 characters (3381 glyphs) in version 5.01
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (127); Cyrillic (255); Cyrillic Supplement (20); Hebrew (87); Arabic (235); Arabic Supplement (30); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (246); Greek Extended (233); General Punctuation (55); Superscripts and Subscripts (6); Currency Symbols (22); Letterlike Symbols (9); Number Forms (7); Arrows (7); Mathematical Operators (17); Miscellaneous Technical (4); Box Drawing (40); Block Elements (8); Geometric Shapes (16); Miscellaneous Symbols (12); Latin Extended-C (17); Supplemental Punctuation (1); Modifier Tone Letters (4); Latin Extended-D (2); Alphabetic Presentation Forms (48); Arabic Presentation Forms-A (134); Combining Half Marks (4); Arabic Presentation Forms-B (125); Specials (1)
      +OpenType layout tables:   Arabic, Cyrillic, Hebrew, Latin
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Windows Vista. Version 2.82 (1186 characters) was supplied with Windows 2000 and Windows XP, and is available as a free download from Smart package of Microsoft's core fonts
      +
    • + +
    • Arial Unicode MS – 38,917 characters (50,377 glyphs) in version 1.01
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (148); IPA Extensions (89); Spacing Modifier Letters (57); Combining Diacritical Marks (72); Greek (105); Cyrillic (226); Armenian (85); Hebrew (82); Arabic (194); Devanagari (104); Bengali (89); Gurmukhi (75); Gujarati (78); Oriya (79); Tamil (61); Telugu (80); Kannada (80); Malayalam (78); Thai (87); Lao (65); Tibetan (168); Georgian (78); Hangul Jamo (240); Latin Extended Additional (246); Greek Extended (233); General Punctuation (63); Superscripts and Subscripts (28); Currency Symbols (13); Combining Diacritical Marks for Symbols (18); Letterlike Symbols (57); Number Forms (48); Arrows (91); Mathematical Operators (242); Miscellaneous Technical (123); Control Pictures (37); Optical Character Recognition (11); Enclosed Alphanumerics (139); Box Drawing (128); Block Elements (22); Geometric Shapes (80); Miscellaneous Symbols (106); Dingbats (160); CJK Symbols and Punctuation (57); Hiragana (90); Katakana (94); Bopomofo (40); Hangul Compatibility Jamo (94); Kanbun (16); Enclosed CJK Letters and Months (202); CJK Compatibility (249); CJK Unified Ideographs (20,902); Hangul Syllables (11,172); CJK Compatibility Ideographs (302); Alphabetic Presentation Forms (57); Arabic Presentation Forms-A (593); Combining Half Marks (4); CJK Compatibility Forms (28); Small Form Variants (26); Arabic Presentation Forms-B (139); Halfwidth and Fullwidth Forms (223); Specials (2)
      +OpenType layout tables:   Arabic, Devanagari, Gujarati, Gurmukhi, Han Ideographic, Kana [Hiragana & Katakana], Kannada, Tamil
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Supplied with Microsoft Office 2002 (XP) and Microsoft Office 2003.
      +
    • + +
    • Berling Antiqua – 842 glyphs in version 1.10
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Latin Extended Additional; General Punctuation; Arrows; Mathematical Operators; Miscellaneous Symbols
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Reader, which is available free from Microsoft Reader - Downloads
      +
    • + +
    • Caslon – 3551 glyphs in version 12/16/01 (Roman)
      +Produced by George Williams.
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Armenian; Hebrew; Thai; Ogham; Runic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Combining Diacritical Marks for Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Miscellaneous Technical; Control Pictures; Enclosed Alphanumerics; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Hiragana; Katakana; Alphabetic Presentation Forms; Halfwidth and Fullwidth Forms
      +Family:   Serif
      +Styles:   Roman, Italic, Bold
      +Availability:   Free download from My Unicode fonts or Font database files for pfaedit
      +
    • + +
    • Charis SIL – 2170 characters (4661 glyphs) in version 4.106
      +Ranges:   Basic Latin (96); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (104); Greek (17); Cyrillic (220); Cyrillic Supplement (38); Phonetic Extensions (127); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (256); General Punctuation (74); Superscripts and Subscripts (34); Currency Symbols (22); Combining Diacritical Marks for Symbols (5); Letterlike Symbols (5); Number Forms (54); Arrows (19); Mathematical Operators (21); Miscellaneous Technical (29); Control Pictures (1); Geometric Shapes (2); Dingbats (2); Miscellaneous Mathematical Symbols-A (2); Latin Extended-C (29); Modifier Tone Letters (32); Latin Extended-D (36); Alphabetic Presentation Forms (5); Variation Selectors (16); Combining Half Marks (4); Arabic Presentation Forms-B (1); Specials (5); Mathematical Alphanumeric Symbols (2)
      +OpenType layout tables:   Cyrillic, Latin
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from Charis SIL Font Home
      +
    • + +
    • Chrysanthi Unicode – 4818 characters (4383 glyphs) in version 3.1
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Armenian; Hebrew; Arabic; Devanagari; Bengali; Gujarati; Tibetan; Runic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Dingbats; CJK Symbols and Punctuation ;Hiragana; Katakana; Bopomofo; Kanbun; CJK Compatibility; CJK Unified Ideographs (few); Alphabetic Presentation Forms; Arabic Presentation Forms-A; Arabic Presentation Forms-B
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Chryſanþi Unicode Font
      +
    • + +
    • CN-Arial – 3069 glyphs in version 2.39322; 2002
      +Produced by Chan-Nguyen.
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Greek; Cyrillic; Armenian; Hebrew; Arabic; Devanagari; Bengali; Gurmukhi; Gujarati; Oriya; Thai; Latin Extended Additional; Greek Extended; Arrows; Mathematical Operators; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Dingbats; CJK Symbols and Punctuation; Hangul Compatibility Jamo; Kanbun; Alphabetic Presentation Forms; Arabic Presentation Forms-A; CJK Compatibility Forms; Arabic Presentation Forms-B; Halfwidth and Fullwidth Forms
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from Unicode Fonts for Romanized Viet-Pali-Sanskrit
      +
    • + +
    • CN-Times – 2866 glyphs in version 2.39322; 2002
      +Produced by Chan-Nguyen.
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Greek; Cyrillic; Hebrew; Arabic; Devanagari; Latin Extended Additional; General Punctuation; Mathematical Operators; Control Pictures; Enclosed Alphanumerics; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Dingbats; Ideographic Description Characters; CJK Symbols and Punctuation; Kanbun; Katakana Phonetic Extensions; Enclosed CJK Letters and Months; Alphabetic Presentation Forms; Arabic Presentation Forms-A; CJK Compatibility Forms; Small Form Variants; Arabic Presentation Forms-B; Halfwidth and Fullwidth Forms
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from Unicode Fonts for Romanized Viet-Pali-Sanskrit
      +
    • + +
    • Code2000 – 53,068 characters (63,546 glyphs) in version 1.171
      +Includes many characters that are difficult to find elsewhere, making it a useful font to assign to the user-defined encoding or character set in your Web browser, and well worth the $5 registration. Produced by James Kass.
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek and Coptic (134); Cyrillic (256); Cyrillic Supplement (36); Armenian (86); Hebrew (86); Arabic (185); Syriac (50); Thaana (50); NKo (59); Devanagari (112); Bengali (91); Gurmukhi (79); Gujarati (83); Oriya (84); Tamil (71); Telugu (93); Kannada (86); Malayalam (95); Thai (87); Lao (65); Myanmar (156); Georgian (83); Hangul Jamo (240); Ethiopic (356); Ethiopic Supplement (26); Cherokee (85); Unified Canadian Aboriginal Syllabics (630); Ogham (29); Runic (81); Hanunoo (2); Buhid (20); Khmer (114); Mongolian (155); Limbu (66); Khmer Symbols (32); Buginese (30); Ol Chiki (48); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (256); Greek Extended (233); General Punctuation (106); Superscripts and Subscripts (29); Currency Symbols (22); Combining Diacritical Marks for Symbols (28); Letterlike Symbols (80); Number Forms (54); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (228); Control Pictures (39); Optical Character Recognition (11); Enclosed Alphanumerics (160); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (183); Dingbats (174); Miscellaneous Mathematical Symbols-A (44); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (128); Miscellaneous Mathematical Symbols-B (128); Supplemental Mathematical Operators (256); Miscellaneous Symbols and Arrows (82); Latin Extended-C (29); Coptic (114); Tifinagh (55); Ethiopic Extended (79); Supplemental Punctuation (49); CJK Radicals Supplement (115); Kangxi Radicals (214); Ideographic Description Characters (12); CJK Symbols and Punctuation (64); Hiragana (93); Katakana (96); Bopomofo (41); Hangul Compatibility Jamo (94); Kanbun (16); Bopomofo Extended (24); CJK Strokes (36); Katakana Phonetic Extensions (16); Enclosed CJK Letters and Months (242); CJK Compatibility (256); CJK Unified Ideographs Extension A (6,582); Yijing Hexagram Symbols (64); CJK Unified Ideographs (20,932); Yi Syllables (1,165); Yi Radicals (55); Vai (300); Cyrillic Extended-B (78); Modifier Tone Letters (32); Latin Extended-D (114); Phags-pa (56); Saurashtra (81); Kayah Li (48); Rejang (37); Cham (83); Hangul Syllables (11,172); CJK Compatibility Ideographs (437); Alphabetic Presentation Forms (58); Arabic Presentation Forms-A (155); Variation Selectors (16); Combining Half Marks (4); CJK Compatibility Forms (28); Small Form Variants (26); Arabic Presentation Forms-B (140); Halfwidth and Fullwidth Forms (186); Specials (3)
      +OpenType layout tables:   Arabic, Armenian, Bengali, Buhid, Cyrillic, Devanagari, Gujarati, Gurmukhi, Han Ideographic, Hebrew, Khmer, Korean Hangul, Lao, Latin, Malayalam, Mongolian, Myanmar, N’Ko, Tamil, Telugu, Thai
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Download from Unicode Support in Your Browser (shareware, $5)
      +
    • + +
    • Courier New – 2726 characters (3151 glyphs) in version 5.00
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (193); IPA Extensions (96); Spacing Modifier Letters (73); Combining Diacritical Marks (112); Greek (124); Cyrillic (248); Cyrillic Supplement (16); Hebrew (87); Arabic (235); Arabic Supplement (30); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (4); Latin Extended Additional (245); Greek Extended (233); General Punctuation (31); Superscripts and Subscripts (6); Currency Symbols (22); Letterlike Symbols (6); Number Forms (6); Arrows (7); Mathematical Operators (17); Miscellaneous Technical (4); Box Drawing (40); Block Elements (8); Geometric Shapes (16); Miscellaneous Symbols (12); Supplemental Punctuation (1); Alphabetic Presentation Forms (48); Arabic Presentation Forms-A (200); Combining Half Marks (4); Arabic Presentation Forms-B (126); Specials (1)
      +OpenType layout tables:   Arabic, Hebrew, Latin
      +Family:   Monospace
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Windows Vista. Version 2.82 (1318 glyphs) was supplied with Microsoft Windows 2000 and Windows XP, and is available as a free download from Smart package of Microsoft's core fonts
      +
    • + +
    • DejaVu Sans – 5026 characters (5466 glyphs) in version 2.30
      +Based on Bitstream Vera Sans
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (63); Combining Diacritical Marks (93); Greek and Coptic (134); Cyrillic (256); Cyrillic Supplement (36); Armenian (86); Hebrew (54); Arabic (115); N’Ko (54); Thai (1); Lao (65); Georgian (83); Unified Canadian Aboriginal Syllabics (404); Ogham (29); Phonetic Extensions (105); Phonetic Extensions Supplement (38); Combining Diacritical Marks Supplement (6); Latin Extended Additional (248); Greek Extended (233); General Punctuation (105); Superscripts and Subscripts (34); Currency Symbols (22); Combining Diacritical Marks for Symbols (7); Letterlike Symbols (75); Number Forms (50); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (64); Control Pictures (2); Enclosed Alphanumerics (10); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (182); Dingbats (174); Miscellaneous Mathematical Symbols-A (9); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (6); Miscellaneous Mathematical Symbols-B (13); Supplemental Mathematical Operators (72); Miscellaneous Symbols and Arrows (35); Latin Extended-C (28); Tifinagh (55); Supplemental Punctuation (6); Yijing Hexagram Symbols (64); Cyrillic Extended-B (31); Modifier Tone Letters (20); Latin Extended-D (43); Alphabetic Presentation Forms (58); Arabic Presentation Forms-A (70); Variation Selectors (16); Combining Half Marks (4); Arabic Presentation Forms-B (141); Specials (5); Tai Xuan Jing Symbols (87); Mathematical Alphanumeric Symbols (117) +
      +OpenType layout tables:   Arabic, Armenian, Braille, Canadian Syllabics, Cherokee, Cyrillic, Georgian, Greek, Hebrew, Lao, Latin, Maths, N’Ko, Ogham, Runic, Thai, Tifinagh
      +Family:   Sans-serif
      +Styles:   Book, Oblique, Bold, Bold Oblique, Extra Light
      +Availability:   Free download from Main Page - DejaVuWiki
      +
    • + +
    • DejaVu Sans Condensed – 5026 characters (5466 glyphs) in version 2.30
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (63); Combining Diacritical Marks (93); Greek and Coptic (134); Cyrillic (256); Cyrillic Supplement (36); Armenian (86); Hebrew (54); Arabic (115); N’Ko (54); Thai (1); Lao (65); Georgian (83); Unified Canadian Aboriginal Syllabics (404); Ogham (29); Phonetic Extensions (105); Phonetic Extensions Supplement (38); Combining Diacritical Marks Supplement (6); Latin Extended Additional (248); Greek Extended (233); General Punctuation (105); Superscripts and Subscripts (34); Currency Symbols (22); Combining Diacritical Marks for Symbols (7); Letterlike Symbols (75); Number Forms (50); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (64); Control Pictures (2); Enclosed Alphanumerics (10); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (182); Dingbats (174); Miscellaneous Mathematical Symbols-A (9); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (6); Miscellaneous Mathematical Symbols-B (13); Supplemental Mathematical Operators (72); Miscellaneous Symbols and Arrows (35); Latin Extended-C (28); Tifinagh (55); Supplemental Punctuation (6); Yijing Hexagram Symbols (64); Cyrillic Extended-B (31); Modifier Tone Letters (20); Latin Extended-D (43); Alphabetic Presentation Forms (58); Arabic Presentation Forms-A (70); Variation Selectors (16); Combining Half Marks (4); Arabic Presentation Forms-B (141); Specials (5); Tai Xuan Jing Symbols (87); Mathematical Alphanumeric Symbols (117) +
      +OpenType layout tables:   Arabic, Armenian, Braille, Canadian Syllabics, Cherokee, Cyrillic, Georgian, Greek, Hebrew, Lao, Latin, Maths, N’Ko, Ogham, Runic, Thai, Tifinagh
      +Family:   Sans-serif
      +Styles:   Book, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Main Page - DejaVuWiki
      +
    • + +
    • DejaVu Sans Mono – 3055 characters (3169 glyphs) in version 2.30
      +Based on Bitstream Vera Sans Mono
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (179); IPA Extensions (96); Spacing Modifier Letters (48); Combining Diacritical Marks (67); Greek and Coptic (110); Cyrillic (178); Cyrillic Supplement (6); Arabic (99); Lao (46); Georgian (45); Phonetic Extensions (62); Phonetic Extensions Supplement (37); Latin Extended Additional (182); Greek Extended (233); General Punctuation (51); Superscripts and Subscripts (34); Currency Symbols (22); Letterlike Symbols (17); Number Forms (13); Arrows (112); Mathematical Operators (151); Miscellaneous Technical (117); Control Pictures (1); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (149); Dingbats (144); Miscellaneous Mathematical Symbols-A (5); Miscellaneous Mathematical Symbols-B (3); Supplemental Mathematical Operators (1); Miscellaneous Symbols and Arrows (9); Latin Extended-C (10); Supplemental Punctuation (6); Modifier Tone Letters (20); Latin Extended-D (6); Alphabetic Presentation Forms (2); Arabic Presentation Forms-A (72); Arabic Presentation Forms-B (141); Specials (5); Mathematical Alphanumeric Symbols (62) +
      +OpenType layout tables:   Arabic, Cyrillic, Greek, Lao, Latin
      +Family:   Monospace
      +Styles:   Book, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Main Page - DejaVuWiki
      +
    • + +
    • DejaVu Serif – 2986 characters (3064 glyphs) in version 2.30
      +Based on Bitstream Vera Serif
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (191); IPA Extensions (96); Spacing Modifier Letters (45); Combining Diacritical Marks (68); Greek and Coptic (115); Cyrillic (200); Cyrillic Supplement (10); Georgian (83); Phonetic Extensions (62); Phonetic Extensions Supplement (37); Combining Diacritical Marks Supplement (6); Latin Extended Additional (196); Greek Extended (233); General Punctuation (87); Superscripts and Subscripts (34); Currency Symbols (6); Letterlike Symbols (32); Number Forms (50); Arrows (112); Mathematical Operators (100); Miscellaneous Technical (16); Control Pictures (1); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (30); Dingbats (1); Miscellaneous Mathematical Symbols-A (5); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (128); Miscellaneous Mathematical Symbols-B (1); Supplemental Mathematical Operators (4); Miscellaneous Symbols and Arrows (27); Latin Extended-C (16); Georgian Supplement (38); Supplemental Punctuation (6); Cyrillic Extended-B (10); Modifier Tone Letters (20); Latin Extended-D (2); Alphabetic Presentation Forms (7); Variation Selectors (16); Specials (5); Mathematical Alphanumeric Symbols (55) +
      +OpenType layout tables:   Cyrillic, Greek, Latin
      +Family:   Serif
      +Styles:   Book, Italic, Bold, Bold Italic
      +Availability:   Free download from Main Page - DejaVuWiki
      +
    • + +
    • DejaVu Serif Condensed – 2986 characters (3064 glyphs) in version 2.30
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (191); IPA Extensions (96); Spacing Modifier Letters (45); Combining Diacritical Marks (68); Greek and Coptic (115); Cyrillic (200); Cyrillic Supplement (10); Georgian (83); Phonetic Extensions (62); Phonetic Extensions Supplement (37); Combining Diacritical Marks Supplement (6); Latin Extended Additional (196); Greek Extended (233); General Punctuation (87); Superscripts and Subscripts (34); Currency Symbols (6); Letterlike Symbols (32); Number Forms (50); Arrows (112); Mathematical Operators (100); Miscellaneous Technical (16); Control Pictures (1); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (30); Dingbats (1); Miscellaneous Mathematical Symbols-A (5); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (128); Miscellaneous Mathematical Symbols-B (1); Supplemental Mathematical Operators (4); Miscellaneous Symbols and Arrows (27); Latin Extended-C (16); Georgian Supplement (38); Supplemental Punctuation (6); Cyrillic Extended-B (10); Modifier Tone Letters (20); Latin Extended-D (2); Alphabetic Presentation Forms (7); Variation Selectors (16); Specials (5); Mathematical Alphanumeric Symbols (55) +
      +OpenType layout tables:   Cyrillic, Greek, Latin
      +Family:   Serif
      +Styles:   Book, Italic, Bold, Bold Italic
      +Availability:   Free download from Main Page - DejaVuWiki
      +
    • + +
    • Dialekt Uni – 1481 characters (1400 glyphs) in version 3.002 2004
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (49); IPA Extensions (94); Spacing Modifier Letters (58); Combining Diacritical Marks (62); Greek (45); Cyrillic (96); Runic (45); Phonetic Extensions (38); Latin Extended Additional (8); General Punctuation (59); Superscripts and Subscripts (29); Currency Symbols (1); Letterlike Symbols (4); Number Forms (13); Arrows (16); Mathematical Operators (43); Miscellaneous Technical (7); Miscellaneous Symbols (4); Alphabetic Presentation Forms (5)
      +Family:   Serif
      +Styles:   Regular, Italic, Bold
      +Availability:   Free download from Phonetic fonts
      +
    • + +
    • Doulos SIL – 2170 characters (4661 glyphs) in version 4.106
      +This font is Graphite-enabled, and replaces SIL Doulos Unicode IPA
      +Ranges:   Basic Latin (96); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (104); Greek (17); Cyrillic (220); Cyrillic Supplement (38); Phonetic Extensions (127); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (256); General Punctuation (74); Superscripts and Subscripts (34); Currency Symbols (22); Combining Diacritical Marks for Symbols (5); Letterlike Symbols (5); Number Forms (54); Arrows (19); Mathematical Operators (21); Miscellaneous Technical (29); Control Pictures (1); Geometric Shapes (2); Dingbats (2); Miscellaneous Mathematical Symbols-A (2); Latin Extended-C (29); Modifier Tone Letters (32); Latin Extended-D (36); Alphabetic Presentation Forms (5); Variation Selectors (16); Combining Half Marks (4); Arabic Presentation Forms-B (1); Specials (5); Mathematical Alphanumeric Symbols (2)
      +OpenType layout tables:   Cyrillic, Latin
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Doulos SIL Font Home
      +
    • + +
    • e-PhonTranslit UNI – 683 characters (684 glyphs) in version 1.001 2005
      +Ranges:   Basic Latin (95); Latin-1 Supplement (93); Latin Extended-A (42); Latin Extended-B (8); IPA Extensions (79); Spacing Modifier Letters (25); Combining Diacritical Marks (43); Greek (3); Phonetic Extensions Supplement (1); Latin Extended Additional (47); General Punctuation (21); Superscripts and Subscripts (2); Currency Symbols (1); Letterlike Symbols (1); Arrows (11); Mathematical Operators (41); Geometric Shapes (1); Miscellaneous Symbols (2)
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download (as part of INDOLIPI package) from INDOLIPI
      +
    • + +
    • EversonMono – 5643 characters (6396 glyphs) in version 5.105
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek and Coptic (119); Cyrillic (256); Cyrillic Supplement (40); Armenian (86); Hebrew (87); Georgian (83); Cherokee (85); Unified Canadian Aboriginal Syllabics (640); Ogham (29); Runic (81); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (42); Latin Extended Additional (256); Greek Extended (233); General Punctuation (107); Superscripts and Subscripts (34); Currency Symbols (25); Combining Diacritical Marks for Symbols (33); Letterlike Symbols (80); Number Forms (58); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (219); Control Pictures (39); Optical Character Recognition (11); Enclosed Alphanumerics (160); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (191); Dingbats (174); Miscellaneous Mathematical Symbols-A (27); Supplemental Arrows-A (16); Supplemental Arrows-B (119); Supplemental Mathematical Operators (195); Latin Extended-C (32); Georgian Supplement (38); Tifinagh (55); Cyrillic Extended-A (32); Supplemental Punctuation (50); Cyrillic Extended-B (80); Latin Extended-D (114); Alphabetic Presentation Forms (58); Variation Selectors (16); Combining Half Marks (7); Specials (5); Linear B Syllabary (88); Linear B Ideograms (123); Aegean Numbers (57); Ancient Greek Numbers (75); Ancient Symbols (12); Phaistos Disc (46); Lycian (29); Old Italic (35); Gothic (27); Deseret (80); Shavian (48); Cypriot Syllabary (55); Ancient Greek Musical Notation (70)
      +OpenType layout tables:   Latin
      +Family:   Monospace
      +Styles:   Regular
      +Availability:   Shareware, registration is €25.00 for use on maximum 3 CPUs. More information and download from Everson Typography: Everson Mono
      +
    • + +
    • Fixedsys Excelsior 3.01 – 5992 characters (5993 glyphs) in version 3.010 2007
      +This font contains bitmaps, not scaleable outlines
      +Ranges:   Basic Latin (128); Latin-1 Supplement (128); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (107); Greek (120); Cyrillic (246); Cyrillic Supplement (16); Armenian (86); Hebrew (30); Arabic (178); Thaana (50); NKo (56); Devanagari (2); Tamil (72); Thai (87); Myanmar (10); Georgian (83); Ethiopic (345); Ogham (29); Runic (81); Tai Le (35); Phonetic Extensions (48); Latin Extended Additional (246); Greek Extended (233); General Punctuation (78); Superscripts and Subscripts (28); Currency Symbols (23); Combining Diacritical Marks for Symbols (1); Letterlike Symbols (57); Number Forms (36); Arrows (62); Mathematical Operators (15); Miscellaneous Technical (73); Control Pictures (10); Optical Character Recognition (11); Enclosed Alphanumerics (72); Box Drawing (128); Block Elements (32); Geometric Shapes (30); Miscellaneous Symbols (116); Dingbats (6); Miscellaneous Mathematical Symbols-A (12); Supplemental Arrows-A (16); Braille Patterns (64); Latin Extended-C (28); Georgian Supplement (38); Tifinagh (55); CJK Symbols and Punctuation (6); Yijing Hexagram Symbols (64); Latin Extended-D (2); Alphabetic Presentation Forms (12); Arabic Presentation Forms-A (82); Small Form Variants (11); Arabic Presentation Forms-B (89); Halfwidth and Fullwidth Forms (37); Specials (2)
      +OpenType layout tables:   Arabic, Latin, N'ko, Tamil, Thaana
      +Family:   Monospace
      +Styles:   Regular
      +Availability:   Free download from Fixedsys Excelsior 3.00 Truetype Multilingual Font
      +
    • + +
    • Free Idg Serif – 4222 characters (6256 glyphs) in version 1.52
      +Ranges:   Basic Latin (96); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (176); IPA Extensions (96); Spacing Modifier Letters (39); Combining Diacritical Marks (75); Greek and Coptic (106); Cyrillic (247); Cyrillic Supplement (16); Hebrew (44); Arabic (63); Thaana (49); Devanagari (93); Bengali (91); Gurmukhi (73); Tamil (49); Telugu (42); Malayalam (79); Sinhala (56); Thai (87); Ethiopic (346); Runic (81); Phonetic Extensions (22); Phonetic Extensions Supplement (5); Latin Extended Additional (246); Greek Extended (233); General Punctuation (50); Superscripts and Subscripts (30); Currency Symbols (13); Combining Diacritical Marks for Symbols (1); Letterlike Symbols (46); Number Forms (45); Arrows (73); Mathematical Operators (219); Miscellaneous Technical (22); Control Pictures (1); Enclosed Alphanumerics (36); Box Drawing (106); Block Elements (19); Geometric Shapes (27); Miscellaneous Symbols (88); Dingbats (160); Latin Extended-C (2); CJK Symbols and Punctuation (18); Hiragana (86); Katakana (92); Alphabetic Presentation Forms (38); Arabic Presentation Forms-A (20); Arabic Presentation Forms-B (100); Halfwidth and Fullwidth Forms (9); Specials (1); Linear B Syllabary (74); Linear B Ideograms (73); Old Italic (35); Gothic (27); Cuneiform (319); Cuneiform Numbers and Punctuation (65)
      +Family:   Serif
      +Styles:   Medium, Italic, Bold, Bold Italic
      +Availability:   Free download from Free Idg Serif
      +
    • + +
    • Free Monospaced – 2560 glyphs in version 1.6
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Armenian; Hebrew; Runic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Miscellaneous Technical; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Miscellaneous Mathematical Symbols-A; Braille Patterns; Alphabetic Presentation Forms
      +OpenType layout tables:   Hebrew, Latin
      +Family:   Monospace
      +Styles:   Medium, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Free UCS Outline Fonts
      +
    • + +
    • Free Sans – 3999 glyphs in version $Revision: 1.256 $
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (174); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (87); Cyrillic (226); Cyrillic Supplement (10); Armenian (86); Hebrew (52); Syriac (71); Devanagari (107); Bengali (91); Gurmukhi (77); Gujarati (79); Tamil (53); Georgian (73); Latin Extended Additional (246); Greek Extended (233); General Punctuation (101); Superscripts and Subscripts (34); Currency Symbols (20); Combining Diacritical Marks for Symbols (25); Letterlike Symbols (54); Number Forms (45); Arrows (30); Mathematical Operators (115); Miscellaneous Technical (24); Control Pictures (2); Enclosed Alphanumerics (10); Box Drawing (105); Block Elements (32); Geometric Shapes (13); Miscellaneous Symbols (16); Dingbats (1); Supplemental Mathematical Operators (6); Supplemental Punctuation (1); Alphabetic Presentation Forms (57); Specials (1); Ugaritic (31); Old Persian (50); Phoenician (29)
      +OpenType layout tables:   Armenian, Bengali, Cyrillic, Devanagari, Georgian, Greek, Gujarati, Gurmukhi, Hebrew, Latin, Phoenician, Syriac, Tamil, Ugaritic
      +Family:   Sans-serif
      +Styles:   Medium, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Free UCS Outline Fonts
      +
    • + +
    • Free Serif – 7971 glyphs in version $Revision: 1.358 $
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek and Coptic (124); Cyrillic (256); Cyrillic Supplement (36); Hebrew (87); Arabic (67); Thaana (49); Devanagari (93); Bengali (91); Gurmukhi (79); Tamil (49); Malayalam (81); Sinhala (56); Thai (87); Georgian (78); Ethiopic (345); Cherokee (85); Hanunoo (23); Tai Le (35); Buginese (30); Phonetic Extensions (120); Phonetic Extensions Supplement (15); Latin Extended Additional (246); Greek Extended (233); General Punctuation (101); Superscripts and Subscripts (34); Currency Symbols (22); Combining Diacritical Marks for Symbols (33); Letterlike Symbols (68); Number Forms (45); Arrows (77); Mathematical Operators (256); Miscellaneous Technical (92); Control Pictures (1); Enclosed Alphanumerics (10); Box Drawing (116); Block Elements (31); Geometric Shapes (96); Miscellaneous Symbols (191); Dingbats (174); Miscellaneous Mathematical Symbols-A (6); Supplemental Arrows-A (8); Supplemental Mathematical Operators (10); Miscellaneous Symbols and Arrows (49); Coptic (61); Supplemental Punctuation (1); Cyrillic Extended-B (37); Alphabetic Presentation Forms (44); Arabic Presentation Forms-A (20); Arabic Presentation Forms-B (132); Specials (1); Ancient Greek Numbers (5); Gothic (27); Byzantine Musical Symbols (246); Musical Symbols (220); Mathematical Alphanumeric Symbols (996); Mahjong Tiles (44); Domino Tiles (100)
      +OpenType layout tables:   Arabic, Bengali, Coptic, Cyrillic, Devanagari, Glagolitic, Gothic, Greek, Hanunoo, Hebrew, Latin, Malayalam, Tamil, Thai
      +Family:   Serif
      +Styles:   Medium, Italic, Bold, Bold Italic
      +Availability:   Free download from Free UCS Outline Fonts
      +
    • + +
    • Frutiger Linotype – 840 glyphs in version 1.13
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Latin Extended Additional; General Punctuation; Arrows; Mathematical Operators; Miscellaneous Symbols
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Reader, which is available free from Microsoft Reader - Downloads
      +
    • + +
    • Gandhari Unicode – 2261 characters (2265 glyphs) in version 5.110; 2008; updated release
      +Designed for romanisation of Sanskrit and Gāndhārī
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (111); Greek (113); Cyrillic (255); Latin Extended Additional (246); Greek Extended (233); General Punctuation (72); Superscripts and Subscripts (34); Currency Symbols (3); Letterlike Symbols (3); Number Forms (50); Arrows (10); Mathematical Operators (19); Miscellaneous Technical (14); Geometric Shapes (96); Miscellaneous Symbols (5); Dingbats (2); Miscellaneous Mathematical Symbols-A (4); Latin Extended-C (17); Alphabetic Presentation Forms (7) +
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Roman, Italic, Bold, Bold Italic
      +Availability:   Free download from Early Buddhist Manuscripts Project – Fonts or Andrew Glass - Gandhari Unicode
      +
    • + +
    • Garava – 1316 characters (1319 glyphs) in version 1.01 August 6, 2005
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (93); Spacing Modifier Letters (20); Combining Diacritical Marks (29); Greek (75); Latin Extended Additional (246); General Punctuation (42); Superscripts and Subscripts (18); Currency Symbols (16); Letterlike Symbols (20); Number Forms (45); Arrows (54); Mathematical Operators (42); Miscellaneous Technical (3); Enclosed Alphanumerics (10); Geometric Shapes (96); Miscellaneous Symbols (161); Alphabetic Presentation Forms (5)
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic, Small Caps, Bold Small Caps
      +Availability:   Free download from Fonts
      +
    • + +
    • Gentium – 1469 characters (1699 glyphs) in version 1.0.1; 2003; initial SIL release
      +Produced by Victor Gaultney
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (178); IPA Extensions (94); Spacing Modifier Letters (56); Combining Diacritical Marks (82); Greek (82); Cyrillic (80); Cyrillic Supplement (1); Latin Extended Additional (246); Greek Extended (233); General Punctuation (39); Superscripts and Subscripts (28); Currency Symbols (14); Letterlike Symbols (1); Mathematical Operators (2); Alphabetic Presentation Forms (5)
      +Family:   Serif
      +Styles:   Regular, Italic
      +Availability:   Free download from Gentium – a typeface for the nations
      +
    • + +
    • GentiumAlt – 1460 characters (1699 glyphs) in version 1.01; 2003; initial SIL release
      +Produced by Victor Gaultney
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols
      +Family:   Serif
      +Styles:   Regular, Italic
      +Availability:   Free download from Gentium – a typeface for the nations
      +
    • + +
    • Hindsight Unicode – 3032 characters (2894 glyphs) in version 1.00, January 2001
      +Produced by Darren Rigby
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Cyrillic Supplement; Armenian; Hebrew; Cherokee; Phonetic Extensions; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Combining Diacritical Marks for Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Miscellaneous Technical; Control Pictures; Enclosed Alphanumerics
      +Family:   Serif
      +Styles:   Regular, Italic (only 246 characters)
      +Availability:   Free download from Objets Dart: History/Hindsight
      +
    • + +
    • jGaramond – 1862 characters (1849 glyphs) in version 1.0
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Latin Extended Additional; Greek Extended; General Punctuation; Currency Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Box Drawing; Geometric Shapes; Miscellaneous Symbols
      +Family:   Serif
      +Styles:   Regular, Italic (670 characters), Bold (670 characters)
      +Availability:   Free download from jGaramond
      +
    • + +
    • Junicode – 3022 characters (3096 glyphs) in version 0.6.17
      +Produced by Peter S. Baker, and intended for mediaevalists
      +Ranges:   Basic Latin (97); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (182); IPA Extensions (94); Spacing Modifier Letters (63); Combining Diacritical Marks (109); Greek and Coptic (80); Georgian (1); Runic (81); Phonetic Extensions (109); Combining Diacritical Marks Supplement (26); Latin Extended Additional (256); Greek Extended (232); General Punctuation (77); Superscripts and Subscripts (29); Currency Symbols (2); Combining Diacritical Marks for Symbols (1); Letterlike Symbols (10); Number Forms (50); Mathematical Operators (17); Miscellaneous Technical (6); Enclosed Alphanumerics (160); Geometric Shapes (1); Miscellaneous Symbols (4); Dingbats (12); Miscellaneous Mathematical Symbols-A (4); Supplemental Mathematical Operators (1); Latin Extended-C (5); Supplemental Punctuation (22); Latin Extended-D (97); Alphabetic Presentation Forms (7); Small Form Variants (2)
      +OpenType layout tables:   Cyrillic, Georgian, Greek, Latin, Runic
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from Junicode
      +
    • + +
    • Kliment Std – 2816 characters (2849 glyphs) in version 3.000
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (97); Cyrillic (256); Cyrillic Supplement (36); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (248); Greek Extended (233); General Punctuation (86); Superscripts and Subscripts (36); Currency Symbols (21); Combining Diacritical Marks for Symbols (1); Letterlike Symbols (25); Number Forms (50); Arrows (6); Mathematical Operators (45); Miscellaneous Technical (39); Enclosed Alphanumerics (160); Geometric Shapes (26); Miscellaneous Symbols (36); Dingbats (108); Glagolitic (94); Latin Extended-C (16); Cyrillic Extended-A (32); Supplemental Punctuation (39); Cyrillic Extended-B (88); Latin Extended-D (2); Alphabetic Presentation Forms (7); Combining Half Marks (7)
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Kodeks - Slavic Scripts & Fonts: Kliment St font
      +
    • + +
    • Kurdish AllAlphabets – 578 characters (694 glyphs) in version 2.000 2004 initial release
      +Produced by Ernst Tremel, and intended for Kurdish
      +Ranges:   Basic Latin; Latin-1 Supplement; Cyrillic; Arabic; Latin Extended Additional; General Punctuation; Arabic Presentation Forms-A; Arabic Presentation Forms-B
      +OpenType layout tables:   Arabic
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from ERNST TREMEL'S WEBSITE or ERNST TREMEL'S WEBSITE
      +
    • + +
    • LeedsUni – 2949 characters (2976 glyphs) in version 007.003
      +Ranges:   Basic Latin (98); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (124); Cyrillic (248); Georgian (1); Runic (81); Phonetic Extensions (128); Latin Extended Additional (246); Greek Extended (233); General Punctuation (100); Superscripts and Subscripts (34); Currency Symbols (4); Letterlike Symbols (20); Number Forms (50); Arrows (8); Mathematical Operators (45); Miscellaneous Technical (4); Geometric Shapes (6); Dingbats (9); Miscellaneous Mathematical Symbols-A (4); Supplemental Mathematical Operators (1); Latin Extended-C (17); Supplemental Punctuation (5); Alphabetic Presentation Forms (7); Combining Half Marks (4)
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Alec McAllister’s Home Page
      +
    • + +
    • Legendum – 1092 characters (1151 glyphs) in version .50
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Combining Diacritical Marks; Greek; Latin Extended Additional; Greek Extended; General Punctuation; Mathematical Operators; Box Drawing; Geometric Shapes; Miscellaneous Symbols; Alphabetic Presentation Forms
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Unknown
      +
    • + +
    • Linux Biolinum O – 2415 characters (2418 glyphs) in version 0.4.1
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (194); IPA Extensions (96); Spacing Modifier Letters (56); Combining Diacritical Marks (68); Greek (110); Cyrillic (230); Hebrew (53); Latin Extended Additional (256); Greek Extended (233); General Punctuation (59); Superscripts and Subscripts (36); Currency Symbols (9); Letterlike Symbols (31); Number Forms (50); Arrows (34); Mathematical Operators (74); Miscellaneous Technical (14); Control Pictures (1); Enclosed Alphanumerics (114); Geometric Shapes (26); Miscellaneous Symbols (48); Dingbats (11); Miscellaneous Mathematical Symbols-A (3); Latin Extended-C (17); Supplemental Punctuation (1); Latin Extended-D (2); Alphabetic Presentation Forms (7); Specials (1)
      +OpenType layout tables:   Cyrillic, Greek, Hebrew, Latin
      +Family:   Sans-serif
      +Styles:   Regular, Bold
      +Availability:   Free download from SourceForge.net: Libertine Open Fonts Projekt
      +
    • + +
    • Linux Libertine O – 2429 characters (2432 glyphs) in version 4.4.1
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (194); IPA Extensions (96); Spacing Modifier Letters (56); Combining Diacritical Marks (68); Greek (110); Cyrillic (230); Hebrew (53); Latin Extended Additional (256); Greek Extended (233); General Punctuation (59); Superscripts and Subscripts (36); Currency Symbols (9); Letterlike Symbols (31); Number Forms (50); Arrows (34); Mathematical Operators (82); Miscellaneous Technical (14); Control Pictures (1); Enclosed Alphanumerics (114); Geometric Shapes (26); Miscellaneous Symbols (51); Dingbats (13); Miscellaneous Mathematical Symbols-A (3); Latin Extended-C (17); Supplemental Punctuation (1); Latin Extended-D (3); Alphabetic Presentation Forms (7); Specials (1)
      +OpenType layout tables:   Cyrillic, Greek, Hebrew, Latin
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic, Small Capitals
      +Availability:   Free download from SourceForge.net: Libertine Open Fonts Projekt
      +
    • + +
    • Lucida Bright – 1395 characters (1402 glyphs) in version January 28, 2000; 1.10 (JAVA)
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Greek; Cyrillic; Arabic; General Punctuation; Arrows; Mathematical Operators; Arabic Presentation Forms-B
      +Family:   Serif
      +Styles:   Regular, Italic, DemiBold, DemiItalic
      +Availability:   Supplied with Java Runtime 1.4.2_05, free download from Download Java Software
      +
    • + +
    • Lucida Grande – 2245 characters (2826 glyphs) in version 5.0d8e1
      +Ranges:   Basic Latin (99); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (183); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (106); Greek (106); Cyrillic (244); Cyrillic Supplement (16); Hebrew (82); Thai (87); Phonetic Extensions (108); Latin Extended Additional (246); Greek Extended (233); General Punctuation (87); Superscripts and Subscripts (29); Currency Symbols (18); Combining Diacritical Marks for Symbols (2); Letterlike Symbols (32); Number Forms (49); Arrows (20); Mathematical Operators (18); Miscellaneous Technical (14); Control Pictures (1); Enclosed Alphanumerics (1); Geometric Shapes (19); Dingbats (3); Miscellaneous Mathematical Symbols-B (1); Alphabetic Presentation Forms (32); Arabic Presentation Forms-B (1); Specials (1)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Supplied with Apple - Safari 3 Public Beta - Download
      +
    • + +
    • Lucida Sans (Java) – 2388 characters (2929 glyphs) in version 1.20 - October 2000
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B (few); IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Hebrew; Arabic; Devanagari; Thai; General Punctuation; Superscripts and Subscripts; Currency Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Enclosed Alphanumerics (few); Box Drawing; Geometric Shapes; Miscellaneous Symbols; Dingbats; Alphabetic Presentation Forms; Arabic Presentation Forms-B
      +OpenType layout tables:   Devanagari
      +Family:   Sans-serif
      +Styles:   Regular, DemiBold
      +Availability:   Supplied with Java Runtime 1.4.2_05, free download from Download Java Software
      +
    • + +
    • Lucida Sans (Star Office) – 2094 glyphs in version 1.00 (JAVA)
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Hebrew; Arabic; General Punctuation; Superscripts and Subscripts; Currency Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Enclosed Alphanumerics (few); Geometric Shapes (few); Miscellaneous Symbols (few); Dingbats; Alphabetic Presentation Forms; Arabic Presentation Forms-A (few); Arabic Presentation Forms-B
      +Family:   Sans-serif
      +Styles:   Regular, Oblique, Demibold, Demibold Oblique
      +Availability:   Supplied with Sun’s StarOffice 5.2 for Windows
      +
    • + +
    • Lucida Sans Typewriter (Java) – 1371 characters (1376 glyphs) in version 18 July, 1999; 1.10 (JAVA)
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B (few); Greek; Cyrillic; Hebrew; Arabic; Thai; General Punctuation; Mathematical Operators (few); Arabic Presentation Forms-B
      +Family:   Monospace
      +Styles:   Regular, Bold
      +Availability:   Supplied with Java Runtime 1.4.2_05, free download from Download Java Software
      +
    • + +
    • Lucida Sans Typewriter (Star Office) – 1142 glyphs in version 1.00 (JAVA)
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Spacing Modifier Letters (few); Greek; Cyrillic; Hebrew; Arabic; General Punctuation (few); Mathematical Operators (few); Arabic Presentation Forms-A (few); Arabic Presentation Forms-B
      +Family:   Monospace
      +Styles:   Regular, Oblique, Bold, Bold Oblique
      +Availability:   Supplied with Sun’s StarOffice 5.2 for Windows
      +
    • + +
    • Lucida Sans Unicode – 1753 characters (1779 glyphs) in version 5.00
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (123); IPA Extensions (89); Spacing Modifier Letters (57); Combining Diacritical Marks (68); Greek (91); Cyrillic (153); Hebrew (51); Latin Extended Additional (8); General Punctuation (67); Superscripts and Subscripts (28); Currency Symbols (12); Letterlike Symbols (57); Number Forms (4); Arrows (91); Mathematical Operators (242); Miscellaneous Technical (10); Control Pictures (37); Box Drawing (128); Block Elements (21); Geometric Shapes (79); Miscellaneous Symbols (14); Alphabetic Presentation Forms (3); Arabic Presentation Forms-B (1)
      +OpenType layout tables:   Hebrew
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Supplied with Microsoft Windows Vista
      +
    • + +
    • Marin – 3552 characters (3566 glyphs) in version 001.500
      +Ranges:   Basic Latin (95); Latin-1 Supplement (95); Latin Extended-A (128); Latin Extended-B (184); IPA Extensions (94); Spacing Modifier Letters (47); Combining Diacritical Marks (35); Greek (99); Cyrillic (211); Cyrillic Supplement (4); Armenian (2); Hebrew (87); Devanagari (97); Cherokee (85); Unified Canadian Aboriginal Syllabics (630); Ogham (29); Phonetic Extensions (99); Latin Extended Additional (246); Greek Extended (57); General Punctuation (81); Superscripts and Subscripts (29); Currency Symbols (6); Combining Diacritical Marks for Symbols (2); Letterlike Symbols (64); Number Forms (49); Arrows (25); Mathematical Operators (97); Miscellaneous Technical (17); Control Pictures (2); Enclosed Alphanumerics (160); Geometric Shapes (4); Miscellaneous Symbols (40); Dingbats (2); Braille Patterns (256); Supplemental Mathematical Operators (4); Enclosed CJK Letters and Months (4); CJK Compatibility (107); Alphabetic Presentation Forms (52); Halfwidth and Fullwidth Forms (94)
      +OpenType layout tables:   Arabic, Armenian, Braille Patterns, Cherokee, Cyrillic, Devanagari, Greek, Han Ideographic, Hebrew, Latin, Ogham, Unified Canadian Aboriginal Syllabics
      +Family:   Serif
      +Styles:   Medium, Italic, Small Caps, Italic Small Caps
      +Availability:   Free download from http://web.meson.org/downloads/ (file Marin.zip)
      +
    • + +
    • MD King KhammuRabi – 1296 glyphs in version 1.0 (version not indicated in font)
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Greek; Cyrillic; Hebrew; Arabic; Latin Extended Additional; General Punctuation; Currency Symbols; Mathematical Operators; Box Drawing; Geometric Shapes; Miscellaneous Symbols; Alphabetic Presentation Forms; Arabic Presentation Forms-A; Arabic Presentation Forms-B
      +OpenType layout tables:   Arabic
      +Family:   Sans-serif
      +Styles:   Normal
      +Availability:   Free download from Assyrian, Aramaic, Caldean, Soryoyo, Ashoraya; produced by Michael Davodian
      +
    • + +
    • Microsoft Sans Serif – 2788 characters (3053 glyphs) in version 5.00
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (127); Cyrillic (255); Cyrillic Supplement (20); Hebrew (87); Arabic (235); Arabic Supplement (30); Thai (87); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (246); Greek Extended (233); General Punctuation (46); Superscripts and Subscripts (7); Currency Symbols (22); Letterlike Symbols (8); Number Forms (5); Mathematical Operators (14); Geometric Shapes (7); Miscellaneous Symbols (2); Latin Extended-C (17); Supplemental Punctuation (1); Modifier Tone Letters (4); Latin Extended-D (2); Alphabetic Presentation Forms (48); Arabic Presentation Forms-A (134); Combining Half Marks (4); Arabic Presentation Forms-B (126); Specials (1)
      +OpenType layout tables:   Arabic
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Supplied with Windows Vista. Version 1.41 (2301 characters, 2257 glyphs) was supplied with Windows XP SP2. Version 1.02 (1090 glyphs) was supplied with Microsoft Windows 2000 and Windows XP
      +
    • + +
    • Minion Pro – 1662 characters (1663 glyphs) in version 2.012
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Greek; Cyrillic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Mathematical Operators
      +OpenType layout tables:   Cyrillic, Greek, Latin
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Adobe Reader 7; free download from Adobe Reader - Download
      +
    • + +
    • Monospace – 2862 glyphs
      +Produced by George Williams
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Hebrew; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Combining Diacritical Marks for Symbols; Letterlike Symbols; Number Forms; Arrows; Mathematical Operators; Miscellaneous Technical; Control Pictures; Enclosed Alphanumerics; Box Drawing; Block Elements; Geometric Shapes; Miscellaneous Symbols; Alphabetic Presentation Forms; Halfwidth and Fullwidth Forms
      +Family:   Monospace
      +Styles:   Roman, Oblique, Bold
      +Availability:   Free download from Monospace font, iso8859 & Unicode or Font database files for pfaedit
      +
    • + +
    • MPH 2B Damase – 2094 characters (2895 glyphs) in version 002.000
      +Ranges:   Basic Latin (95); Latin-1 Supplement (95); Latin Extended-A (128); Latin Extended-B (119); IPA Extensions (16); Spacing Modifier Letters (9); Combining Diacritical Marks (5); Greek (88); Cyrillic (94); Armenian (86); Hebrew (51); Arabic (198); Arabic Supplement (27); Thaana (50); Bengali (10); Thai (1); Georgian (39); Cherokee (85); Hanunoo (23); Limbu (66); Tai Le (35); Buginese (32); Latin Extended Additional (96); General Punctuation (43); Superscripts and Subscripts (1); Currency Symbols (6); Letterlike Symbols (6); Number Forms (6); Arrows (7); Mathematical Operators (15); Miscellaneous Technical (4); Box Drawing (40); Block Elements (8); Geometric Shapes (15); Miscellaneous Symbols (11); Glagolitic (94); Coptic (55); Georgian Supplement (38); Tifinagh (55); Syloti Nagri (44); Alphabetic Presentation Forms (36); Arabic Presentation Forms-A (24); Arabic Presentation Forms-B (88); Specials (1); Linear B Syllabary (74); Linear B Ideograms (73); Aegean Numbers (48); Old Italic (35); Gothic (27); Ugaritic (31); Old Persian (50); Deseret (76); Shavian (48); Osmanya (40); Cypriot Syllabary (55); Phoenician (27); Kharoshthi (65)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Mike Williamson’s Typography page or from my Downloads page
      +
    • + +
    • MS Reference Sans Serif – 1193 glyphs in version 2.00
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Greek; Cyrillic; Latin Extended Additional; General Punctuation; Letterlike Symbols; Mathematical Operators; Miscellaneous Symbols
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Encarta
      +
    • + +
    • MS Reference Serif – 1135 glyphs in version 1.00
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Greek; Cyrillic; Latin Extended Additional; General Punctuation; Letterlike Symbols; Mathematical Operators; Miscellaneous Symbols
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Encarta
      +
    • + +
    • Myriad Pro – 833 characters (834 glyphs) in version 2.006
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; Greek; Cyrillic; Latin Extended Additional; Greek Extended; General Punctuation; Superscripts and Subscripts; Currency Symbols; Mathematical Operators
      +OpenType layout tables:   Cyrillic, Greek, Latin
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Adobe Reader 7; free download from Adobe Reader - Download
      +
    • + +
    • Quivira – 8231 characters (7742 glyphs) in version 3.4
      +Produced by Alexander Lange
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (111); Greek and Coptic (134); Cyrillic (256); Cyrillic Supplement (40); Armenian (86); Hebrew (87); Thai (87); Georgian (83); Cherokee (85); Ogham (29); Runic (81); Tagalog (20); Hanunoo (23); Buhid (20); Tagbanwa (18); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Latin Extended Additional (256); Greek Extended (233); General Punctuation (85); Superscripts and Subscripts (42); Currency Symbols (25); Letterlike Symbols (80); Number Forms (58); Arrows (112); Mathematical Operators (256); Miscellaneous Technical (244); Control Pictures (39); Optical Character Recognition (11); Enclosed Alphanumerics (160); Box Drawing (128); Block Elements (32); Geometric Shapes (96); Miscellaneous Symbols (157); Dingbats (147); Miscellaneous Mathematical Symbols-A (46); Supplemental Arrows-A (16); Braille Patterns (256); Supplemental Arrows-B (128); Miscellaneous Mathematical Symbols-B (128); Supplemental Mathematical Operators (256); Miscellaneous Symbols and Arrows (87); Glagolitic (94); Latin Extended-C (32); Coptic (121); Georgian Supplement (38); Tifinagh (56); Cyrillic Extended-A (32); Supplemental Punctuation (50); Ideographic Description Characters (12); Enclosed CJK Letters and Months (38); Yijing Hexagram Symbols (64); Lisu (48); Cyrillic Extended-B (80); Modifier Tone Letters (32); Latin Extended-D (129); Alphabetic Presentation Forms (58); Halfwidth and Fullwidth Forms (110); Specials (2); Ancient Greek Numbers (75); Ancient Symbols (12); Lycian (29); Carian (49); Old Italic (35); Gothic (27); Lydian (27); Old South Arabian (32); Old Turkic (73); Musical Symbols (84); Ancient Greek Musical Notation (70); Tai Xuan Jing Symbols (87); Counting Rod Numerals (18); Mathematical Alphanumeric Symbols (596); Domino Tiles (100); Enclosed Alphanumeric Supplement (169); Miscellaneous Symbols And Pictographs (109); Emoticons (52)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Quivira 3.4
      +
    • + +
    • Reader Sans – 1269 characters (1291 glyphs) in version mfgtcpp-v4.7 Mar 28 2003
      +Ranges:   Basic Latin (95); Latin-1 Supplement (85); Latin Extended-A (124); Latin Extended-B (65); IPA Extensions (22); Spacing Modifier Letters (4); Combining Diacritical Marks (42); Greek (76); Cyrillic (141); Hebrew (39); Latin Extended Additional (147); Greek Extended (62); General Punctuation (15); Superscripts and Subscripts (28); Currency Symbols (1); Combining Diacritical Marks for Symbols (7); Letterlike Symbols (7); Arrows (18); Mathematical Operators (67); Miscellaneous Technical (2); Control Pictures (1); Miscellaneous Symbols (3); Dingbats (2); CJK Symbols and Punctuation (4); Alphabetic Presentation Forms (32); Combining Half Marks (4)
      +Family:   Monospace
      +Styles:   Roman
      +Availability:   Free download from Integrated Catalogue - Character display help
      +
    • + +
    • RomanCyrillic Std – 3107 characters (3450 glyphs) in version 3.000
      +Also known as CampusRoman Std
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (117); Cyrillic (256); Cyrillic Supplement (36); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (41); Latin Extended Additional (256); Greek Extended (233); General Punctuation (89); Superscripts and Subscripts (36); Currency Symbols (22); Combining Diacritical Marks for Symbols (22); Letterlike Symbols (45); Number Forms (50); Arrows (6); Mathematical Operators (47); Miscellaneous Technical (39); Enclosed Alphanumerics (160); Geometric Shapes (26); Miscellaneous Symbols (43); Dingbats (108); Glagolitic (94); Latin Extended-C (29); Cyrillic Extended-A (32); Supplemental Punctuation (49); Cyrillic Extended-B (88); Modifier Tone Letters (32); Latin Extended-D (100); Alphabetic Presentation Forms (7); Combining Half Marks (7); Small Form Variants (26); Specials (2); Ancient Symbols (12); Gothic (27); Counting Rod Numerals (18)
      +OpenType layout tables:   Latin
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Kodeks - Scripts: RomanCyrillic St Font
      +
    • + +
    • Roman Unicode – 4194 characters (3923 glyphs) in version 3.0
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (190); IPA Extensions (94); Spacing Modifier Letters (63); Greek (91); Cyrillic (245); Cyrillic Supplement (16); Armenian (85); Hebrew (81); Arabic (10); Devanagari (104); Bengali (89); Gurmukhi (1); Gujarati (77); Tibetan (168); Latin Extended Additional (250); Greek Extended (96); General Punctuation (54); Superscripts and Subscripts (21); Currency Symbols (6); Letterlike Symbols (59); Number Forms (13); Arrows (91); Mathematical Operators (19); Miscellaneous Technical (4); Box Drawing (128); Block Elements (22); Geometric Shapes (80); Miscellaneous Symbols (106); Dingbats (1); CJK Symbols and Punctuation (40); Hiragana (88); Katakana (94); Bopomofo (37); Alphabetic Presentation Forms (52)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from Roman Unicode Font
      +
    • + +
    • Rupakara – 393 characters (394 glyphs) in version 1.002
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (37); Latin Extended-B (3); Spacing Modifier Letters (8); Combining Diacritical Marks (18); Greek and Coptic (2); Latin Extended Additional (38); General Punctuation (29); Currency Symbols (26); Letterlike Symbols (1); Mathematical Operators (11); Geometric Shapes (1); Alphabetic Presentation Forms (5)
      +OpenType layout tables:   Latin
      +Family:   Sans-serif
      +Styles:   Regular, Oblique, Bold, Bold Oblique
      +Availability:   Free download from Rupakara, a sans-serif font for India
      +
    • + +
    • Summersby – 1013 characters (1010 glyphs) in version 1.007
      +Ranges:   Basic Latin (95); Latin-1 Supplement (82); Latin Extended-A (119); Latin Extended-B (104); IPA Extensions (7); Spacing Modifier Letters (21); Combining Diacritical Marks (40); Greek (36); Cyrillic (123); Armenian (1); Latin Extended Additional (206); Greek Extended (71); General Punctuation (43); Currency Symbols (1); Letterlike Symbols (3); Arrows (3); Mathematical Operators (1); CJK Symbols and Punctuation (21); Hiragana (42); Katakana (3); Alphabetic Presentation Forms (8)
      +Family:   Sans-serif
      +Styles:   Regular
      +Availability:   Free download from my typefaces - typography - a black raindrop
      +
    • + +
    • Tahoma – 2778 characters (3301 glyphs) in version 5.01
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (110); Greek (124); Cyrillic (255); Cyrillic Supplement (20); Hebrew (87); Arabic (235); Arabic Supplement (30); Thai (87); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (246); Greek Extended (233); General Punctuation (44); Superscripts and Subscripts (6); Currency Symbols (22); Letterlike Symbols (8); Number Forms (5); Mathematical Operators (14); Geometric Shapes (7); Miscellaneous Symbols (1); Latin Extended-C (17); Supplemental Punctuation (1); Modifier Tone Letters (4); Latin Extended-D (2); Alphabetic Presentation Forms (48); Arabic Presentation Forms-A (134); Combining Half Marks (4); Arabic Presentation Forms-B (125); Specials (1)
      +OpenType layout tables:   Arabic, Cyrillic, Hebrew, Latin, Thai
      +Family:   Sans-serif
      +Styles:   Regular, Bold
      +Availability:   Supplied with Microsoft Windows Vista
      +
    • + +
    • Thryomanes – 1472 glyphs in version 2/16/2002
      +Produced by Herman Miller
      +Ranges:   Basic Latin; Latin-1 Supplement; Latin Extended-A; Latin Extended-B; IPA Extensions; Spacing Modifier Letters; Combining Diacritical Marks; Greek; Cyrillic; Latin Extended Additional; Greek Extended; General Punctuation; Arrows
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from The Language Page or Free TrueType Fonts
      +
    • + +
    • Times New Roman – 2790 characters (3380 glyphs) in version 5.01
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (208); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (112); Greek (127); Cyrillic (255); Cyrillic Supplement (20); Hebrew (87); Arabic (235); Arabic Supplement (30); Phonetic Extensions (128); Phonetic Extensions Supplement (64); Combining Diacritical Marks Supplement (13); Latin Extended Additional (246); Greek Extended (233); General Punctuation (56); Superscripts and Subscripts (6); Currency Symbols (22); Letterlike Symbols (8); Number Forms (7); Arrows (7); Mathematical Operators (17); Miscellaneous Technical (4); Box Drawing (40); Block Elements (8); Geometric Shapes (16); Miscellaneous Symbols (12); Latin Extended-C (17); Supplemental Punctuation (1); Modifier Tone Letters (4); Latin Extended-D (2); Alphabetic Presentation Forms (48); Arabic Presentation Forms-A (132); Combining Half Marks (4); Arabic Presentation Forms-B (125); Specials (1)
      +OpenType layout tables:   Arabic, Cyrillic, Hebrew, Latin
      +Family:   Serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Windows Vista. Version 2.82 (1170 characters) was supplied with Windows 2000 and Windows XP, and is available as a free download from Smart package of Microsoft's core fonts
      +
    • + +
    • TITUS Cyberbit Basic – 9209 characters (10044 glyphs) in version 2000; 3.0, initial release
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (183); IPA Extensions (96); Spacing Modifier Letters (80); Combining Diacritical Marks (106); Greek and Coptic (120); Cyrillic (246); Cyrillic Supplement (16); Armenian (86); Hebrew (83); Arabic (183); Syriac (76); Thaana (50); Devanagari (106); Thai (87); Georgian (83); Ethiopic (346); Ogham (30); Runic (81); Phonetic Extensions (108); Latin Extended Additional (247); Greek Extended (233); General Punctuation (63); Superscripts and Subscripts (29); Currency Symbols (12); Letterlike Symbols (10); Number Forms (28); Arrows (20); Mathematical Operators (54); Miscellaneous Technical (8); Enclosed Alphanumerics (112); Box Drawing (99); Block Elements (10); Geometric Shapes (38); Miscellaneous Symbols (25); Glagolitic (94); Coptic (114); Georgian Supplement (38); CJK Symbols and Punctuation (31); Hiragana (90); Katakana (94); Bopomofo (37); CJK Compatibility Ideographs (1); Alphabetic Presentation Forms (53); Arabic Presentation Forms-A (187); CJK Compatibility Forms (27); Small Form Variants (25); Arabic Presentation Forms-B (139); Halfwidth and Fullwidth Forms (157)
      +Family:   Serif
      +Styles:   Regular
      +Availability:   Free download from http://titus.fkidg1.uni-frankfurt.de/unicode/tituut.asp
      +
    • + +
    • Verajja – 1261 characters (1264 glyphs) in version 2.01 August 17, 2005
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (115); Spacing Modifier Letters (20); Combining Diacritical Marks (41); Greek (2); Latin Extended Additional (246); General Punctuation (60); Superscripts and Subscripts (29); Currency Symbols (16); Letterlike Symbols (16); Number Forms (13); Arrows (54); Mathematical Operators (43); Miscellaneous Technical (3); Geometric Shapes (96); Miscellaneous Symbols (161); Alphabetic Presentation Forms (5)
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Free download from Fonts
      +
    • + +
    • Verdana – 736 characters (911 glyphs) in version 5.00
      +Ranges:   Basic Latin (95); Latin-1 Supplement (96); Latin Extended-A (128); Latin Extended-B (16); IPA Extensions (1); Spacing Modifier Letters (9); Combining Diacritical Marks (5); Greek (73); Cyrillic (118); Armenian (2); Thai (1); Latin Extended Additional (96); General Punctuation (26); Superscripts and Subscripts (5); Currency Symbols (22); Letterlike Symbols (7); Number Forms (4); Mathematical Operators (15); Box Drawing (6); Geometric Shapes (6); Miscellaneous Symbols (1); Alphabetic Presentation Forms (2); Halfwidth and Fullwidth Forms (2)
      +OpenType layout tables:   Latin
      +Family:   Sans-serif
      +Styles:   Regular, Italic, Bold, Bold Italic
      +Availability:   Supplied with Microsoft Windows Vista. Version 2.35 (680 characters) was supplied with Windows 2000 and Windows XP, and is available as a free download from Smart package of Microsoft's core fonts
    • + +
    + +Top + + + +
    + +

    Suppliers of commercial Unicode fonts

    + + + +Top + + + +
    + +

    Links to font-related and language-related Web sites

    + + + +
    + +

    Top

    + +

    Copyright © 1999–2011 Alan Wood
    +
    +Created 27th September 1999   Last updated 10th January 2011

    + + + +

    HTML 4.01

    + +

     

     

     

     

     

    + +
    +
    + + + diff --git a/sac/pages/www-anybrowser-org-campaign b/sac/pages/www-anybrowser-org-campaign new file mode 100644 index 0000000..82b04cc --- /dev/null +++ b/sac/pages/www-anybrowser-org-campaign @@ -0,0 +1,83 @@ + + + +Viewable with Any Browser: Campaign + + + + + + + +
    + + + + + + + +
    + + +
    + +
    + + + + +
    +
    +
    +

    +
    +
    +
    +
    + + +
    +
    + +

    Note: This page was written by Cari D. Burstein to express the sentiment behind the "Viewable With Any Browser" campaign. If you were referred here from a web site bearing the "Viewable With Any Browser" themed graphic or text, it means that the site author agrees with the campaign and is participating in the effort to discourage browser specific web design. Read below for more information on what it's all about, and to see if you'd like to participate.

    "Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network."
      -- Tim Berners-Lee in Technology Review, July 1996

    If you've come to this page, you're probably curious about the "Viewable With Any Browser" themed button on it. Here's my explanation. I am very unhappy with the current trend towards web sites designing only for specific browsers and ignoring others. It's extremely annoying to me to visit a web site and to find that I've been rejected until I come back with Netscape or Internet Explorer. It's also annoying to visit web sites that allow you in with any browser, but rely heavily on tags only supported in a few popular browsers, or leave out support for text browsers.

    I would like to reverse this trend. I know I can't change the web by myself, but every little bit counts, and this is my vote for a platform independent, non-browser specific World Wide Web. So, I have displayed the "Viewable With Any Browser" button to emphasize that I try to create my web sites to be viewable in all browsers, and totally functional. Some pages may look better in some browsers than others, but they should all be readable by any browser. I try to only use browser specific tags in appropriate manners, and only if there's a good reason for their use, and in the cases in which I've used tags which only some browsers support, such as image maps, frames, Java, etc., I have done my best to utilize the graceful degradability options available in HTML or provided alternatives for browsers that don't support them. Please let me know if you come across anything on my web pages that doesn't work in your browser (be specific about what browser you're using and what didn't work) and I'll try to fix it.

    I invite anyone who wants to join in this effort to go ahead and copy any of the many graphics provided by participants in the campaign, which are available on the Any Browser Graphics page. If you feel like creating other graphics for the campaign, please do! (and let me know if I can provide that graphic for others to use). I would prefer if you linked the graphic to this page, so that people know what it's all about, or create your own page about this campaign, but if you don't want to that's cool with me too.

    Here is a sample bit of html you can use (with appropriate modifications) if you like:

    <p><a href="http://www.anybrowser.org/campaign/"><img src="path-to-graphic/graphicname" width="graphic-width-in-pixels" height="graphic-height-in-pixels" alt="Viewable With Any Browser" /></a></p>

    Note: You should choose one of the graphics from the Any Browser Graphics page and copy it to your web site directory, and modify the above code to match your setup and the graphic you've chosen. Don't link directly to the graphic on my server if you can help it, because it will slow the loading of your page, create more stress on my server, and if I have to move the file, you could find that your link stops working suddenly.

    If you would rather not display a graphic on your site, but would like to let people know that your site is designed to work with any browser, you might want to just add a text link somewhere on your site that says something along the lines of "Viewable With Your Favorite Browser" or "Best Viewed With Any Browser" (or whatever you want to say that reflects your approach). It would be nice if you would link this text to this page or if you would create your own page describing the campaign so that people who want to know about it can find more information, and perhaps design their own sites to be viewable by everyone. You may want to visit the Any Browser Graphics page to look for other campaign slogans that have been provided by campaign participants.

    There are two main reasons to put the graphic and/or text on your site if you design web sites that are viewable in any browser:

    • To let your visitors know that you are making an effort to make your site usable by everyone.
    • To encourage other people to design their sites so they are viewable in all browsers.

    There are many useful resources throughout the web for accessible design. You can find some in the links section.

    If you come across sites which aren't accessible and you would like to encourage them to make them viewable by any browser, it is a good idea to send them a message. There are some example letters available on this site.

    I hope you'll join in the effort to discourage browser specific web design and help protect freedom of choice for all web users.

    Let me know if you have any questions, comments, or suggestions.

    +
    +
    + +
    +
    + + + +
    + + diff --git a/sac/pages/www-archmission-org b/sac/pages/www-archmission-org new file mode 100644 index 0000000..e85f6da --- /dev/null +++ b/sac/pages/www-archmission-org @@ -0,0 +1,1764 @@ + + + + + + + + + +Arch Mission Foundation - Preserving humanity forever, in space and on Earth. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + +
    + + + + + Our Vision + + + + + + Our Team + + + + + + Partners + + + + + + + Press + + + + + + + Contact + + + +
    + + + +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + +
    + + + + + + + + + + + +
    + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    +
    + + + +
    +
    + + +
    +
    + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + + + + + + + + +
    The Arch Mission is building a billion-year backup of humanityUsing nanofiche, 5D quartz memory crystals, and synthetic DNA. We’re building a real-life Encyclopedia Galactica from Issac Asimov's Foundation series.
    + +
    +
    + + + +
    +
    +
    + +
    + + +
    + +
    + + + +
    +
    + +
    +

    Preserving Knowledge, Forever.

    The Arch Mission Foundation is a nonprofit that archives humanity’s heritage for future generations.

    +
    + + + + + + + + + + + + + + + + + + + + + + +
     
    +
    + + +
    + + Earth-Hero-Image.png + +
    + + +
    + + + + + + + +
    + +
    +
    + +
    +

    Our partners.
    The best Earth has to offer.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    +
    + + + +
    + + + + + + + +
    + +
    +
    + +
    +

    Add your story to the
    Billion-Year Archive.

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + drew-graham-cTKGZJTMJQU-unsplash.jpg + +
    + + +
    + + + + + + + +
    + +
    +
    + +
    +

    Dreams for tomorrow.
    Missions for today.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
     
     
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + + + +
    +
    + + + + + + + + Elon_Musk%27s_Tesla_Roadster_%2840143096241%29.jpg + +
    +
    + + + + + + +
    + + +
    + + + + + + +
    + +
    +

    The FOUNDATION Library (SpaceX, 2018)

    Our first mission was launched by SpaceX on the Falcon Heavy Test launch and is now entering an orbit around the Sun for millions of years.  This first Arch Library contains Isaac Asimov’s Foundation Trilogy. 

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + + + +
    +
    + + + + + + + + Screen%2BShot%2B2019-04-23%2Bat%2B11.38.11%2BAM.jpg + +
    +
    + + + + + + +
    + + +
    + + + + + + +
    + +
    +

    The Lunar Library I (SpaceIL 2019)

    The first major installation of the Lunar Library is a 30 million page archive that flew on the SpaceIL Beresheet Moon lander, in 2019: It is now believed to be intact on the Moon.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + + + +
    +
    + + + + + + + + Peregrine_1.0.jpg + +
    +
    + + + + + + +
    + + +
    + + + + + + +
    + +
    +

    The Lunar Library II (Astrobotic, 2024)

    The Arch Mission Foundation is delivering the second installment in the Lunar Library,™ containing additional content, in an upcoming mission with Astrobotic to the lunar surface. Learn More >

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    + + + + + + + +
    +
    + + + + + + + + + +
    +
    + + + + + + +
    + + +
    + + + + + + +
    + +
    +

    The Global Knowledge Vault (Hagerbach, 2024)

    The First Major installation of the Earth Library, located inside the Hagerbach deep underground research facility in Switzerland. Learn More >

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    +
    + + + +
    + + + + + + + + +
    + +
    +
    + +
    + + + +
    + + +
    + + + + + + + + + + diff --git a/sac/pages/www-arthurperret-fr b/sac/pages/www-arthurperret-fr new file mode 100644 index 0000000..608d1ef --- /dev/null +++ b/sac/pages/www-arthurperret-fr @@ -0,0 +1,711 @@ + + + + + + + + + +Arthur Perret - Enseignant chercheur en sciences de l’information et de la communication + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + +
    + +
    +
    + +

    Arthur Perret - Enseignant chercheur en sciences de l’information et de la communication

    + + +
    +

    Bio

    +
    +

    Je suis maître de conférences en sciences de l’information et de la communication à l’IUT de l’Université Jean Moulin Lyon 3, membre d’ELICO et chercheur associé au MICA. Je travaille sur les données, documents et dispositifs impliqués dans les processus d’écriture, de documentation et d’édition. Ma thèse porte sur l’héritage épistémologique de Paul Otlet. Depuis 2021, je conçois le logiciel Cosma, développé par Guillaume Brioudes. Je suis également co-organisateur des journées d’étude Reticulum et membre du collectif Inachevé d’imprimer.

    +

    Quelques mots-clés : documentation, organisation des connaissances, données, métadonnées, format texte, information scientifique, visualisation, design, écriture, édition, publication, épistémologie.

    +

    HAL · ORCID · Mastodon · Flux (qu’est-ce que c’est ?)

    +

    Email : contact @ nom de domaine de ce site.

    +
    +
    +

    I am Assistant Professor of Information and Communication Sciences at Université Jean Moulin Lyon 3. I am a member of ELICO and an associate of MICA. I study the data, documents and devices involved in writing, documentation and publishing. My dissertation deals with the epistemological legacy of Paul Otlet. I am the principal investigator for Cosma, developed by Guillaume Brioudes. I also co-organize the Reticulum info-com-design conference, and co-animate the Inachevé d’imprimer webinar on digital publishing.

    +

    A few keywords: documentation, knowledge organization, data, metadata, plain text, scientific information, visualization, design, writing, text editing, publishing, epistemology.

    +

    HAL · ORCID · Mastodon · Feed

    +

    Email: contact @ this site.

    +
    +

    A note for English-reading visitors

    +

    Thank you for taking an interest in my work. Only some of my publications are in English: check the Articles section, and some of my 2022 blog posts.

    +
    +
    +
    +
    +

    Portrait

    +
    + +
    +
    +
    +

    À venir :

    + +
    +
    +

    Articles

    +
    +

    Textes évalués par les pairs ou en cours d’évaluation

    +
    +
    +

    Peer-reviewed articles and preprints under public review

    +
    +
    +

    2023

    + +
    +
    +

    2022

    + +
    +
    +

    2021

    + +
    +
    +

    2020

    + +
    +
    +

    2019

    + +
    +
    +

    2018

    + +
    +
    +
    +

    Blog

    +
    +

    Recherches et réflexions en cours
    + : suggestions de lecture (explication)

    +
    +
    +

    Ongoing reflections and experiments
    +⟡ : blog highlights

    +
    +
    +

    2024

    + +
    +
    +

    2023

    + +
    +
    +

    2022

    + +
    +
    +

    2021

    + +
    +
    +

    Années précédentes

    +
    + +Voir les billets + +
    +

    2020

    + +
    +
    +

    2019

    + +
    +
    +

    2018

    + +
    +
    +
    +
+
+

Veille

+
+

Signalement de ressources et de liens utiles (consulter les sources)

+
+
+

Useful resources and links from other places (list of sources)

+
+
+

2024

+ +
+
+

2023

+ +
+
+

2022

+ +
+
+

Années précédentes

+
+ +Voir les entrées + +
+

2021

+ +
+
+

2020

+ +
+
+
+

+
+

Thèse

+
+

De l’héritage épistémologique de Paul Otlet à une théorie relationnelle de l’organisation des connaissances

+
+
+

From Paul Otlet’s epistemological legacy to a relational theory of knowledge organization

+
+

https://these.arthurperret.fr

+

+
+
+

Cours

+
+

Ressources pédagogiques permanentes, mises à jour ponctuellement

+
+
+

Course materials for students and professionals

+
+ +
+
+

Colophon

+
+

Sauf mention contraire, les contenus publiés sur ce site sont réutilisables suivant les termes de la licence Creative Commons Attribution 4.0 International (CC BY), cf. résumé et texte intégral.

+

Ce site est fabriqué avec Pandoc et Make. Il utilise les polices EB Garamond et Inconsolata (licence OFL). La Femme avec tablettes de cire et stylet (dite « Sappho ») provient du Musée archéologique national de Naples (licence CC BY-SA). L’icône RSS appartient à la fondation Mozilla (licence MPL).

+
+
+

Except otherwise mentioned, the contents of this website are licensed under Creative Commons Attribution 4.0 International (CC BY) (summary, full text).

+

This site is crafted with Pandoc and Make. The fonts used are EB Garamond (The EB Garamond Project Authors, 2017, OFL license) and Inconsolata (The Inconsolata Project Authors, 2006, OFL license). The Woman with wax tablets and stylus (so-called “Sappho”) is from the Naples National Archaeological Museum (CC BY-SA license). The RSS icon is from the Mozilla Foundation (MPL license).

+
+
+ +
CC BY Arthur Perret 2020-2024
Créé avec Pandoc et Make
+ + + + + + diff --git a/sac/pages/www-arthurperret-fr-blog-2024-03-08-wikipedia-democratie-rhetorique-html b/sac/pages/www-arthurperret-fr-blog-2024-03-08-wikipedia-democratie-rhetorique-html new file mode 100644 index 0000000..591fd8a --- /dev/null +++ b/sac/pages/www-arthurperret-fr-blog-2024-03-08-wikipedia-democratie-rhetorique-html @@ -0,0 +1,365 @@ + + + + + + + + + +Wikipédia, démocratie rhétorique + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ +
+
+ +

Wikipédia, démocratie rhétorique

+ + +

Depuis quelques années, des discussions ont lieu dans la version francophone de WikipédiaNom officiel : Wikipédia en français. Dans ce billet j’utiliserai simplement « Wikipédia » comme raccourci pour désigner la version francophone.
+
pour essayer d’aboutir à des conventions de styles relatives à la transidentité, comme dans la version anglophone. Début 2024, un sondage interne à Wikipédia a été ouvert à propos de la mention du nom de naissance pour les personnes trans. Ce sondage a suscité presque immédiatement la polémique. L’affaire a été beaucoup discutée sur Mastodon et s’est retrouvée dans la presse.

+

Jusque-là, mon rapport à Wikipédia était assez banal : consultation fréquente (plusieurs fois par semaines, voire par jour) mais pas de contribution. Il faut dire que j’avais retenu la leçon vécue par Marc JahjahUne tragédie en deux tweets : enthousiasme puis déception.
+
 : il vaut mieux s’être bien renseigné sur le fonctionnement de Wikipédia avant de contribuer, car c’est rempli de patrouilleurs indélicats. Et pour présenter rapidement Wikipédia en cours, une compréhension de surface suffit.

+

Arrive cette controverse sur le nom des personnes trans. Parce que je connais quelques universitaires impliqués dans les débats, j’ai commencé à parcourir les pages de discussion, par curiosité. Et parce qu’il est indispensable de se renseigner sur le fonctionnement de Wikipédia pour décoder ces discussions, notamment tous les sigles employés, je me suis mis à parcourir toutes les pages qui décrivent le projet Wikipédia, notamment sa hiérarchie des normes (principes fondateurs, règles et recommandations).

+

Dans la foulée, quelques personnes ont publié des analyses : « contradiction entre volonté de transparence et d’entre-soi » ; « désillusion de l’intelligence collective »… c’est là que les roues se sont mises à tourner à toute vitesse dans ma tête.

+ +

Attention : ce qui suit, ce sont mes élucubrations personnelles. Si je les partage, c’est parce qu’elle ne recoupent pas ce que j’ai pu lire ailleurs. Coïncidence, ces jours-ci sort un livre de Sana Boussetat intitulé La formule Wikipédia. Je vois dans la table des matières que quelques pages portent sur le débat participatif et la gestion des conflits, il va en être question dans ce billet… En m’exprimant sur un sujet qui n’est pas ma spécialité, je risque un peu la sortie de piste, donc je préfère le signaler dès ici. Si besoin, je mettrai mon billet à jour.

+
+

Communs

+

Wikipédia fait partie des biens communs, plus spécifiquement de la catégorie des biens communs informationnels, ou communs de la connaissance. Quand on parle de « communs » tout court, on entend généralement des espaces « collectivement construits et administrés »Merzeau, « De la communication aux communs », 2016.
+
.

+

Wikipédia fait le pari de l’intelligence collectiveSur ce sujet, un ouvrage de référence : Lévy, L’intelligence collective, 1997.
+
. Or Tam Kien Duong résume justement la controverse actuelle comme une « désillusion de l’intelligence collective ». Pour qu’il y ait désillusion, il faut qu’il y ait illusion. Alors voici une hypothèse : on a pensé que les communs de la connaissance seraient vertueux par essence. Utopie :

+
+

“Outcomes of the interactions of people and resources can be positive or negative or somewhere in between. Frequently, within the intellectual arena, the concept of the commons is a battle cry for free speech, universal open access, and self-governance […] It can be constructive and often provides the impetus to collective action around the commons. But a commons is not value laden—its outcome can be good or bad, sustainable or not.” « Le fruit des rencontres entre les biens et les personnes peut être aussi bien positif que négatif ou quelque part entre les deux. Dans l’arène intellectuelle, le concept des biens communs est souvent brandi comme un étendard synonyme de liberté d’expression, d’accès libre et universel, et d’autogestion […] Cela peut être constructif, d’ailleurs cela donne souvent de l’élan aux actions collectives autour des communs. Mais un commun n’est pas chargé de valeurs. Son impact peut être bon ou mauvais, durable ou nonHess et Ostrom (dir.), Understanding knowledge as a commons, 2007, p. 13‑14.
+
 ».

+
+

Les effets produits par les communs de la connaissance dépendent donc de la manière dont ils sont collectivement construits et administrés.

+

Comme pour chaque autre catégorie de biens communs, concevoir des communs de la connaissance implique des difficultés spécifiques. Et dans le cas de Wikipédia, il y en a une qui s’est avérée particulièrement aiguë : la tension entre l’idée d’une encyclopédie qui doit être une source de savoir contrôlé, et le principe d’une encyclopédie ouverte, dont tout le monde peut parler, que tout le monde peut rejoindre.

+
+
+

Démocratie

+

Quand on utilise le nom « Wikipédia », on peut désigner l’encyclopédie mais aussi l’organisation qui produit cette encyclopédie. La nature de l’encyclopédie est clairement expliquée sur la page Wikipédia est une encyclopédie : c’est une collection d’articles qui présentent chacun une synthèse des connaissances sur un sujet. En revanche, la nature de l’organisation est un peu moins simple à appréhender.

+

La page Principes fondateurs définit dans les grandes lignes « Wikipédia et les conditions de son élaboration ». Elle parle aussi d’un « projet collaboratif ». La page Ce que Wikipédia n’est pas mentionne une « communauté ». Pour mieux cerner cette organisation, il faut donc creuser. On découvrira progressivement que le fonctionnement de Wikipédia est organisé suivant une hiérarchie des normes :

+
    +
  • principes fondateurs (fondement intangible) ;
  • +
  • règles (issues d’une prise de décision, c’est-à-dire d’un vote) ;
  • +
  • recommandations (élaborées par consensus) ;
  • +
  • essais (propositions relatives au fonctionnement de l’encyclopédie).
  • +
+

Comment qualifier ce fonctionnement ? Démocratique ? Bureaucratique ? Si on en croit Wikipédia, ni l’un ni l’autre. D’abord, ce ne serait pas « un projet politique » :

+
+

« La communauté s’est dotée de certaines règles, mais il ne faut pas perdre de vue qu’elles n’existent que pour le but auquel la communauté aspire : construire une encyclopédie de qualité. Par extension, Wikipédia n’est ni une démocratie, ni une dictature, ni une anarchie, ou toute autre tentative de réalisation d’un projet politique quelconque. »

+
+

Ce passage a de quoi étonner. Le terme « démocratie » est ramené à une définition historique – « tentative de réalisation d’un projet politique » –, ce qui permet d’affirmer ensuite que Wikipédia ne correspond pas à la définition. Or cette dernière est contestable. On peut arguer du fait que la démocratie n’est pas un processus historique mais sociologique : Raymond Aron par exemple définit la démocratie comme l’organisation pacifique de la compétition pour le pouvoir, et cela s’applique très bien à Wikipédia.

+
+
+

Consensus

+

Wikipédia a donc un fonctionnement démocratique, que Dominique Cardon résume ainsi : « Wikipédia possède une sorte de Constitution, dont les principes, les règles et les recommandations permettent de trancher en cas de litigeCardon, Culture numérique, 2019, p. 126.
+
 ». Concrètement, il y a du vote à certains niveaux mais pas partout : le mécanisme central est en fait le consensus. Celui-ci repose sur les règles suivantes :

+
    +
  • il y a toujours un consensus pré-établi, qu’il soit tacite ou manifeste ;
  • +
  • si vous voulez modifier quelque chose, « cherchez une modification judicieuse mariant les idées de chacun » ;
  • +
  • si vous êtes en désaccord, « trouvez un compromis » ;
  • +
  • si le désaccord persiste, on revient au consensus précédent.
  • +
+

Le consensus est un processus dialectique : on exprime des avis ; on interprète l’ensemble de ces avis ; on exprime des accords ou désaccords à propos de cette interprétation. Or ce processus n’a qu’un ensemble limité de règles, qui se concentrent sur la mise en forme, la politesse et la traçabilité. Il n’y a pas de règlement politique du consensus. Et pour moi, une dialectique sans règles politiques dégénère immédiatement en rhétorique.

+
+
+

Bureaucratie

+

Wikipédia est parfois qualifiée de bureaucratie. L’encyclopédie elle-même affirme ressembler à une bureaucratie mais ne pas en être une :

+
+

« Bien que Wikipédia rassemble de nombreux éléments d’une bureaucratie, elle n’est pas régie par les lois : ce n’est pas un organisme quasi-judiciaire, et les règles ne sont pas le but final de la communauté. Bien que certaines règles puissent être appliquées, les règles écrites ne fixent pas l’usage accepté. Elles se contentent plutôt de documenter les consensus communautaires existants concernant ce qui doit être accepté et ce qui doit être rejeté. »

+
+

On retrouve le même problème qu’avec « démocratie » : le terme est défini de manière très spécifique pour pouvoir dire ensuite que Wikipédia ne correspond pas à la définition. Pour moi, l’affirmation ci-dessus ne permet pas de dire que Wikipédia n’est pas une bureaucratie, circulez, y’a rien à voir. Tout ce qu’elle fait, c’est déplacer le centre de gravité du fonctionnement bureaucratique vers le consensus, qui est un processus tout à fait formalisé – il est même représenté sous la forme d’un schéma décisionnel.

+

Sachant qu’on revient toujours au consensus précédent si un nouveau consensus ne peut pas être trouvé, le système tend au statu quo, en raison d’un paradoxe empirique : un consensus peut s’obtenir très facilement (soit parce qu’il est tacite, soit parce qu’il est produit par une toute petite poignée de contributeurs) mais un nouveau consensus peut être très difficile à obtenir, parce qu’il implique un dilemme social (la remise en question d’un consensus) et que le dépassement de ce dilemme génère une friction énorme.

+

En effet, et contrairement à l’un des principes essentiels de conception des communs – créer des mécanismes de résolution des conflits dont le coût soit peu élevéHess et Ostrom (dir.), cité, p. 9.
+
–, l’élaboration du consensus sur Wikipédia contient plusieurs sources de frictions majeures.

+

Il y a d’abord ce parasitage de la dialectique par la rhétorique, que j’ai évoqué un peu plus tôt. Certaines personnes le dénoncent parfois, en accusant des contributeurs favorables au statu quo d’étirer les discussions à dessein pour épuiser leurs contradicteurs, qui finissent par jeter l’éponge. Selon moi, Wikipédia souffre ici d’un déficit de régulation. Dans l’espace public politique, il n’y a pas que les suffrages qui soient réglementés : la parole l’est aussi. Ce n’est pas pour rien que l’Assemblée nationale fonctionne avec des temps de parole et un agenda. Une discussion sans limite de temps ou de signes, sans contrainte basée sur la représentativité des interlocuteurs, c’est une discussion qui favorise naturellement les esprits procéduriers et vétilleux.

+

Il y a ensuite l’effet « aiguille dans une botte de foin » : un sujet passe facilement sous les radars, du fait de l’immensité de l’encyclopédie. Les personnes qui pourraient y contribuer utilement ne sont donc pas forcément au courant, malgré des mécanismes comme le Bistro – la page d’actualités quotidienne de Wikipédia en français.

+

Autre source de frictions, la prime à l’ancienneté : considérer que ceux qui contribuent suffisamment et régulièrement à Wikipédia sont plus légitimes que les autres pour décider de son fonctionnement. Cette idée a un versant positif, aligné avec la notion de biens communs en général : les communs doivent être administrés par la communauté concernée. Mais elle a aussi un versant négatif, quand on conçoit cette communauté comme structurée en cercles concentriques hermétiques. Pour réduire la tension entre l’envie d’ouvrir l’encyclopédie et la nécessité de protéger son fonctionnement interne, les contributeurs utilisent par exemple des critères de participation aux sondages (nombre de contributions total, nombre de contributions récentes). Ceci permet de se protéger de manœuvres visant à détourner le projet encyclopédique en faveur d’intérêts particuliers. Mais cela empêche aussi des groupes de voir leurs intérêts représentés dans le processus, ce qui les repousse vers des mécanismes externes de résolution des conflits, comme les systèmes médiatique et judiciaire.

+

Certaines recommandations de Wikipédia comme Ne mordez pas les nouveaux visent à éviter la discrimination envers les novices ; j’ai mentionné en introduction le cas de Marc Jahjah, eh bien le contributeur qui l’avait si mal accueilli a été sanctionné. La prime à l’ancienneté est une forme plus subtile de cette même logique, qui permet paradoxalement de reconstituer des enclosures à l’intérieur du bien commun.

+

Ces différents phénomènes compliquent la résolution des conflits les plus difficiles. Et à cela viennent s’ajouter deux notions qui m’ont l’air de causer beaucoup de problèmes : la neutralité et la bonne foi.

+
+
+

Neutralité

+

L’un des Principes fondateurs de Wikipédia est la Neutralité de point de vue. Il ne s’agit pas de faire émerger un « point de vue neutre » mais de restituer la pluralité des points de vue de manière neutre, c’est-à-dire de manière équitable, en contextualisant les différents points de vue, et en citant des sources.

+

La neutralité pose des difficultés car son sens dérive vite. Sur la page de discussion du fameux sondage, on peut lire plusieurs commentaires qui opposent « la communauté Wikipédia » à des « communautés militantes », qui ne seraient pas « neutres ». C’est oublier que la neutralité de Wikipédia n’est pas la recherche d’un point de vue neutre mais d’une pluralité de points de vue. C’est surtout croire qu’il existerait une séparation magique entre une communauté Wikipédia qui serait non militante et des communautés extérieures militantes.

+

Militer consiste à « agir pour faire reconnaître et triompher ses idées » (source : TLF). Sachant que la frontière qui séparerait Wikipédia du reste de la société n’existe en fait pas, il est inévitable que des personnes militantes s’impliquent sur Wikipédia. Si une personne militante agit en opposition au principe de neutralité, par exemple en effaçant les idées contraires aux siennes, ses modifications (qui peuvent s’apparenter à du vandalisme) seront retoquées. Mais si elle respecte les règles de Wikipédia, par exemple en faisant représenter ses idées aux côtés d’idées antagonistes, alors son militantisme n’est pas un danger pour Wikipédia. De fait, nombre de contributeurs sur Wikipédia sont « militants » de quelque chose et l’encyclopédie s’en porte très bien.

+

Qualifier les militants de « non neutres », c’est donc confondre les actions concrètes de personnes militantes et leurs objectifs supposés, c’est-à-dire leur faire un procès d’intention. Et c’est ici qu’intervient l’hypocrisie de la « bonne foi ».

+
+
+

Bonne foi

+

Supposez la bonne foi est une recommandation importante dans Wikipédia. Elle implique deux choses :

+
+

« Quand vous pouvez supposer raisonnablement qu’une erreur faite par quelqu’un est née d’une bonne intention pour atteindre les objectifs du projet, corrigez-la sans la critiquer. »

+

« Quand vous n’êtes pas d’accord avec quelqu’un, rappelez-vous qu’il est probable qu’il souhaite et croit sincèrement contribuer à Wikipédia. »

+
+

La bonne foi est ainsi définie comme le souhait sincère de faire progresser l’encyclopédie, de ne pas la dégrader ni lui nuire. En d’autres termes, cela consiste à respecter les principes fondateurs, et notamment le deuxième – la neutralité de point de vue.

+

Que la bonne foi existe chez certains, c’est une certitude. En revanche, la présomption systématique de bonne foi me semble constituer un principe naïf, ce que Frédéric Lordon appellerait une « anthropologie enchantée ». Présumer la bonne foi n’implique pas que les gens soient réellement de bonne foi. Et au risque d’enfoncer des portes ouvertes, rien ne permet de présumer que la communauté Wikipédia est constituée exclusivement de gens parfaitement informés et toujours bienveillants : tout indique au contraire qu’elle peut être un haut lieu d’ignorance et d’intolérance, et qu’en cela elle s’inscrit malheureusement assez bien dans l’histoire de l’encyclopédisme et de l’organisation des connaissances.

+

Dans la discussion à propos du fameux sondage, il y a quelques personnes qui me semblent d’une mauvaise foi crasse, évidente, assumée ; des personnes dont tout le monde peut voir qu’elles utilisent sciemment les règles pour orienter le cours des choses dans le sens qu’elles veulent. « Mais non, pensez-vous, je ne fais que m’en tenir aux principes de notre encyclopédie. » Il suffit de lire leur page utilisateur pour découvrir une adhésion revendiquée à des écoles de pensée et des familles idéologiques. L’hypocrisie dont je parlais est là : dire qu’il faut présumer de la bonne foi, se récrier face à toute accusation de parti pris idéologique, et faire des procès d’intention à ceux qui s’opposent à nous.

+

Cela va donc sembler un peu violent, surtout pour les personnes attachées à ce principe, mais je crois que la présomption de bonne foi est à la fois une friction et une fiction. C’est un piètre paravent, qui empêche de forcer tout un chacun à jouer cartes sur table dans la résolution des conflits. Elle grippe l’élaboration du consensus. Elle aiguise la duplicité de ceux qui masquent leurs intentions tout en dénonçant celles des autres. Elle permet à certains de jouir d’un pouvoir légitimé par des règles qu’il est très difficile de faire évoluer, par inertie ou effet de majorité ; des gens qui feront tout pour écœurer les personnes opposées à la reconduction de l’existant, et qui n’hésiteront pas à affirmer ensuite que ce sont ces opposants qui ont déserté (comme on peut le lire dans le Bistro du 6 mars).

+

À ce stade de l’écriture, je fais une pause pour boire un verre d’eau et me calmer un peu afin de finir sur une note un peu plus maîtrisée. Pas simple car en lisant des pages de discussion Wikipédia, on attrape vite un syndrôme d’exaspération par procuration.

+
+
+

Information

+

Suite au sondage, la controverse a fait tache d’huile et atteint désormais de nombreuses pages de discussion, comme celle d’Elliot Page, Chelsea Manning ou encore Laverne Cox. Certaines personnes questionnent le choix des informations données, leur forme, leur place. D’autres résistent, avec plus ou moins de… bonne foi.

+

Le désaccord porte sur la tension entre la volonté d’informer et celle de « ne pas nuire », cette dernière faisant partie des recommandations de Wikipédia concernant les Biographies de personnes vivantes. J’ai dit que Wikipédia est une encyclopédie et une organisation, il manquait donc un troisème élément : le lectorat. C’est essentiel car la controverse porte sur l’acte d’informer, qui est la fonction de l’encyclopédie. La neutralité de point de vue, par exemple, est pensée non pas pour elle-même mais pour le bénéfice des lecteurs.

+

Or, et c’est une autre difficulté intrinsèque à l’usage du mot « neutralité », certains sur Wikipédia croient qu’il est possible d’informer de manière neutre. Il y aurait une équivalence entre respecter la pluralité des points de vue et informer le lectorat de façon neutre. Voilà qui sonne à mes oreilles comme une résurgence du modèle de la communication chez Shannon« A Mathematical Theory of Communication », 1948.
+
 : un tuyau qu’on optimise jusqu’à ce que le bruit disparaisse. C’est impossible : informer/s’informer, c’est un processus communicationnel qui implique réception et feedbackWiener, La cybernétique, 2014 [1948] ; Wiener, Cybernétique et société, 2014 [1954].
+
. C’est toujours situé, toujours soumis à diverses subjectivités, toujours parasité – jamais neutre.

+

Si je devais le dire avec d’autres concepts d’info-com, je dirais qu’il y a une poussée ces jours-ci sur Wikipédia pour tenir compte de l’expérience informationnelleEn anglais information experience, voir Bruce et al. (dir.), Information experience, 2014 ; également Gorichanaz, « Information and experience, a dialogue », 2017 ; parmi les travaux précurseurs, il y a la notion d’information-as-experience chez Buckland, « Information as thing », 1991.
+
des personnes documentées dans l’encyclopédie. C’est un rejet de la tyrannie de la majorité, version encyclopédique. Et je dirais aussi que cela relève d’une chose plus générale : la volonté de tenir compte des valeurs portées par les processus/systèmes d’organisation des connaissances et des effets qu’ils produisent – ce que Birger Hjørland appelle une épistémologie « pragmatique » de l’organisation des connaissancesHjørland, « Classification », 2017.
+
. C’est ce courant de pensée qui produit aujourd’hui des recherches sur l’invisibilisation de certains groupes sociaux dans les archives et les encyclopédies, par exemple.

+
+
+

Universalisme

+

Dans le fonctionnement de Wikipédia, les dilemmes sociaux qui ne peuvent être tranchés débouchent sur des compromis. Il n’y a pas d’autre issue au dissensus que le consensus. Pourquoi ? Parce que Wikipédia est conçu pour afficher toujours le même contenu pour chaque lecteur.

+

Dans un article de Wikipédia, on peut lire deux sections qui présentent des idées contradictoires. Mais on ne peut pas lire deux articles différents sur le même sujet, qui développent chacun leur lecture de ces contradictions. C’est le principal grief envers Wikipédia de mon co-directeur de thèse, l’historien Bertrand Müller, qui travaille sur le développement d’encyclopédies documentaires numériques capables de représenter le dissensus d’une autre manière. C’est en discutant de ce genre de chose que je me suis mis à faire des fiches de la forme « Concept (Auteur) » pour documenter des variantes de concepts par auteurs, et qu’à la fin on s’est retrouvés avec Cosma.

+

Dans un article de Wikipédia, on peut lire qu’une personne stylise son nom d’une certaine manière, tout en minuscules par exemple. Mais on ne peut pas cocher une option qui permette d’afficher l’article dans cette convention de style. Il en résulte des bizarreries : on a un article « bell hooks » mais un article « Danah Boyd ».

+

Dans un article de Wikipédia, on peut lire qu’une personne souffre de voir certaines informations divulguées, comme un nom de naissance. Mais on ne peut pas lire une version de cet article où ce nom est caché par défaut. Cela ne concerne pas que des personnes ayant fait une transition mais aussi des artistes dont le nom d’origine fuite et se retrouve relayé par Wikipédia (j’ai un exemple en tête mais par politesse je ne le citerai pas).

+

Bref, Wikipédia est à la fois très innovante et pas innovante du tout. En tant qu’organisation éditoriale, c’est une nouveauté (et une réussite) indéniable. Le modèle encyclopédique, lui, est beaucoup plus classique, surtout au regard de ce qu’on pourrait faire avec le Web, les ontologies, le balisage sémantique… À quand Wikipédia multiformats ?

+
+

Pour clore ce billet bien trop long, je tiens à exprimer un petit message de soutien (sans les nommer) aux collègues qui s’investissent dans Wikipédia. Ils et elles se reconnaîtront. J’admire leur courage et leur patience. Si j’ai qualifié Wikipédia de démocratie rhétorique, disserté sur l’illusion de la présomption de bonne foi et les confusions autour de la neutralité, imaginé des rebonds parmi les concepts de ma discipline, eh bien c’est d’abord parce qu’il y a des collègues qui travaillent dur en première ligne et qui font connaître leurs efforts. Alors on s’y intéresse, on découvre de nouvelles choses, on élabore ses propres idées. Mais surtout l’enjeu c’est de propager l’idée centrale des communs : l’auto-organisation des personnes concernées. Au-delà des éléments précis abordés dans ce billet, c’est surtout cette idée-là qui me semble importante et intéressante.

+
+
+

Bibliographie

+
+
+Bruce, Davis, Hughes, Partridge et Stoodley (dir.). Information experience: approaches to theory and practice. Emerald, 2014. 978-1-78350-815-0. +
+
+Buckland, Michael. « Information as thing ». Journal of the American Society for Information Science. 1991, Vol. 42, n° 5, p. 351‑360. https://doi.org/10.1002/(SICI)1097-4571(199106)42:5<351::AID-ASI5>3.0.CO;2-3. +
+
+Cardon, Dominique. Culture numérique. Presses de Sciences Po, 2019. Les petites humanités. 978-2-7246-2365-9. +
+
+Gorichanaz, Tim. « Information and experience, a dialogue ». Journal of Documentation. 2017, Vol. 73, n° 3, p. 500‑508. https://doi.org/10.1108/JD-09-2016-0114. +
+
+Hess et Ostrom (dir.). Understanding knowledge as a commons: from theory to practice. MIT Press, 2007. 978-0-262-08357-7. +
+
+Hjørland, Birger. « Classification ». Knowledge Organization. 2017, Vol. 44, n° 2, p. 97‑128. https://doi.org/10.5771/0943-7444-2017-2-97. +
+
+Lévy, Pierre. L’intelligence collective: pour une anthropologie du cyberspace. La Découverte, 1997. 978-2-7071-2693-1. +
+
+Merzeau, Louise. « De la communication aux communs ». InterCDI. 2016, n° 261, p. 29‑30. http://www.intercdi.org/de-la-communication-aux-communs/. +
+
+Shannon, Claude E. « A Mathematical Theory of Communication ». Bell System Technical Journal. 1948, Vol. 27, n° 3, p. 379‑423. https://doi.org/10.1002/j.1538-7305.1948.tb01338.x. +
+
+Wiener, Norbert. Cybernétique et société: l’usage humain des êtres humains. Trad. par Ronan Le Roux et Pierre Yves Mistoulon. Seuil, 2014 [1954]. 978-2-7578-4278-2. +
+
+Wiener, Norbert. La cybernétique: information et régulation dans le vivant et la machine. Trad. par Ronan Le Roux, Robert Vallée et Nicole Vallée-Levi. Éditions du Seuil, 2014 [1948]. 978-2-02-109420-6. +
+
+
+
+
CC BY Arthur Perret 2020-2024
Créé avec Pandoc et Make
+ + + + + + diff --git a/sac/pages/www-catb-org--esr-jargon b/sac/pages/www-catb-org--esr-jargon new file mode 100644 index 0000000..e45e39a --- /dev/null +++ b/sac/pages/www-catb-org--esr-jargon @@ -0,0 +1,80 @@ + + + + + + + +Jargon File Resources + + + + + + + +
Back to Eric's Home PageUp to Site Map01 Oct 2004
+
+ + +

The Jargon File, version 4.4.8

+ +

This page indexes all the WWW resources associated with the Jargon File +and its print version, The New Hacker's Dictionary. It's as +official as anything associated with the Jargon File gets.

+ +

On 23 October 2003, the Jargon File achieved the +dubious honor of being cited in the SCO-vs.-IBM lawsuit. See the FUD entry for details.

+ + + + +This site has won awards; see the trophy page. + +
+ + + + + + +
Back to Eric's Home PageUp to Site Map01 Oct 2004
+
+
Eric S. Raymond <esr@snark.thyrsus.com>
+ + diff --git a/sac/pages/www-catb-org-esr-writings-taoup-html-ch15s02-html b/sac/pages/www-catb-org-esr-writings-taoup-html-ch15s02-html new file mode 100644 index 0000000..42ae01b --- /dev/null +++ b/sac/pages/www-catb-org-esr-writings-taoup-html-ch15s02-html @@ -0,0 +1,96 @@ + +Choosing an Editor

The first and most basic tool of development is a text editor +suitable for modifying and writing programs.

Literally dozens of text editors are available under Unix; +writing one seems to be one of the standard finger exercises for +budding open-source +hackers. Most of +these are ephemera, not suitable for extended use by anyone other than +their authors. A few are emulations of non-Unix editors, useful as +transition aids for programmers used to other operating systems. You +can browse through a wide variety at SourceForge or ibiblio or any +other major open-source archive.

For serious editing work, two editors completely dominate the +Unix programming scene. Each is available in a couple of minor variant +implementations, but has a standard version you can rely on finding on +any modern Unix system. These two editors are +vi and Emacs. +We discussed them in Chapter13 as part of our discussion of the right +size of software.

As we noted in Chapter13, these two editors express sharply +contrasting design philosophies, but both are extremely popular and +command great loyalty from identifiable core user populations. Surveys +of Unix programmers consistently indicate about a 50/50 split between +them, with all other editors barely registering.

In our earlier examinations of vi and +Emacs, we were primarily concerned with +their optional complexity and the surrounding design-philosophy issues. +Many other things are worth knowing about these editors, both as a +matter of practicality and of Unix cultural literacy.

Emacs stands for ‘EDiting +MACroS’ (pronounce it /eemaks/). It was originally +written in the late 1970s as a set of macros in an editor called TECO, +then reimplemented several times in different ways. In an amusing +twist, modern Emacs implementations include a TECO emulation +mode.

In our earlier discussion of editors and optional complexity, we +noted that many people consider Emacs +excessively heavyweight. However, investing the time to learn it can +yield rich rewards in productivity. Emacs +supports many powerful editing modes that offer help with the syntax +of various programming languages and markups. We'll see later in this +chapter how Emacs can be used in +combination with other development tools to give capabilities +comparable to (and in many ways surpassing) those of conventional +IDEs.

The standard Emacs, universally +available on modern Unixes, is GNU Emacs; +this is what generally runs if you type emacs to a +Unix shell prompt. GNU Emacs sources and documentation are available +at the Free Software Foundation +archive site.

The only major variant is called +XEmacs; it has a better X interface but +otherwise quite similar capabilities (it forked from Emacs +19). XEmacs has a home page. +Emacs (and Emacs Lisp) is universally +available under modern Unixes. It has been ported to MS-DOS (where it +works poorly) and Windows 95 and NT (where it is said to work +reasonably well).

Emacs includes its own interactive +tutorial and very complete on-line documentation; you'll find +instructions on how to invoke both on the default +Emacs startup screen. A good introduction +on paper is Learning GNU Emacs [Cameron].

The keystroke commands used in the Unix ports of +Netscape/Mozilla and Internet Explorer text windows (in forms and the +mailer) are copied from the stock Emacs +bindings for basic text editing. These bindings are the closest thing +to a cross-platform standard for editor keystrokes.

diff --git a/sac/pages/www-cs-faculty-stanford-edu--knuth b/sac/pages/www-cs-faculty-stanford-edu--knuth new file mode 100644 index 0000000..b4835f0 --- /dev/null +++ b/sac/pages/www-cs-faculty-stanford-edu--knuth @@ -0,0 +1,144 @@ + + + + + +Don Knuth's Home Page + + + + + +
+
+ +
+
+ Donald E. Knuth +((高德纳)), +Professor Emeritus of +The Art of Computer Programming +at +Stanford University, +welcomes you to his home page. +
+
+
+

+ +*Frequently Asked Questions +

+

+ +*Infrequently Asked Questions +

+

+ +*Recent News +  +  +new! +

+

+ +*Computer Musings +  +   +new! + +

+

+ +*Known Errors in My Books +

+ +

+ +*Help Wanted +

+

+ +*Diamond Signs + +

+

+ +*Preprints of Recent Papers +

+

+ +*Curriculum Vitæ +

+

+ +*Pipe Organ +

+

+ +*Fantasia Apocalyptica +  +  +new! +

+

+ +*Downloadable Graphics +

+

+ +*Downloadable Programs and Data +

+

+ +*Expecting a check from me? +

+

+ +*Did you borrow a video from me? +

+
+  +  +(don't click here) +
+

+ +Stanford Computer Science Home Page + +

+ +Valid HTML 4.01 Transitional + + + + diff --git a/sac/pages/www-cs-princeton-edu--bwk-btl-mirror b/sac/pages/www-cs-princeton-edu--bwk-btl-mirror new file mode 100644 index 0000000..34a8b8e --- /dev/null +++ b/sac/pages/www-cs-princeton-edu--bwk-btl-mirror @@ -0,0 +1,83 @@ + + + + +Sun Aug 26 17:36:49 EDT 2018 + + +

Bell Labs pages from long ago

+ +

This page mirrors some of the information +that used to be on my Bell Labs site. +Much of it is very dusty indeed. +Caveat downloader. + +

  • Awk is now hosted at + Github. + +
  • An Efficient Heuristic Procedure for Partitioning Graphs +(Bell System Technical Journal, February, 1970). + +
  • An Effective Heuristic +Algorithm for the Travelling-Salesman Problem +(OperationscResearch, March, 1973). + +
  • +Why Pascal is Not My Favorite Programming Language (April, 1981). + +
  • +WiSE - A Wireless System Engineering Tool, +an application of computational geometry, optimization +and visualization to wireless. + +
  • Experience with Tcl/Tk for Scientific and Engineering Visualization, +programming issues in the wireless work above; +a version appeared in the Tcl/Tk Workshop, Toronto, 1995. + +
  • +Timing Trials, or, the Trials of Timing: +Experiments with Scripting and User-Interface Languages, +with Chris Van Wyk, describes experiments to see how fast various scripting +and user interface languages, +from Awk to Visual Basic, run on a spectrum of representative tasks. + +
  • An AWK to C++ Translator, +describing an early experiment; published in the +Usenix C++ conference in 1991 but hard to find. + +
  • Information about the +AMPL modeling language +for mathematical optimization. + +You can try AMPL on your own +optimization problems or examples from + the AMPL book; +the second edition was published November 2002 and is now available for +free download. + +
  • Examples from The AWK Programming Language by Aho, +Kernighan, and Weinberger as text (120KB) +or zipped (30KB). + +
  • The example code from The Unix Programming Environment +by Kernighan and Pike: + gzipped tar file; + zip file. + +
  • Source for + the hoc calculator from The Unix Programming Environment +by Kernighan and Pike. + +
  • Software Tools programs + +
  • Software Tools in Pascal programs + +
  • Source for learn, +the original Unix computer-aided instruction program. This works but is +mostly of historical interest; it dates from 1979. + +
  • Algorithm animation (with Jon Bentley). + + + + diff --git a/sac/pages/www-distractionfreeapps-com b/sac/pages/www-distractionfreeapps-com new file mode 100644 index 0000000..b8499a0 --- /dev/null +++ b/sac/pages/www-distractionfreeapps-com @@ -0,0 +1,159 @@ + + + + + + + + + + + + + Home + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +

    Get Your Focus Back

    +
    with Distraction Free Instagram
    +
    + + + +

    + Currently exclusive
    + to Android users +

    +
    +

    + Take charge of your digital well-being today. +

    +
    +
    + DFinstagram +

    + "Break free from endless scrolling and reclaim your time with + Distraction Free Instagram! Designed to help you stay connected + without the addictive clutter, our app lets you disable distracting + features like the endless feed and explore page with ease. Take + control of your social media experience and stay focused on what + matters most." +

    +
    +
    +
    + +
    +
    +

    About Us

    +

    + Distraction Free Instagram is your gateway to a more intentional + digital experience. Recognizing the addictive tendencies fostered by + conventional social media platforms like Instagram, we've crafted a + solution to empower users in regaining control of their online habits. + By selectively disabling features such as the endless feed, explore + page, reels, and shopping section, our app allows you to focus on what + truly matters: genuine connections with friends and family. +

    +

    + Exclusively available for Android users, transitioning to Distraction + Free Instagram is a straightforward process. Simply uninstall + Instagram and replace it with DFinstagram by accessing the downloaded + file through your file explorer. Our commitment extends beyond just + providing an alternative; we're dedicated to supporting you in your + journey towards a healthier relationship with social media. +

    +
    +
    + + + + + + + + diff --git a/sac/pages/www-e-flux-com b/sac/pages/www-e-flux-com new file mode 100644 index 0000000..bd003d0 --- /dev/null +++ b/sac/pages/www-e-flux-com @@ -0,0 +1,3982 @@ + + + + + + + + e-flux + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + + + + + +
    + + + + + + + + + + + +
    +
    + +
    + + + +
    +
    + +
    +
    + Advertisement + +
    + +
    + +
    + + + +
    + + + + +
    +
    + +
    +
    + +
    +
    + + +
    + + + + + + +
    + + + + + + + + + + + +
    +
    + +
    + +
    + + + + +
    +
    + +
    + + + + + +
    +
    + Film +
    + + +
    + + + + + + + + + + +
    +
    +
    + Projects +
    + +
    +
    + + + + + + + +
    + + +
    +

    Unlike literature or art, music appears to be nonrepresentational, at least at first. “But music also is a place of sorts,” says musicologist Holly Watkins, “replete with its own metaphorical locations, types of motion, departures, arrivals, and returns.” Songs articulate distance, texture, and intent. They respond to the acoustics of landscapes and social structures; they are amplified in some spaces and dampened in others. By listening to sounds—and the way they have been transcribed, adapted, and memorialized—we can trace otherwise invisible political interventions into landscapes and soundscapes and, in return, understand these interventions as documents, instructions, or scores.

    +
    +
    +
    +
    + + +
    + + + + +
    + + +
    + + + + + + + + +
    +
    + +
    +
    + +
    + Subscribe
    + +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + +
    + +
    + +
    + +
    +
    + + +
    +

    e-flux announcements are emailed press releases for art exhibitions from all over the world.

    +

    Agenda delivers news from galleries, art spaces, and publications, while Criticism publishes reviews of exhibitions and books.

    +

    Architecture announcements cover current architecture and design projects, symposia, exhibitions, and publications from all over the world.

    +

    Film announcements are newsletters about screenings, film festivals, and exhibitions of moving image.

    +

    Education announces academic employment opportunities, calls for applications, symposia, publications, exhibitions, and educational programs.

    +

    Sign up to receive information about events organized by e-flux at e-flux Screening Room, Bar Laika, or elsewhere.

    +
    + +
    + + +
    + +
    + +
    +
    + + + Architecture +
    +
    + +
    +
    + + + Film +
    +
    + +
    +
    + + + Education +
    +
    + +
    +
    + + + Events +
    +
    +
    + +
    +
    + + +
    + +
    + I have read e-flux’s privacy policy and agree that e-flux may send me announcements to the email address entered above and that my data will be processed for this purpose in accordance with e-flux’s privacy policy* +
    +
    + +
    + +
    +
    + +
    +
    +

    Thank you for your interest in e-flux. + Check your inbox to confirm your subscription.

    +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/sac/pages/www-ekdosis-org b/sac/pages/www-ekdosis-org new file mode 100644 index 0000000..33aa531 --- /dev/null +++ b/sac/pages/www-ekdosis-org @@ -0,0 +1,406 @@ + + + + + + +ἔκδοσις + + + + + + +
    + UP + | + HOME +
    +

    ἔκδοσις +
    +Typesetting TEI xml-Compliant Critical Editions +

    + +
    +

    +fr +about | CTAN | git / srht | +issues | development | support | contact
    +(This site is free of cookies and javascript.)
    +

    + + + + + + + + + + + + + + + + + + + + +
    arabluatex
    icite
    TeXLive
    +
    +
    +
    + +

    +ekdosis is a LuaLATEX package designed for multilingual +critical editions. It can be used to typeset texts and different +layers of critical notes in any direction accepted by +LuaTEX. Texts can be arranged in running paragraphs or on facing +pages, in any number of columns which in turn can be synchronized or +not. In addition to printed texts, ekdosis can convert .tex source +files so as to produce TEI xml-compliant critical +editions. Database-driven encoding under LATEX then allows +extraction of texts entered segment by segment according to various +criteria: main edited text, variant readings, translations or +annotated borrowings between texts. +

    + +

    +The latest stable version is ekdosis v1.4, released on November 21, 2021. The full documentation is +available from CTAN as a PDF file. The full documentation of the +development version is available here as a PDF file. (How to install.) +

    + + + + +++ ++ ++ ++ ++ ++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + +
    featuressep.pnginstallsep.pngquickstartsep.pnghandbooksep.pngdevelopment
    Features Install Quickstart Handbook Development
    + +
    +

    One Source File, Multiple Outputs

    +
    +
    +
     1: \documentclass{article}
    + 2: \usepackage{ekdosis}
    + 3: 
    + 4: \begin{document}
    + 5: \begin{ekdosis}
    + 6:   I met my friend \app{
    + 7:     \lem{Peter}
    + 8:     \rdg{John}
    + 9:   } at the station yesterday.
    +10: \end{ekdosis}
    +11: \end{document}
    +
    +
    + + +
    +

    index-sample01.svg +

    +

    Figure 1: PDF output

    +
    + +
    +
    1: <p>I met my friend 
    +2:  <app>
    +3:   <lem>Peter</lem>
    +4:   <rdg>John</rdg>
    +5: </app>at the station yesterday.</p>
    +
    +
    +
    +
    + +
    +

    License Applicable to the Software

    +
    +
    +Copyright © 2020, 2021, 2022, 2023 Robert Alessi
    +<alessi@robertalessi.net>
    +
    +Permission to use, copy, modify, and distribute this software for any
    +purpose with or without fee is hereby granted, provided that the above
    +copyright notice and this permission notice appear in all copies.
    +
    +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
    +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
    +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
    +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
    +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
    +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    +
    + +
    + +

    +Unless otherwise stated, documents/pages/images on this +website/repository are released under the terms of the GNU Free +Documentation License, either version 1.3 or any later version as +published by the Free Software Foundation, with no Invariant Sections, +no Back Cover Texts and no Front Cover Texts. View the license here: +fdl-1.3.html +

    + +
    + + + + +++ + + + + + +
    Credits
    +
    +
    +
    +
    +

    Author: Robert Alessi

    +

    Created: 2024-02-28 Wed 13:58

    +

    Validate

    +
    + + diff --git a/sac/pages/www-geuzen-org-index-html b/sac/pages/www-geuzen-org-index-html new file mode 100644 index 0000000..91d9e71 --- /dev/null +++ b/sac/pages/www-geuzen-org-index-html @@ -0,0 +1,1302 @@ + + + + + + + + +De Geuzen: a foundation for multi-visual research + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + +
    + + + +
    + +
    + +
    + +


    +

    +

    From 1996-2012, De Geuzen worked intensively on research oriented projects addressing feminism, technology, the politics of the web, critical pedagogy, narrative archives and DIY tactical media. This is an archive of our activities from that period. It is important to note that some of these works have collapsed with the evolution of the web, nonetheless we keep their traces online as a snapshot of an earlier internet. Building on these histories and practices, we have also gone on to work here, there and elsewhere.

    +
    + +
    + +
    + +
      + +
    • +

      De Geuzen in snapshots

      + +
      +
    • +
    +
    + + + + + + + + + + + + + +
    +
    + +

    On Gaps and Silent Documents

    +

    9-14 February 2010
    +De Geuzen participates in Artefact Festival, Leuven (Belgium) with a new version of the Global Anxiety Monitor

    + + +
    +
    + +
    + + + + +
    +
    + +

    Review: Female Icons by Marisa Plumb for Furtherfield

    +

    “To me this project shows that thinking about appearance through networked definitions is more empowering than defining ourselves through the gaze that is upon us.”
    +more…

    + + +
    +
    + +
    + + + + +
    +
    + +

    Mobile Video Library

    +

    dsc01413.JPG

    + + +
    +
    + +
    + + + + +
    + + +
    + + + + +
    +
    + +

    Hybrid Space

    +

    Cover Open: Hybrid Space
    +Open: Hybrid Space with a Geuzen contribution on Mobile Work / Travail Mobile.

    + + +
    +
    + +
    + + + + +
    + + +
    + + + + +
    +
    + +

    Instructional Manuals for Popular Use

    +

    paper dressExhibition, Kuenstlerhaus Bremen [2001]

    + + +
    +
    + +
    + + + + +
    +
    + +

    Else/Where: Mapping New Cartographies of Networks and Territories

    +

    This publication features our project Unravelling Histories and can be purchased at most bookstores. To order it directly from the Design Institute or read more go here

    + + +
    +
    + +
    + + + + +
    +
    + +

    Unravelling Histories

    +

    A two-fold project looking at related Dutch colonial narratives with the intention of tracking their traces and resonance in the present.
    +unravelling-histories.org on-line database with Michael Murtaugh

    + + +
    +
    + +
    + + + + +
    +
    + +

    Homage to the Unknown Woman

    +

    paintingsAn installation of thirteen portraits of unknown women, at the Tongerlohuys in Roosendaal

    + + +
    +
    + +
    + + + + +
    +
    + +

    Looping the hoep

    +

    A virtual tour through Amstelland, an agricultural and recreational area just south of Amsterdam.

    + + +
    +
    + +
    + + + + +
    +
    + +

    Geuzen D.I.Y.

    +

    Vintage Geuzen DIY goodies dating from 1999 to 2003.
    +Check it out! It’s a wicked mix of digital and analog activities. Go ahead, you’re just one click away from unleashing all your handicraft fantasies!

    +

    …snip…snip…cut…paste…

    + + +
    +
    + +
    + + +
    + + + + +
    + + +
    +

    Parole # 2: Phonetic Skin / Phonetische Haut

    +


    +Edited by Annette Stahmer. Inserts and extras including Wearable Resistance by De Geuzen. Order here.

    + + +
    +
    + + + +
    + + +
    +

    Celebrate With A Little Wearable Resistance @ StudioXX

    +

    Art’s Birthday is an annual event first proposed by French Fluxus artist Robert Filliou. Read more…

    + + +
    +
    + + + +
    + + +
    +

    Tracer Sketch

    +


    +In preparation for Formatting Utopia, De Geuzen embarked on an off-shoot of the Image Tracer.  Using both search and sound, here is a video of our first sketch.

    + + +
    +
    + + + +
    + + +
    +

    Geuzen @ DesignCamp

    +

    hoop.JPGIn the summer of 2007 De Geuzen gave a workshop in Minneapolis:
    +12 teenagers were asked to re-design their school uniforms.

    + + +
    +
    + + + +
    + + +
    +

    Review: All Fired Up

    +

    littlebigmaryplate.jpg Catriona Black’s review of Female Icons, Aberdeen.
    +The Sunday Herald + artandphilosophy.com [2007]

    + + +
    +
    + + + +
    + + +
    +

    Global Anxiety Monitor Live

    +

    The Global Anxiety Monitor performed live by Vitali Rozynko, Shy Shavit, Oliver Meskawi, Marc Pantus, Radwa Rafaat, Anat Stainberg and De Geuzen
    +snapshots / video

    + + +
    +
    + + + +
    + + +
    +

    Brains Not Bombs

    +

    Resurrected from our archives: Soft Hats for a Hard World

    + + +
    +
    + + + +
    + + +
    +

    Inside the Archive

    +

    girl in wallpaper dressSeries of lectures, presentations, tours and screenings examining the ways information, objects and data are stored, classified and displayed.  View snapshots [2001]

    + + +
    +
    + + + +
    + + +
    +

    Democracy: Do Not Clean!

    +

    Democracy CarpetGiven today’s political climate we’ve decided to exhume this classic project.

    + + +
    +
    + + + +
    + + +
    +

    Wearable Resistance

    +

    Faux Light Emitting Diodes

    + + +
    +
    + + + +
    + + +
    + + + +
    + + +
    +

    Geuzen Favorites

    + + +
    +
    + + + +
    + + +
    +

    A Seance with Guy Debord

    +

    As the topic of terrorism dominates the media, it is important to have a direct and frank conversation with the man himself.

    + + +
    +
    + + + +
    + + + +
    + + + + +
    + + + +
    +

    Here, there and Other Dislocations

    +

    Layered on-line maps for Mappamundi at the Museu Colecção Berardo (Lisbon, January 2011). Also on display: The Dress of Jeanne Terwen-de Loos and The Dress of Here, There and Other Dislocations.

    + + +
    +
    + + +
    + +
    +

    Wearable Resistance // Typographical Craftivism

    +


    +Read more about our adventures with electricity, LED’s, typography and skill sharing.

    + + +
    +
    + + +
    + +
    +

    Predict

    +

    Made during the prelude to the US election 2008, the predictions are no longer applicable. But these searches do prove that history is continually re-invented in the present.

    + + +
    +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    +

    Subtle Acts of Resistance through the Practice of Everyday Life

    +

    serving pieA dinner devoted to the work of Michel de Certeau [1999]

    + + +
    +
    + + +
    + +
    +

    Swap Meet

    +

    Swap meet blanketsAn exchange of tactical traditions and the politics they represent

    + + +
    +
    + + +
    + +
    +

    Historiography Tracer

    +

    DisplayThis project explores how media images and their meanings fluctuate in the ecology of the world wide web.

    + + +
    +
    + + +
    + +
    + + +
    + +
    +

    Contaminating spaces

    +

    stickerTalk given at the symposium Curating New Media Art at Argos, Brussels, 2005. Read text »

    + + +
    +
    + + +
    + +
    +

    Research Accessories

    +

    So you want to research something but don’t know where to begin. Start with our exclusively designed set of Research Accessories…

    + + +
    +
    + + +
    + +
    + + +
    + +
    + + + + +
    + + + +
    +

    The Tailored Alphabet

    +

    Workshop with students from the typography masters at the Muthesius Kunsthochschule, Kiel (DE)

    + + +
    +
    + + + +
    + + +
    +

    FEED TO READ

    +

    +

    Performed @ The Network as a Space and Medium for Collaborative Interdisciplinary Art Practice (Bergen, Norway) View archived project.
    +

    + + +
    +
    + + + +
    + + +
    +

    Formatting Utopia

    +

    – – – – – – – – – – –
    +As a part of Formatting Utopia, a workshop and symposium at Paul Otlet’s Mundaneum, De Geuzen presented The Global Anxiety Monitor and the Tracer, a project made in collaboration with Tsila Hassine. View the documentation here.
    +– – – – – – – – – – –

    + + +
    +
    + + + +
    + + +
    +

    Living Room Lectures

    +


    +The Living Room Lectures take advantage of streaming media, irc, the world wide web plus all the comforts of home.

    + + +
    +
    + + + +
    + + +
    +

    Temporary Archive of Shared Interests

    +

    +
    +

    The Temporary Archive of Shared Interests operates on the basic belief that all librarians have preferences and all search engines are biased.

    + + +
    +
    + + + +
    + + +
    +

    Image Tracer v1.7

    +

    tracer

    + + +
    +
    + + + +
    + + +
    +

    Re-writing the real

    +

    bagRe-writing the real: a two day guide to use and abuse, AKI2, Enschede [1999]

    + + +
    +
    + + + +
    + + +
    + + + +
    + + +
    +

    Textiles and pixels at work:

    +


    Exploring the relation between pixels, warp and weave.

    + + +
    +
    + + + +
    + + +
    + + + +
    + + +
    +

    De Geuzen Uniforms

    +

    Riek in pink dressA collection of handmade garments, circumscribing female identity with its multiple guises and disguises.

    + + +
    +
    + + + +
    + + +
    +

    The Lining of forgetting

    +

    LijnjurkjeDigitized version of a unique pattern. Contribution to Jonctions / Verbindingen 7

    + + +
    +
    + + + +
    + + + +
    + + + + +
    + + +
    +

    Patterns and Projections

    +

    Workshop in the context of Open Code vs. Military Culture / Israeli Center for Digital Arts Holon (November 2010)

    + + +
    +
    + + + +
    + + +
    +

    Feed to be Fed: an evening of image and slogan mixing

    +

    Rotterdam / July 09 2009

    +

    FEED: is a multi-authored collection produced on the fly. You can see the archive here.

    + + +
    +
    + + + +
    + + +
    +

    Mixed Sources

    +

    mixed.jpg
    +2395964746_ace765dac6.jpg

    +
    +

    A cocktail of on-line, semi-offline and offline experiments as part of the Host project @ PZI.

    + + +
    +
    + + + +
    + + +
    + + + +
    + + +
    +

    Playlists!

    +

    Check out our Female Icons Playlists
    +youscreen

    + + +
    +
    + + + +
    + + +
    + + + +
    + + +
    +

    Testing the Surface

    +

    +
    +

    A symposium with Lennaart van Oldenborgh, Chris Horrocks, Arjen Mulder and Debra Solomon [1999]

    + + +
    +
    + + + +
    + + +
    +

    The Mobile Lounge

    +

    UPS man delivers the mobile lounge

    + + +
    +
    + + + +
    + + +
    +

    Solidarity as Ornament / Language as Allegiance

    +

    Workshop as a part of Digitales an annual event operating at the intersection of digital technology and feminism.

    + + +
    +
    + + + +
    + + +
    +

    Fripperies and Trimmings

    +

    In a society of hard-line polemics, flexible solidarity is the only solution…

    + + +
    +
    + + + +
    + + +
    +

    Mobile Digitales

    +

    A transportable hardware / software unit incorporating both digital and analog know-how. Playing with the carnivalesque, it is meant to provoke discussions about women and technology.

    + + +
    +
    + + + +
    + + +
    +

    Geuzennamen

    +

    fuckable feminist T-shirtOrder your favourite Dutch geuzennaam T-shirt from our on-line catalogue.

    + + +
    +
    + + + +
    + + + +
    + + + + +
    + + + +
    +
    + +
    +
    + + +
    +

    View By Thread

    +

    De Geuzen @ STUK
    +Leuven (B)
    +04/05 – 06/06 2010

    + + +
    +
    + + +
    + +
    +

    Rhizome Review: The New Transparent – Image Tracer @ Gasworks (2008)

    +

    “The argument that things should be left open to improvement, and even personalization, by those with the know-how appeals to many of us. But where did the broader drive for “openness” come from? ”  Read more of Marisa Olsen on Rhizome

    + + +
    +
    + + +
    + +
    +

    HOST:

    +

    A three month workshop with students from the Masters Media Design and Communication programme at the Piet Zwart Institute, which explored streaming broadcasts and online hospitality. The archived project wiki is here.

    + + +
    +
    + + +
    + +
    +

    The Reading Salon

    +

    0800-8020
    +A public art project delivered on your mobile phone

    + + +
    +
    + + +
    + +
    + + +
    + +
    +

    My Paper Dress

    +

    Mein Paper DressSimon Mullen made himself a stunning outfit based on the De Geuzen D.I.Y. Paper Dress.

    + + +
    +
    + + +
    + +
    +

    Situating Technologies

    +

    flashSymposium with: Irina Aristarkhova, Frank Webster, Kate Rich (representing BIT), Thomas Buxo and Karin Spaink, De Balie, Amsterdam [2000]

    + + +
    +
    + + +
    + +
    +

    Reading, Writing, Research: Chatting Is Not Just for the Idle!

    +

    Contribution to Reflections on Creativity (University of Dundee, April 2006) Download the PDF Document

    + + +
    +
    + + +
    + +
    +

    Generate Change

    +

    button

    + + +
    +
    + + +
    + +
    +

    The Body as Billboard

    +

    femme a poigneWorkshop held at La Cambre Art Academy Textile Department.

    + + +
    +
    + + +
    + +
    +

    De Geuzen Paperdolls

    +

    Mix, match, reload and start all over again. Enjoy hours of fun dressing and accessorizing De Geuzen’s unique set of paper dolls.

    + + +
    +
    + + +
    + +
    +

    De Geuzen Mobile Office [2000-2008]

    +

    Mobile officeSpace is a practiced place but it is not necessarily housed at a fixed address.

    + + +
    +
    + + +
    + + +
    + + + + + +
    + +
    + + + + + + + + + + + + + diff --git a/sac/pages/www-gnu-org-software-groff-groff-mission-statement-html b/sac/pages/www-gnu-org-software-groff-groff-mission-statement-html new file mode 100644 index 0000000..e3b5f97 --- /dev/null +++ b/sac/pages/www-gnu-org-software-groff-groff-mission-statement-html @@ -0,0 +1,223 @@ + + + + + + Groff Mission Statement - 2014 + + + + + + + +
    + +

    + Groff Mission Statement +
    + 2014 +

    + + + +

    + As the most widely deployed implementation of troff in use today, + groff holds an important place in the Unix universe. Frequently + and erroneously dismissed as a legacy program for formatting + Unix manuals (manpages), groff is in fact a sophisticated system + for producing high-quality typeset material, from business + correspondence to complex technical reports and plate-ready books. + With an impressive record for backward compatibility, it continues + to evolve and play a leading role in the development of free + typesetting software. +

    + +

    + Future development will focus on groff’s typesetting + capabilities, the goal being to improve automatic formatting + of documents with no corresponding loss of user control over + typographic details. In addition to the core binary, where much + of the work will be done, the system comprises a macro language, + pre-built macro sets, pre- and post-processors, and drivers for + outputting to various formats. The guiding principle for changes + to these parts will be to improve and extend, not alter, especially + with respect to established usage. +

    + +

    + A key part of the project’s mandate will be to redress issues + that have historically discouraged widespread adoption of groff. + Issues include the perceived superiority of + TeX + for general-purpose typesetting, the long and somewhat unfortunate + association with manpages, and the difficulty of mastering + groff’s low-level typesetting requests. +

    + +

    + Broadly speaking, development will be channelled into two areas: +

      +
    •   + core groff
    • +
        +
      • – the typesetting backend and low-level formatting requests
      • +
      +
    •   + program usage
    • +
        +
      • – general-purpose macro sets and manpages
      • +
      +
    + Improvements and enhancements to other areas of the system will + continue to form a routine part of groff’s growth, with active + support for contributions provided by a team of groff mavens. +

    + +

    Core groff

    + +

    The backend

    + +

    + Groff currently uses a greedy algorithm to format paragraphs one + line at a time, but the + Knuth-Plass + algorithm, implemented in + TeX, + Heirloom troff and elsewhere, optimizes linebreaks throughout whole + paragraphs and achieves a more uniform typographic grey. One of + the most exciting challenges facing groff will be implementing an + improved formatting algorithm, the most likely candidate being + Knuth-Plass. + It’s a big job, but with groff’s clean codebase and + helpful community of experts, it is hoped additional developers will + step forward and contribute their programming skills. +

    + +

    + Equally important will be instituting native support for + TrueType, + Open + Type, + and other + non-Type1 + PostScript fonts, and improving Unicode support. +

    + +

    Low-level formatting requests

    + +

    + Supplementary low-level formatting requests will continue to be + added, and the behaviour of some existing requests reviewed, with + care taken to maintain backward compatibility whenever modifications + are deemed worthwhile. +

    + +

    + At the request level, groff’s use of integer arithmetic and + linear evaluation of expressions hearkens back to the stone age. + While not top-priority, these and other historical encumbrances + (read “annoyances”) will be addressed—again, with + a watchful eye toward backward compatibility. +

    + +

    Program usage

    + +

    General-purpose macro sets

    + +

    + Macro sets form the primary user interface to groff. Well-designed, + well-documented sets help make groff accessible to users—new + users in particular. Adoption or rejection of the program is often + based on whether available sets meet user needs without requiring + mastery of low-level requests. Learning curve and ease of use are + equally important. +

    + +

    + The most active area of groff development in the past decade + has been in macro sets, with + mom + alone adding over 13,000 lines of code and 1MB of documentation to + the project. Support for existing macro sets and the design and + development of new ones will therefore play a significant role in + groff’s future. +

    + +

    Manpages

    + +

    + The need for Unix manuals to render cleanly to multiple output media + favours structural rather than presentational markup, however the + classical + man(7) + macros remain almost exclusively presentational. + mdoc(7) + provides a semantically superior alternative, but the use of + man(7) + is deeply rooted in Unix. +

    + +

    + Future work on manpages will entail improving the semantic clarity + of the + man(7) + macros, decoupling them as much as possible from low-level + presentational requests. The aim will be to ease conversion of + manpages to markup languages that do not rely on groff for display + and printing, e.g. XML, while preserving the full presentational + richness of manpages processed with groff. +

    + +

    + Concurrent with work on + man(7), + mdoc(7) + will be actively supported and its use promoted. +

    + +

    + To summarize, the goal of this two-pronged strategy is to foster + manpage markup that: +

      +
    •   + renders cleanly to the terminal
    • +
    •   + respects presentational markup when output to PostScript
    • +
    •   + allows semantic analysis
    • +
    •   + is portable
    • +
    +

    + +

    Looking forward, looking back

    + +

    + Backward compatibility with existing documents and usage will + remain a top priority, as will avoiding feature-bloat and increased + overheads. Groff’s viability and vitality rest as much on + these as on forward-looking development. +

    + +

    + Finally, it is hoped that users of and contributors to groff will + promote its use, providing unobtrusive advocacy to encourage more + widespread adoption of the program, thereby increasing the pool of + potential contributors and developers and furthering the cause of + good typography. +

    + + + +
    + + diff --git a/sac/pages/www-levenez-com-nextstep b/sac/pages/www-levenez-com-nextstep new file mode 100644 index 0000000..9baf40f --- /dev/null +++ b/sac/pages/www-levenez-com-nextstep @@ -0,0 +1,776 @@ + + + + + + + + + + + + + + NeXT + + + + + + + + + +
    + +
    + + +
    + +
    + +
    +
    + + +
    + + +
    + + +
    + + + + +
    La société NeXT
    + +
    + +
    + +

    Vous trouverez sur les liens suivants des photos des + locaux de la société NeXT + et des personnes qui y ont travaillé, + ainsi qu'un historique de NeXT.

    + +
    +
    + +
    + + +
    + + + + +
    Les produits NeXT
    + +
    + +
    + +

    Et sur les liens suivants, vous allez trouver une description des + machines et des + logiciels de NeXT.

    + +
    +
    + +
    +
    + + +
    + + + + +
    Le système NeXTSTEP
    + +
    + +
    + +

    L'interface de NeXTSTEP est une interface graphique basée sur des + fenêtres, des icônes et des menus. Le programme de base, qui + gère l'interface, est le Workspace Manager.

    + +

    Vous trouverez ici des schémas logiques + sur NeXTSTEP.

    + +

    Il existe différentes caractéristiques qui font de NeXTSTEP + un système d'exploitation unique. Voici une description des + caractéristiques les plus typiques.

    + +

    NeXTSTEP sait gérer les périphériques disques durs, + disquettes, CD-ROM... Voici comment le Workspace Manager gère + ces disques.

    + +

    NeXTSTEP comme tout système unix gère de façon + très efficace sa mémoire.

    + +
    +
    + + + +
    + + +
    + + +
    + + + + +
    Développement
    + +
    + +
    + +

    Les outils de developpement comprennent Interface Builder et Project Builder. + Voici quelques exemples d'utilisation de ces programmes :

    + + + +
    +
    + + +
    + + + + +
    Les applications NeXTSTEP
    + +
    + +
    + +

    Voici une description de toutes les applications graphiques disponibles + sous NeXTSTEP. Ces applications se trouvent réparties dans plusieurs + répertoires suivant leurs types d'utilisation.

    + + + +
    +
    + +
    + + +
    + + + + +
    Les vidéos sur Internet
    + +
    + +
    + +

    Les vidéo sur NeXT sur Internet:

    + + + +
    +
    + +
    + + +
    + + + + +
    Les liens utiles
    + +
    + +
    + +

    Voici quelques liens utiles :

    + + + +
    +
    + + +
    + + + + +
    Les vidéos de démonstration
    + +
    + +
    + +

    Voici quelques petites démonstrations pour voir + la dynamique de l'interface de NeXTSTEP. Les captures vidéos ont été faites + en 1024 x 768 et sont au format QuickTime (H.264). +

    + +
      +
    • Démo 1 : quelques actions simples + dans le Workspace Manager.
    • +
    • Démo 2 : une utilisation de diverses + applications comme Edit.
    • +
    • Démo 3 : les préférences + de NeXTSTEP.
    • +
    • Démo 4 : une utilisation de Librarian + et de Webster.
    • +
    • Démo 5 : une utilisation de NeXTIME. + Il faut noter que le décalage du son sous NeXTIME est lié à l'utilisation + de VMware.
    • +
    • Démo 6 : une utilisation de Display RenderMan.
    • +
    • Démo 7 : une utilisation de Yap pour taper + interactivement du code Display PostScript.
    • +
    • Démo 8 : une utilisation de FrameMaker.
    • +
    • Démo 9 : modification de la taille d'une fenêtre.
    • +
    + + +

    Installation de NeXTSTEP 3.3 sur VMWare Fusion 3 :

    +
      +
    • Installation : installation de NeXTSTEP à + partir d'une image CD-ROM et d'images de disquette des drivers.
    • +
    • Configuration : configuration des drivers VMWare, + installation du Patch 3, et configuration du réseau.
    • +
    + +

    Ces vidéos ont été réalisées en utilisant + NeXTSTEP sur VMware.

    + +
    +
    + +
    +
    +
    +
    + +
    +
    + + + + +
    + + + + +
    Magazines
    + +
    + +
    + +

    Voici quelques magazines sur NeXT.

    + + + +

    (*) Scanné par Thierry Mella.
    (**) Scanné par Dominique Plages.

    + +
    +
    + + +
    + + +
    + + +
    + + + + +
    Les docs
    + +
    + +
    + +

    Les documents sur NeXTSTEP :

    + + + +
    +
    + +
    + + + + +
    +
    + + +
    + + +
    + + +
    + + + + +
    Les livres
    + +
    + +
    + +

    Voici quelques livres :

    + +
      +
    • NEXTSTEP Programming de Simson L. Garfinkel et Michael K. Mahoney, + édité par Telos. + ISBN 0-387-97884-4 et ISBN 3-540-97884-4.
    • +
    • The Complete Guide to the NEXTSTEP User Environment de Michael B. Shebanek, + édité par Telos. + ISBN 0-387-97956-5.
    • +
    • Programming the Display PostScript System with NeXTstep + édité par Adobe. + ISBN 0-201-58135-3.
    • +
    • Display PostScript Programming de David A. Holzgang + édité par Addison-Wesley. + ISBN 0-201-51814-7.
    • +
    • Le livre du NeXT édité par + Micro Application. + ISBN 2-86899-637-X.
    • +
    • Objective-C de Lewis J. Pinson et Richard S. Wiener, + édité par Addison-Wesley. + ISBN 0-201-50828-1.
    • +
    • The Next Bible: Hardware and Software Systems for the Next Computer + de Doug Clapp, ISBN 0136207251.
    • +
    • INSIDE NeXT. + Illustrated guide to Black Hardware by Luciano Dadda.
    • +
    + +
    +
    + +
    + + +
    + + + + +
    Comment obtenir NeXTSTEP
    + +
    + +
    + +

    NeXTSTEP n'est plus commercialisé par Apple mais il + est toujours possible de se le procurer, et ceci par différents + moyens :

    + +
      +
    • En l'achetant à l'un des revendeurs qui en auraient toujours + en stock. Leurs sites sont indiqués sur les liens + plus haut sur cette page.
    • +
    • En l'achetant d'occasion sur un groupe usenet en y passant une + petite annonce. Les principaux groupes sont indiqués plus + haut.
    • +
    • En l'achetant d'occasion sur un site d'enchères en ligne + du type eBay.
    • +
    + +

    Apple a sur son site les images des disquettes de drivers pour NeXTSTEP + et OPENSTEP ainsi que les patchs type Y2K. C'est + ici.

    + +
    +
    + +
    +
    + + +
    + + +
    + + +
    + + + + +
    Nouvelle vie de NeXTSTEP
    + +
    + +
    + +

    Si vous travaillez sur Macintosh PPC et si vous disposez de VirtualPC, + alors il est possible d'installer NeXTSTEP dans cet environnement. + Tous les détails sont ici.

    + +

    Si vous travaillez sur Macintosh Intel, il est possible d'utiliser un virtualiseur + comme VMware. Tous les détails sont ici.

    + +

    Sur Mac on Intel + vous verrez tourner OPENSTEP sur Parallels.

    + +

    Sur OPENSTEP Installation Guide + vous pourrez faire tourner OPENSTEP sur Parallels.

    + +

    Sur Build your own NeXT with a virtual machine + vous pourrez faire tourner OPENSTEP sur VirtualBox.

    + +
    +
    + +
    + + +
    + + + + +
    GNUstep
    + +
    + +
    + +

    GNUstep est un projet du GNU pour implémenter + les Spécifications OpenStep sur un + système libre (au sens GNU).

    + +

    GNUstep, en plus des spécifications + OpenStep, essaye d'implémenter des API + Cocoa de Mac OS X.

    + +

    Pour ceux qui utilisent des machines x86, un + CD live + est disponible pour tester le système GNUstep.

    + +

    Il existe aussi le projet + NEXTSPACE + pour Linux.

    + +
    +
    + +
    +
    + + +
    + + + + +
    Divers
    + +
    + +
    + +

    Pour vous y retrouver, voici le plan de ce site.

    + +

    Recherche sur ce site :

    + + + +

    De nombreux liens externes ne sont plus valables, mais ils sont conservés car ils + peuvent parfois permettre de retrouver la page originale sauvegardée sur un autre serveur.

    + +

    Envoyez des commentaires à + Éric Lévénez

    + +

    L'adresse de cette page est + https://www.levenez.com/NeXTSTEP/.

    +

    Dernière mise à jour : 14 novembre 2022

    +
    +
    + +
    +
    + + +
    + +
    + + + diff --git a/sac/pages/www-levenez-com-unix b/sac/pages/www-levenez-com-unix new file mode 100644 index 0000000..0d67015 --- /dev/null +++ b/sac/pages/www-levenez-com-unix @@ -0,0 +1,718 @@ + + + + + + + + + + + + + UNIX History + + + + + + + +
    Unix History
    + +
    + +
    + + + + +
    Unix Timeline
    + +

    Below, you can see the preview of the Unix History (move on the white zone to get a bigger image):

    + +
    + + + +
    + +

    This is a simplified diagram of unix history. There are numerous derivative + systems not listed in this chart, maybe 10 times more! In the recent past, + many electronic companies had their own unix releases. + This diagram is only the tip of an iceberg, with a penguin on it ;-).

    + +
    +
    +
    + +

    If you want to print this timeline, you can freely download one of the following PDF files:

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    A4LetterPlotterA4Letter
    HistoryIndex
    +
    + +

    Warning: + it seems that Adobe Reader + has some problems reading the large plotter version of the Unix History chart, + but happily you can use another PDF viewer + for this task. By the way, if you are on macOS, just use Safari :-)

    + +

    Here is the ChangeLog of this history.

    + +

    + Note 1 : an arrow indicates an inheritance like a compatibility, it is + not only a matter of source code.

    +

    + Note 2 : this diagram shows complete systems and [micro]kernels like Mach, Linux, + the Hurd... This is because sometimes kernel versions are more appropriate to + see the evolution of the system.

    +

    + Note 3 : I have now a page where I explain how I + build this chart.

    + +
    + +
    +
    + + +
    + + + + +
    Another chart on the wall
    + + + + + + +
    +

    If you have put this diagram on the wall of your office and have taken a photo + of it, please send me a copy and I'll put it on this page. ;-)

    + +

    My other charts:

    + +
    + + + +
    + +
    +
    + + +
    + + + + +
    Some Home Pages
    + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Brian KernighanDennis RitchieKen ThompsonBill JoySteve JobsLinus TorvaldsRichard Stallman
    + +

    You can also find here some unix people.

    + +

    You may be wondering "Why does Steve Jobs appear in this unix history?". + Simply because he has made the best unix computer ever : a NeXTcube + powered with the NeXTSTEP operating system. And now : Mac OS X.

    + +
    +
    + + +
    + + + + +
    Some Unixes
    + +
    + +
    +
    + Unix History on Google +
    + +

    Here is a listing of the unixes that are present in my chart :

    +
    + + + + + + + +
    + 1BSD
    + 2BSD
    + 3BSD
    + 4BSD
    + 4.4BSD Lite 1
    + 4.4BSD Lite 2
    + 386 BSD
    + Acorn RISC iX
    + Acorn RISC Unix
    + AIX
    + AIX PS/2
    + AIX/370
    + AIX/6000
    + AIX/ESA
    + AIX/RT
    + AMiX
    + Android
    + AOS Lite
    + AOS Reno
    + AppleTV
    + ArchBSD
    + ASV
    + Atari Unix
    + A/UX
    + BBX
    + BOS
    + BRL Unix
    + BSD Net/1
    + BSD Net/2
    + BSD/386
    + BSD/OS
    + CB Unix
    + Chorus
    + Chorus/MiX
    + Coherent
    + CTIX
    + CXOs
    + Darwin
    + Debian GNU/Hurd
    + DEC OSF/1 ACP
    + Dell Unix
    + DesktopBSD
    +
    + Digital Unix
    + DragonFly BSD
    + Dynix
    + Dynix/ptx
    + ekkoBSD
    + Eunice
    + FireFly BSD
    + FreeBSD
    + FreeDarwin
    + GNU
    + GNU-Darwin
    + Gnuppix GNU/Hurd-L4
    + HPBSD
    + HP-UX
    + HP-UX BLS
    + IBM AOS
    + IBM IX/370
    + Inferno
    + Interactive 386/ix
    + Interactive IS
    + iOS
    + iPhone OS
    + iPod OS
    + IRIS GL2
    + IRIX
    + Junos OS
    + Linux
    + Lites
    + LSX
    + macOS (Mac OS X)
    + Mach
    + MERT
    + MicroBSD
    + MidnightBSD
    + Mini Unix
    + Minix
    + Minix-VMD
    + MIPS OS RISC/os
    + MirBSD
    + Mk Linux
    + Monterey
    + more/BSD
    +
    + mt Xinu
    + MVS/ESA OpenEdition
    + NetBSD
    + NeXTSTEP
    + NonStop-UX
    + Open Desktop
    + Open UNIX
    + OpenBSD
    + OpenDarwin
    + OpenIndiana
    + OpenServer
    + OpenSolaris
    + OPENSTEP
    + OS/390 OpenEdition
    + OS/390 Unix
    + OSF/1
    + OS X
    + PC-BSD
    + PC/IX
    + Plan 9
    + Plurix
    + PureDarwin
    + PWB
    + PWB/UNIX
    + QNX
    + QNX RTOS
    + QNX/Neutrino
    + QUNIX
    + ReliantUnix
    + Rhapsody
    + RISC iX
    + RT
    + SCO UNIX
    + SCO UnixWare
    + SCO Xenix
    + SCO Xenix System V/386
    + Security-Enhanced Linux
    + Silver OS
    + Sinix
    + Sinix ReliantUnix
    + Solaris
    + SPIX
    +
    + SunOS
    + Triance OS
    + Tru64 Unix
    + Trusted IRIX/B
    + Trusted Solaris
    + Trusted Xenix
    + TS
    + Tunis
    + UCLA Locus
    + UCLA Secure Unix
    + Ultrix
    + Ultrix 32M
    + Ultrix-11
    + Unicos
    + Unicos/mk
    + Unicos/mp
    + Unicox-max
    + UNICS
    + UniSoft UniPlus
    + UNIX 32V
    + UNIX Interactive
    + UNIX System III
    + UNIX System IV
    + UNIX System V
    + UNIX System V Release 2
    + UNIX System V Release 3
    + UNIX System V Release 4
    + UNIX System V/286
    + UNIX System V/386
    + UNIX Time-Sharing System
    + UnixWare
    + UNSW
    + USG
    + Venix
    + Xenix OS
    + Xinu
    + xMach
    + z/OS Unix System Services
    +
    +
    + +

    Here is now some unixes that are not [yet] in my chart. + If you want to find more unixes, try Google :-)

    + +
    + + + + + + + + + +
    + ABCenix
    + ACIX
    + AD
    + ÆrieBSD
    + Altos System V
    + ANALIX
    + ARIX
    + AurOS
    + Bitrig
    + BKUNIX
    + BOS/X
    + BS2000/OSD-BC
    + C Executive
    + CLIX
    + Consensys Unix
    + Concentrix
    + ConvexOS
    + COSIX
    + CPIX
    + Cromix
    +
    + CX/UX
    + DCC-IX
    + DC/OSx
    + DG/UX
    + DISTRIX
    + DNIX
    + Domain/OS
    + DRM System
    + DTIX
    + DVIX
    + EDIX
    + ENIX
    + EP/IX
    + Esix SVR4
    + Eurix
    + FOR:PRO
    + FreeMiNT
    + FTX
    + Genix
    + HCR
    +
    + Helios
    + HEP-UPX
    + HI-UX
    + IDRIS
    + Illumos
    + INOS
    + LSX
    + LynxOS
    + MachTen
    + MacMach
    + MAXION/OS
    + MCS
    + Micronix
    + Microport SVR4
    + MicroPort Unix
    + Mimos
    + MMOS
    + MP-RAS UNIX
    + MST UNIX
    + Mulplix
    +
    + Munix
    + NachOS
    + NCR Unix/NS
    + NDIX
    + News-OS
    + NUXI
    + Oasis
    + ONIX
    + OPUS
    + OS 9
    + OS/MP
    + OSx
    + PacBSD
    + PCUNIX
    + PNX
    + Punix
    + QNIX
    + REAL
    + Regulus
    + RetroBSD
    +
    + RT/EMT
    + RTUX
    + SORIX
    + Sortix
    + SOX
    + Sphinx
    + SPP-UX
    + Stellix
    + SUNIX
    + Super-UX
    + System B
    + Thix
    + TI System V
    + TNIX
    + Topix
    + TOS
    + Tribblix
    + Tropix
    + UHC Unix
    + Umax
    +
    + UniFLEX
    + Uniq
    + Unisis
    + Unity
    + UNOS
    + USIX
    + UTEK
    + UTS
    + UTX/32S
    + UX
    + UXP/DS
    + UZIX
    + VM/IX
    + VOLVIX
    + Xoftnix
    + Zeus
    +
    +
    + +
    +
    + + +
    + + + + +
    Some useful UNIX links
    + +
    + +
    +
    + Unix on Wikipedia +
    + + +
    +
    + + + + + +
    + + + + +
    Some links
    + +
    +
    + + +
    + + + + +
    My other links
    + +
    + + + Search in all levenez.com +
    + + +
    +
    +
    + + +
    + + home of levenez.com + + + + + + valid xhtml 1.0 transitional + + +    + last update : May 4, 2023
       + + Please send comments to Éric Lévénez

    + + You can freely use this diagram for non-commercial purpose. +
    + + + diff --git a/sac/pages/www-linusakesson-net-programming-tty-index-php b/sac/pages/www-linusakesson-net-programming-tty-index-php new file mode 100644 index 0000000..854e923 --- /dev/null +++ b/sac/pages/www-linusakesson-net-programming-tty-index-php @@ -0,0 +1,984 @@ + +The TTY demystified
    (hide navigation)
    • Swedish content
    Fund my projects
    Patreon
    Steady
    Don't miss
    Page thumbnail
    +Turbulence source code
    Forum
    Register
    Log in
    Latest comments
    Syndication
    RSS feed
    Feedback
    +

    The TTY demystified

    + +
    +Teletypes +

    Real teletypes in the 1940s.

    +
    + +

    The TTY subsystem is central to the design of Linux, and UNIX in general. +Unfortunately, its importance is often overlooked, and it is difficult to find +good introductory articles about it. I believe that a basic understanding of +TTYs in Linux is essential for the developer and the advanced user.

    + +

    Beware, though: What you are about to see is not particularly elegant. In +fact, the TTY subsystem — while quite functional from a user's point of +view — is a twisty little mess of special cases. To understand how this +came to be, we have to go back in time.

    + +

    History

    + +

    In 1869, the stock ticker was invented. It was an electro-mechanical +machine consisting of a typewriter, a long pair of wires and a ticker tape +printer, and its purpose was to distribute stock prices over long distances in +realtime. This concept gradually evolved into the faster, ASCII-based +teletype. Teletypes were once connected across the world in a large +network, called Telex, which was used for transferring commercial +telegrams, but the teletypes weren't connected to any computers yet.

    + +

    Meanwhile, however, the computers — still quite large and +primitive, but able to multitask — were becoming powerful enough to be +able to interact with users in realtime. When the command line eventually +replaced the old batch processing model, teletypes were used as input and +output devices, because they were readily available on the market.

    + +

    There was a plethora of teletype models around, all slightly different, so +some kind of software compatibility layer was called for. In the UNIX world, +the approach was to let the operating system kernel handle all the low-level +details, such as word length, baud rate, flow control, parity, control codes +for rudimentary line editing and so on. Fancy cursor movements, colour output +and other advanced features made possible in the late 1970s by solid state +video terminals such as the VT-100, were left to the applications.

    + +

    In present time, we find ourselves in a world where physical teletypes and +video terminals are practically extinct. Unless you visit a museum or a +hardware enthusiast, all the TTYs you're likely to see will be emulated video +terminals — software simulations of the real thing. But as we shall +see, the legacy from the old cast-iron beasts is still lurking beneath the +surface.

    + +

    The use cases

    + +Diagram + +

    A user types at a terminal (a physical teletype). This terminal is connected +through a pair of wires to a UART (Universal Asynchronous Receiver and +Transmitter) on the computer. The operating system contains a UART driver which +manages the physical transmission of bytes, including parity checks and flow +control. In a naïve system, the UART driver would then deliver the incoming +bytes directly to some application process. But such an approach would lack the +following essential features:

    + +

    Line editing. Most users make mistakes while typing, so a backspace +key is often useful. This could of course be implemented by the applications +themselves, but in accordance with the UNIX design philosophy, applications +should be kept as simple as possible. So as a convenience, the operating system +provides an editing buffer and some rudimentary editing commands (backspace, +erase word, clear line, reprint), which are enabled by default inside the +line discipline. Advanced applications may disable these features by +putting the line discipline in raw mode instead of the default +cooked (or canonical) mode. Most interactive applications +(editors, mail user agents, shells, all programs relying on curses or +readline) run in raw mode, and handle all the line editing commands +themselves. The line discipline also contains options for character echoing and +automatic conversion between carriage returns and linefeeds. Think of it as a +primitive kernel-level sed(1), if you like.

    + +

    Incidentally, the kernel provides several different line disciplines. Only +one of them is attached to a given serial device at a time. The default +discipline, which provides line editing, is called N_TTY +(drivers/char/n_tty.c, if you're feeling adventurous). Other +disciplines are used for other purposes, such as managing packet switched data +(ppp, IrDA, serial mice), but that is outside the scope of this article.

    + +

    Session management. The user probably wants to run several programs +simultaneously, and interact with them one at a time. If a program goes into an +endless loop, the user may want to kill it or suspend it. Programs that are +started in the background should be able to execute until they try to write to +the terminal, at which point they should be suspended. Likewise, user input +should be directed to the foreground program only. The operating system +implements these features in the TTY driver +(drivers/char/tty_io.c).

    + +

    An operating system process is "alive" (has an execution context), +which means that it can perform actions. The TTY driver is not alive; in object oriented +terminology, the TTY driver is a passive object. It has some data fields and some +methods, but the only way it can actually do something is when one of its +methods gets called from the context of a process or a kernel interrupt +handler. The line discipline is likewise a passive entity.

    + +

    Together, a particular triplet of UART driver, line discipline instance and +TTY driver may be referred to as a TTY device, or sometimes just TTY. A +user process can affect the behaviour of any TTY device by manipulating the +corresponding device file under /dev. Write permissions to the device +file are required, so when a user logs in on a particular TTY, that user must +become the owner of the device file. This is traditionally done by the +login(1) program, which runs with root privileges.

    + +

    The physical line in the previous diagram could of course be a long-distance +phone line:

    + +Diagram + +

    This does not change much, except that the system now has to handle a modem +hangup situation as well.

    + +

    Let's move on to a typical desktop system. This is how the Linux console +works:

    + +Diagram + +

    The TTY driver and line discipline behave just like in the previous +examples, but there is no UART or physical terminal involved anymore. Instead, +a video terminal (a complex state machine including a frame buffer of +characters and graphical character attributes) is emulated in software, and +rendered to a VGA display.

    + +

    The console subsystem is somewhat rigid. Things get more flexible (and +abstract) if we move the terminal emulation into userland. This is how +xterm(1) and its clones work:

    + +Diagram + +

    To facilitate moving the terminal emulation into userland, while still +keeping the TTY subsystem (session management and line discipline) intact, the +pseudo terminal or pty was invented. And as you may have guessed, +things get even more complicated when you start running pseudo terminals +inside pseudo terminals, à la screen(1) or ssh(1).

    + +

    Now let's take a step back and see how all of this fits into the +process model.

    + +

    Processes

    + +

    A Linux process can be in one of the following states:

    + +Process states + + + + + + + +
    RRunning or runnable (on run queue)
    DUninterruptible sleep (waiting for some event)
    SInterruptible sleep (waiting for some event or signal)
    TStopped, either by a job control signal or because it is being traced by a debugger.
    ZZombie process, terminated but not yet reaped by its parent.
    + +

    By running ps l, you can see which processes are running, and which are +sleeping. If a process is sleeping, the WCHAN column ("wait channel", the name +of the wait queue) will tell you what kernel event the process is waiting for.

    + +
    +
    +$ ps l
    +F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
    +0   500  5942  5928  15   0  12916  1460 wait   Ss   pts/14     0:00 -/bin/bash
    +0   500 12235  5942  15   0  21004  3572 wait   S+   pts/14     0:01 vim index.php
    +0   500 12580 12235  15   0   8080  1440 wait   S+   pts/14     0:00 /bin/bash -c (ps l) >/tmp/v727757/1 2>&1
    +0   500 12581 12580  15   0   4412   824 -      R+   pts/14     0:00 ps l
    +
    +
    + +

    The "wait" wait queue corresponds to the wait(2) syscall, +so these processes will be moved to the running state whenever there's a state change in one of their +child processes. There are two sleeping states: Interruptible +sleep and uninterruptible sleep. Interruptible sleep (the most common case) +means that while the process is part of a wait queue, it may actually also be +moved to the running state when a signal is sent to it. If you look inside the +kernel source code, you will find that any kernel code which is waiting for an +event must check if a signal is pending after schedule() returns, and abort the +syscall in that case.

    + +

    +In the ps listing above, the STAT column displays the current state of each +process. The same column may also contain one or more attributes, or flags: +

    + + + + +
    sThis process is a session leader.
    +This process is part of a foreground process group.
    + +

    These attributes are used for job control.

    + +

    Jobs and sessions

    + +

    Job control is what happens when you press ^Z to suspend a program, +or when you start a program in the background using &. A job is +the same as a process group. Internal shell commands like jobs, +fg and bg can be used to manipulate the existing jobs within +a session. Each session is managed by a session leader, the +shell, which is cooperating tightly with the kernel using a complex protocol of +signals and system calls.

    + +

    The following example illustrates the relationship between processes, jobs +and sessions:

    + +

    The following shell interactions...

    + +Screenshot + +

    ...correspond to these processes...

    + +Table + +

    ...and these kernel structures.

    + +
      +
    • TTY Driver (/dev/pts/0). + +
      +Size: 45x13
      +Controlling process group: (101)
      +Foreground process group: (103)
      +UART configuration (ignored, since this is an xterm):
      +  Baud rate, parity, word length and much more.
      +Line discipline configuration:
      +  cooked/raw mode, linefeed correction,
      +  meaning of interrupt characters etc.
      +Line discipline state:
      +  edit buffer (currently empty),
      +  cursor position within buffer etc.
      +
      + +
    • + +
    • pipe0 + +
      +Readable end (connected to PID 104 as file descriptor 0)
      +Writable end (connected to PID 103 as file descriptor 1)
      +Buffer
      +
      + +
    • +
    + +

    The basic idea is that every pipeline is a job, because every process in a +pipeline should be manipulated (stopped, resumed, killed) simultaneously. +That's why kill(2) allows you to send signals to entire process +groups. By default, fork(2) places a newly created child process in +the same process group as its parent, so that e.g. a ^C from the +keyboard will affect both parent and child. But the shell, as part of its +session leader duties, creates a new process group every time it +launches a pipeline.

    + +

    The TTY driver keeps track of the foreground process group id, but only in a +passive way. The session leader has to update this information explicitly when +necessary. Similarly, the TTY driver keeps track of the size of the connected +terminal, but this information has to be updated explicitly, by the terminal +emulator or even by the user.

    + +

    As you can see in the diagram above, several processes have +/dev/pts/0 attached to their standard input. But only the foreground +job (the ls | sort pipeline) will receive input from the +TTY. Likewise, only the foreground job will be allowed to write to the TTY +device (in the default configuration). If the cat process were to attempt to +write to the TTY, the kernel would suspend it using a signal.

    + +

    Signal madness

    + +

    Now let's take a closer look at how the TTY drivers, the line disciplines +and the UART drivers in the kernel communicate with the userland processes.

    + +

    UNIX files, including the TTY device file, can of course be read from and +written to, and further manipulated by means of the magic ioctl(2) call (the Swiss +army-knife of UNIX) for which lots of TTY related operations have been defined. +Still, ioctl requests have to be initiated from processes, so they can't be +used when the kernel needs to communicate asynchronously with an +application.

    + +

    In The Hitchhiker's Guide to the Galaxy, Douglas Adams mentions an +extremely dull planet, inhabited by a bunch of depressed humans and a certain breed +of animals with sharp teeth which communicate with the humans by biting them +very hard in the thighs. This is strikingly similar to UNIX, in which the kernel +communicates with processes by sending paralyzing or deadly signals to them. +Processes may intercept some of the signals, and try to adapt to the situation, +but most of them don't.

    + +

    So a signal is a crude mechanism that allows the kernel to communicate +asynchronously with a process. Signals in UNIX aren't clean or general; rather, +each signal is unique, and must be studied individually.

    + +

    You can use the command kill -l to see which signals your system implements. +This is what it may look like:

    + +
    +$ kill -l
    + 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL
    + 5) SIGTRAP	 6) SIGABRT	 7) SIGBUS	 8) SIGFPE
    + 9) SIGKILL	10) SIGUSR1	11) SIGSEGV	12) SIGUSR2
    +13) SIGPIPE	14) SIGALRM	15) SIGTERM	16) SIGSTKFLT
    +17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
    +21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU
    +25) SIGXFSZ	26) SIGVTALRM	27) SIGPROF	28) SIGWINCH
    +29) SIGIO	30) SIGPWR	31) SIGSYS	34) SIGRTMIN
    +35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3	38) SIGRTMIN+4
    +39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
    +43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12
    +47) SIGRTMIN+13	48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14
    +51) SIGRTMAX-13	52) SIGRTMAX-12	53) SIGRTMAX-11	54) SIGRTMAX-10
    +55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7	58) SIGRTMAX-6
    +59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
    +63) SIGRTMAX-1	64) SIGRTMAX	
    +
    + +

    As you can see, signals are numbered starting with 1. However, when they are +used in bitmasks (e.g. in the output of ps s), the least significant bit +corresponds to signal 1.

    + +

    This article will focus on the following signals: SIGHUP, +SIGINT, SIGQUIT, SIGPIPE, SIGCHLD, +SIGSTOP, SIGCONT, SIGTSTP, SIGTTIN, +SIGTTOU and SIGWINCH.

    + +
    +

    SIGHUP

    +
    • Default action: Terminate
    • +
    • Possible actions: Terminate, Ignore, Function call
    + +

    SIGHUP is sent by the UART driver to the entire session when a hangup +condition has been detected. Normally, this will kill all the processes. Some +programs, such as nohup(1) and screen(1), detach +from their session (and TTY), so that their child processes won't notice a +hangup.

    +
    + +
    +

    SIGINT

    +
    • Default action: Terminate
    • +
    • Possible actions: Terminate, Ignore, Function call
    + +

    SIGINT is sent by the TTY driver to the current foreground job when the +interactive attention character (typically ^C, which has ASCII +code 3) appears in the input stream, unless this behaviour has been turned +off. Anybody with access permissions to the TTY device can change the +interactive attention character and toggle this feature; additionally, the +session manager keeps track of the TTY configuration of each job, and updates +the TTY whenever there is a job switch.

    +
    + +
    +

    SIGQUIT

    +
    • Default action: Core dump
    • +
    • Possible actions: Core dump, Ignore, Function call
    + +

    SIGQUIT works just like SIGINT, but the quit character is typically +^\ and the default action is different.

    +
    + +
    +

    SIGPIPE

    +
    • Default action: Terminate
    • +
    • Possible actions: Terminate, Ignore, Function call
    + +

    The kernel sends SIGPIPE to any process which tries to write to a pipe with +no readers. This is useful, because otherwise jobs like +yes | head would never terminate.

    +
    + +
    +

    SIGCHLD

    +
    • Default action: Ignore
    • +
    • Possible actions: Ignore, Function call
    + +

    When a process dies or changes state (stop/continue), the kernel sends a +SIGCHLD to its parent process. The SIGCHLD signal carries additional +information, namely the process id, the user id, the exit status (or +termination signal) of the terminated process and some execution time +statistics. The session leader (shell) keeps track of its jobs using this +signal.

    +
    + +
    +

    SIGSTOP

    +
    • Default action: Suspend
    • +
    • Possible actions: Suspend
    + +

    This signal will unconditionally suspend the recipient, i.e. its signal +action can't be reconfigured. Please note, however, that SIGSTOP +isn't sent by the kernel during job control. Instead, ^Z typically +triggers a SIGTSTP, which can be intercepted by the application. The +application may then e.g. move the cursor to the bottom of the screen or +otherwise put the terminal in a known state, and subsequently put itself to sleep using SIGSTOP.

    +
    + +
    +

    SIGCONT

    +
    • Default action: Wake up
    • +
    • Possible actions: Wake up, Wake up + Function call
    + +

    SIGCONT will un-suspend a stopped process. It is sent explicitly by the +shell when the user invokes the fg command. Since SIGSTOP can't be +intercepted by an application, an unexpected SIGCONT signal might indicate that +the process was suspended some time ago, and then un-suspended.

    +
    + +
    +

    SIGTSTP

    +
    • Default action: Suspend
    • +
    • Possible actions: Suspend, Ignore, Function call
    + +

    SIGTSTP works just like SIGINT and SIGQUIT, but the magic character is +typically ^Z and the default action is to suspend the process.

    +
    + +
    +

    SIGTTIN

    +
    • Default action: Suspend
    • +
    • Possible actions: Suspend, Ignore, Function call
    + +

    If a process within a background job tries to read from a TTY device, the +TTY sends a SIGTTIN signal to the entire job. This will normally suspend the +job.

    +
    + +
    +

    SIGTTOU

    +
    • Default action: Suspend
    • +
    • Possible actions: Suspend, Ignore, Function call
    + +

    If a process within a background job tries to write to a TTY device, the TTY +sends a SIGTTOU signal to the entire job. This will normally suspend the job. +It is possible to turn off this feature on a per-TTY basis.

    +
    + +
    +

    SIGWINCH

    +
    • Default action: Ignore
    • +
    • Possible actions: Ignore, Function call
    + +

    As mentioned, the TTY device keeps track of the terminal size, but this +information needs to be updated manually. Whenever that happens, the TTY device +sends SIGWINCH to the foreground job. Well-behaving interactive applications, +such as editors, react upon this, fetch the new terminal size from the TTY +device and redraw themselves accordingly.

    +
    + +

    An example

    + +

    Suppose that you are editing a file in your (terminal based) editor of +choice. The cursor is somewhere in the middle of the screen, and the editor is +busy executing some processor intensive task, such as a search and replace +operation on a large file. Now you press ^Z. Since the line +discipline has been configured to intercept this character (^Z is a +single byte, with ASCII code 26), you don't have to wait for the editor to +complete its task and start reading from the TTY device. Instead, the line discipline +subsystem instantly sends SIGTSTP to the foreground process group. This process +group contains the editor, as well as any child processes created by it.

    + +

    The editor has installed a signal handler for SIGTSTP, so the kernel diverts +the process into executing the signal handler code. This code moves the cursor +to the last line on the screen, by writing the corresponding control sequences +to the TTY device. Since the editor is still in the foreground, the control +sequences are transmitted as requested. But then the editor sends a SIGSTOP to +its own process group.

    + +

    The editor has now been stopped. This fact is reported to the session leader +using a SIGCHLD signal, which includes the id of the suspended +process. When all processes in the foreground job have been suspended, the +session leader reads the current configuration from the TTY device, and stores +it for later retrieval. The session leader goes on to install itself as the +current foreground process group for the TTY using an ioctl call. +Then, it prints something like "[1]+ Stopped" to inform the user that a job was +just suspended.

    + +

    At this point, ps(1) will tell you that the editor process is in +the stopped state ("T"). If we try to wake it up, either by using the bg +built-in shell command, or by using kill(1) to send SIGCONT to the +process(es), the editor will start executing its SIGCONT signal handler. This +signal handler will probably attempt to redraw the editor GUI by writing to the +TTY device. But since the editor is now a background job, the TTY device will +not allow it. Instead, the TTY will send SIGTTOU to the editor, stopping it +again. This fact will be communicated to the session leader using SIGCHLD, and +the shell will once again write "[1]+ Stopped" to the terminal.

    + +

    When we type fg, however, the shell first restores the line +discipline configuration that was saved earlier. It informs the TTY driver that +the editor job should be treated as the foreground job from now on. And +finally, it sends a SIGCONT signal to the process group. The editor process +attempts to redraw its GUI, and this time it will not be interrupted by SIGTTOU +since it is now a part of the foreground job.

    + +

    Flow control and blocking I/O

    + +
    + +

    Run yes in an xterm, and you will see a lot of +"y" lines swooshing past your eyes. Naturally, the yes +process is able to generate "y" lines much faster than the +xterm application is able to parse them, update its frame buffer, +communicate with the X server in order to scroll the window and so on. How is +it possible for these programs to cooperate?

    + +

    The answer lies in blocking I/O. The pseudo terminal can only keep a +certain amount of data inside its kernel buffer, and when that buffer is full +and yes tries to call write(2), then write(2) will +block, moving the yes process into the interruptible sleep +state where it remains until the xterm process has had a chance to +read off some of the buffered bytes.

    + +

    The same thing happens if the TTY is connected to a serial port. +yes would be able to transmit data at a much higher rate than, say, +9600 baud, but if the serial port is limited to that speed, the kernel +buffer soon fills up and any subsequent write(2) calls block the +process (or fail with the error code EAGAIN if the process has +requested non-blocking I/O).

    + +

    What if I told you, that it is possible to explicitly put the TTY in a +blocking state even though there is space left in the kernel buffer? That until +further notice, every process trying to write(2) to the TTY +automatically blocks. What would be the use of such a feature?

    + +

    Suppose we're talking to some old VT-100 hardware at 9600 baud. We +just sent a complex control sequence asking the terminal to scroll the display. +At this point, the terminal gets so bogged down with the scrolling operation, +that it's unable to receive new data at the full rate of 9600 baud. Well, +physically, the terminal UART still runs at 9600 baud, but there won't be enough +buffer space in the terminal to keep a backlog of received characters. This is +when it would be a good time to put the TTY in a blocking state. But how do we +do that from the terminal?

    + +

    We have already seen that a TTY device may be configured to give certain +data bytes a special treatment. In the default configuration, for instance, a +received ^C byte won't be handed off to the application through +read(2), but will instead cause a SIGINT to be delivered to +the foreground job. In a similar way, it is possible to configure the TTY to +react on a stop flow byte and a start flow byte. These are +typically ^S (ASCII code 19) and ^Q (ASCII code 17) +respectively. Old hardware terminals transmit these bytes +automatically, and expect the operating system to regulate its flow of data +accordingly. This is called flow control, and it's the reason why your +xterm sometimes appears to lock up when you accidentally press +^S.

    + +

    There's an important difference here: Writing to a TTY which is stopped due +to flow control, or due to lack of kernel buffer space, will block your +process, whereas writing to a TTY from a background job will cause a +SIGTTOU to suspend the entire process group. I don't know why the +designers of UNIX had to go all the way to invent SIGTTOU and +SIGTTIN instead of relying on blocking I/O, but my best guess is that +the TTY driver, being in charge of job control, was designed to monitor and +manipulate whole jobs; never the individual processes within them.

    + +

    Configuring the TTY device

    + +
    +Control panel +
    + +

    To find out what the controlling TTY for your shell is called, you could +refer to the ps l listing as described earlier, or you could simply +run the tty(1) command.

    + +

    A process may read or modify the configuration of an open TTY device +using ioctl(2). The API is described in tty_ioctl(4). Since +it's part of the binary interface between Linux applications and the kernel, +it will remain stable across Linux versions. However, the interface is +non-portable, and applications should rather use the POSIX wrappers described +in the termios(3) man page.

    + +

    I won't go into the details of the termios(3) interface, but if +you're writing a C program and would like to intercept ^C before it +becomes a SIGINT, disable line editing or character echoing, change +the baud rate of a serial port, turn off flow control etc. then you will find +what you need in the aforementioned man page.

    + +

    There is also a command line tool, called stty(1), to manipulate +TTY devices. It uses the termios(3) API.

    + +

    Let's try it!

    + + +$ stty -a
    +speed 38400 baud; rows 73; columns 238; line = 0;
    +intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
    +-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
    +-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel -iutf8
    +opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    +isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
    +
    + +

    The -a flag tells stty to display all settings. By default, +it will look at the TTY device attached to your shell, but you can specify +another device with -F.

    + +

    Some of these settings refer to UART parameters, some affect the line +discipline and some are for job control. All mixed up in a bucket for +monsieur. Let's have a look at the first line:

    + + + + + +
    speedUARTThe baud rate. Ignored for pseudo terminals.
    rows, columnsTTY driverSomebody's idea of the size, in characters, of the terminal attached to this TTY device. Basically, it's just a pair of variables within kernel space, that you may freely set and get. Setting them will cause the TTY driver to dispatch a SIGWINCH to the foreground job.
    lineLine disciplineThe line discipline attached to the TTY device. 0 is N_TTY. All valid numbers are listed in /proc/tty/ldiscs. Unlisted numbers appear to be aliases for N_TTY, but don't rely on it.
    + +

    Try the following: Start an xterm. Make a note of its TTY device +(as reported by tty) and its size (as reported by stty -a). +Start vim (or some other full-screen terminal application) in the +xterm. The editor queries the TTY device for the current terminal size +in order to fill the entire window. Now, from a different shell window, type:

    + +
    stty -F X rows Y
    + +

    where X is the TTY device, and +Y is half the terminal height. This will update the TTY data structure +in kernel memory, and send a SIGWINCH to the editor, which will +promptly redraw itself using only the upper half of the available window +area.

    + +

    The second line of stty -a output lists all the special characters. +Start a new xterm and try this:

    + +
    stty intr o
    + +

    Now "o", rather than ^C, will send a SIGINT to +the foreground job. Try starting something, such as cat, and verify +that you can't kill it using ^C. Then, try typing "hello" +into it.

    + +

    Occasionally, you may come across a UNIX system where the backspace key +doesn't work. This happens when the terminal emulator transmits a backspace +code (either ASCII 8 or ASCII 127) which doesn't match the erase +setting in the TTY device. To remedy the problem, one usually types stty +erase ^H (for ASCII 8) or stty erase ^? (for ASCII 127). But +please remember that many terminal applications use readline, which +puts the line discipline in raw mode. Those applications aren't affected.

    + +

    Finally, stty -a lists a bunch of switches. As expected, they are +listed in no particular order. Some of them are UART-related, some affect the +line discipline behaviour, some are for flow control and some are for job +control. A dash (-) indicates that the switch is off; otherwise it is +on. All of the switches are explained in the stty(1) man page, so +I'll just briefly mention a few:

    + +

    icanon toggles the canonical (line-based) mode. Try this in a new xterm:

    +
    stty -icanon; cat
    +

    Note how all the line editing characters, such as backspace and ^U, +have stopped working. Also note that cat is receiving (and +consequently outputting) one character at a time, rather than one line at a +time.

    + +

    echo enables character echoing, and is on by default. +Re-enable canonical mode (stty icanon), and then try:

    + +
    stty -echo; cat
    + +

    As you type, your terminal emulator transmits information to the kernel. +Usually, the kernel echoes the same information back to the terminal emulator, +allowing you to see what you type. Without character echoing, you can't see +what you type, but we're in cooked mode so the line editing facilities are +still working. Once you press enter, the line discipline will transmit the edit +buffer to cat, which will reveal what your wrote.

    + +

    tostop controls whether background jobs are allowed to write to the terminal. First try this:

    + +
    stty tostop; (sleep 5; echo hello, world) &
    + +

    The & causes the command to run as a background job. After five +seconds, the job will attempt to write to the TTY. The TTY driver will suspend +it using SIGTTOU, and your shell will probably report this fact, +either immediately, or when it's about to issue a new prompt to you. Now kill +the background job, and try the following instead:

    + +
    stty -tostop; (sleep 5; echo hello, world) &
    + +

    You will get your prompt back, but after five seconds, the background job +transmits hello, world to the terminal, in the middle of whatever you +were typing.

    + +

    Finally, stty sane will restore your TTY device configuration to +something reasonable.

    + +

    Conclusion

    + +

    I hope this article has provided you with enough information to get to terms +with TTY drivers and line disciplines, and how they are related to terminals, line +editing and job control. Further details can be found in the various man pages +I've mentioned, as well as in the glibc manual (info libc, "Job +Control").

    + +

    Finally, while I don't have enough time to answer all the questions I get, I +do welcome feedback on this and other pages on the site. Thanks for +reading!

    + +

    Posted Friday 25-Jul-2008 17:46

    +
    +

    Discuss this page

    Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

    Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

    Anonymous
    Sun 24-Aug-2008 21:36
    Very good and informative article for a complex topic
    - the tty system really gets demystified here.

    Only a small correction:
    Your statement "icanon switches between raw and cooked mode" is not completely true.

    'stty -icanon' still interprets control characters such as Ctrl-C whereas 'stty raw' disables even this and is the real raw mode.

    Greetings,
    -Andreas.
    +
    lft
    Linus Åkesson
    Fri 29-Aug-2008 16:42
    Very good and informative article for a complex topic
    - the tty system really gets demystified here.

    Only a small correction:
    Your statement "icanon switches between raw and cooked mode" is not completely true.

    'stty -icanon' still interprets control characters such as Ctrl-C whereas 'stty raw' disables even this and is the real raw mode.

    Thanks!

    Yes, you're quite right. I've fixed it.
    +
    Anonymous
    Wed 26-Nov-2008 07:13
    I have been trying to chew through documents in every unix book possible to explain how the TTY system really works. Your article has been more informative than all of these books. Without a programmers knowledge of how a unix kernel works, it's quite difficult for a System Administrator to understand concepts that are so crucial to their jobs. Thank you for your writing such a great article. Your help is truly appreciated.
    +
    Anonymous
    Wed 10-Dec-2008 12:27
    I really admire you!! I'm not use to post, but this article was by far the best I ever read about tty, i read many articles and even books but nothing so clear like this.
    Keep doing things like this please...

    Excelente!
    Muchas Gracias
    Fede Tula
    +
    Anonymous
    Sat 20-Dec-2008 05:20
    Good article. A few years ago, after some experimentation, I wrote up some TTY stuff for myself, because I couldn't find any good documentation. For example, I never understood why process group leaders (and consequently also session leaders) are prevented from calling setsid(2). (See the manual for what setsid(2) does.) I think I can explain it now.

    The process P is a pg leader if P.PID = P.PGID. In the example of the article, "Job" means process group, and ls (103) is a process group leader:

    ls.PID = 103
    ls.PGID = 103
    ls.SID = 101
    ls.CTTY = /dev/pts/0

    Suppose we allow ls to call setsid(2). This would have the following consequences:

    ls.PID = 103 # unchanged
    ls.PGID = 103 # set to ls.PID, but in fact this is no change!
    ls.SID = 103 # set to ls.PID
    ls.CTTY = <none>

    Now ls is session leader (ls.SID = ls.PID), and ls is process group leader (ls.PGID = ls.PID).

    At this point, however, sort (104) would belong to a process group (103) whose leader's (ls's) SID (103) doesn't match sort's SID (101)!

    sort.PID = 104
    sort.PGID = 103
    sort.SID = 101

    the pg leader for pg 103 is ls (103):
    ls.PID = ls.PGID = 103 = sort.PGID
    however
    ls.SID = 103 != 101 = sort.SID

    We have two processes in the same process group belonging to different sessions!

    ls is prevented from calling setsid() because as current process leader its PGID doesn't change when it is set to its PID, while its SID changes. Thus it would leave the session while staying in the process group.

    Sort, OTOH, can call setsid(), becuase it also leaves the process group:
    sort.PID=104
    sort.PGID=104 # leaves process group too
    sort.SID=104
    sort.CTTY=<none>

    fork(2)-ing and calling setsid(2) in the child helps, because the child gets a new PID, which will be different from any PGID of the parent (as that PGID was the PID of some process), and so when the child calls setsid(2), the child.PGID := child.PID operation will actually change the child's inherited PGID and so the child will be able to leave the process group.

    Right after fork():
    parent.PGID = some_old_PID
    child.PID = new_PID
    child.PGID = parent.PGID = some_old_PID

    The child calls setsid():
    child.PGID = child.PID = new_PID != some_old_PID = parent.PGID

    A session leader *could* call setsid(), despite also being a process group leader, since neither its PGID nor its SID would change. However, its CTTY would be set to <none>, and this would result in a situation where the original controlling process (= a session leader with a CTTY), for example, your shell, has no more access to the terminal!

    Furthermore, there is the rule that when a controlling process dies, each session member (each process P with P.SID = SL.SID) loses access to the terminal (and possibly get a SIGHUP on the next read/write). This clearly shows the intent that no session member shall have access to the terminal when the session leader has none. This principle would be violated if the current session leader could detach from the CTTY by calling setsid(). (Or all session members would have to lose access to the CTTY, just as if the session leader died.)
    +
    Anonymous
    Thu 25-Dec-2008 19:19
    good job & best introductory for TTY
    +
    Anonymous
    Mon 20-Apr-2009 08:28
    amazing man , this is amazing !!! best tty article ever
    +
    Anonymous
    Tue 2-Jun-2009 19:27
    very good article!
    +
    Anonymous
    Mon 15-Jun-2009 16:10
    Holy Smokes dude, those were the days!

    Riff
    www.absolute-anonymity.us.tc
    +
    Anonymous
    Mon 15-Jun-2009 19:59
    I rarely comment on Blogs as I usually feel my input would not be necessary, but I must say this has been one of the best written and descriptive documents I have had the pleasure of learning from
    +
    Anonymous
    Mon 15-Jun-2009 22:41
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ to long, jesus christ write up a summery for us lazy people
    +
    Anonymous
    Tue 16-Jun-2009 00:22
    I've been looking for an article like this for a very long time... thanks very much for putting this together!
    +
    Anonymous
    Tue 16-Jun-2009 02:38
    Great summary, and very useful. Thanks!
    +
    Anonymous
    Tue 16-Jun-2009 06:57
    Just freaking great!

    script to make commands like less (more) adapt to changed screen size.
    It even tries to exit from the command leaving the cursor on the "correct" place.
    The kludge should work well with anything, that ought to be updated because of
    a change in terminal window size.

    CAVEATS
    It's written for Unix under Mac OsX, doesn't really know if tput are implemented under Linux.

    Well here we go. I'm sorry for the loss of tabs, it should have been indented.
    I have used this for a year and a half and it really works.

    #! /bin/bash
    export LESS=" -I -r -f -J -S -g -M -x 4"
    # -I ignore case when searching
    # -r "raw" do not preparate ctrl-chars,
    # -f force open special files (may be binary) BEWARE OF ANSISEQUENCES.
    # -J show status column
    # -S chop long lines.
    # -g highlight on last hit in the search.
    # -M Most Verbose status column...
    # -x 4 tabspacing = 4
    # -------------------------------------- the kludge starts here.................
    ORIGLINES=$LINES

    ESC=`printf "\e"`
    ScreenRedraw_off=`echo -n "$ESC""[8m"`
    ScreenRedraw_on=`echo -n "$ESC""[0m"`

    function OkayScreen()
    {
    export PS1="" # Turns off the prompt to avoid cluttering..
    echo -n ${ScreenRedraw_off}
    CURLINES=`bash -i < ~/bin/kludge.bash `
    # ^^^^^^^^^^^ NB! the path where kludge.bash should be placed.
    if [ $CURLINES -gt $ORIGLINES ] ; then
    TO_SKIP="$(expr "$CURLINES" '-' "$ORIGLINES")"
    if [ $TO_SKIP -lt 3 ] ; then
    TO_SKIP="$(expr "$TO_SKIP" '-' '2')"
    else
    TO_SKIP="$(expr "$TO_SKIP" '-' '1')"
    fi
    tput cuu 1 #cursor up one line
    echo -n ${ScreenRedraw_on}
    echo -n "\$" #restores prompt
    echo -n ${ScreenRedraw_off}
    tput cud $TO_SKIP
    echo -n ${ScreenRedraw_on}
    echo # activate cli correct position.
    else
    tput cuu 2
    echo ${ScreenRedraw_on}
    fi
    }
    trap OkayScreen SIGWINCH
    # if [ -t 0 ] ; then # /* this enables syntax highlighting */
    # $VIMRUNTIME/macros/less.sh $@ /* After tinkering with vim */
    # else
    /usr/bin/less $@
    # fi
    trap '' SIGWINCH
    # cp ./tmp/.vimrc~
    +
    Anonymous
    Tue 16-Jun-2009 07:05
    Just freaking great!

    Forgot the innerpart, which makes it all work ....
    This is a second script called kludge.bash which I have in my ~/bin folder.
    Needs to execute this to get the changed winsize in a new process since at
    least bash 2.05a didn't update the LINE variable in active process in the terminal window.



    #! /bin/bash
    # ### SYS Finds the number of lines in a window after window rechange - less... !#
    # kludge.scr - to be placed in the ~/bin folder is the inner workings of the bash script named less
    PS1=""
    shopt -s checkwinsize
    echo $LINES
    +
    Anonymous
    Tue 16-Jun-2009 23:58
    Thanks for the great article!

    I'd recommend adding some info about the *wide* spread myth of parent's death triggering SIGHUPs for all its children.

    Recall that the related behavior only applies to session leaders, and is triggered in any of the two following cases:

    #1:
    IF session leader exiting
    ..IF it has ctty
    ....send SIGHUP to foreground PG
    ..ELSE
    ....send SIGHUP to foreground PG at last time it had ctty

    #2:
    IF session leader detaching (TIOCNOTTY)
    ..send SIGHUP to foreground PG

    --JuanJo
    +
    Anonymous
    Wed 17-Jun-2009 10:42
    Actually, to be more precise:
    #1:
    IF session leader exiting
    ..IF it has ctty
    ....send SIGHUP to foreground PG
    ..ELSE
    ....send SIGHUP,SIGCONT to foreground PG at last time it had ctty

    #2:
    IF session leader detaching (TIOCNOTTY)
    ..send SIGHUP,SIGCONT to foreground PG


    See: http://google.com/codesearch/p?hl=en&sa=N&cd=2&ct=rc#p4tPAkVsQ_c/linux-2.2.26/drivers/char/tty_io.c&l=537"

    --JuanJo AKA jjo
    +
    lft
    Linus Åkesson
    Sun 21-Jun-2009 12:58
    A reader pointed out that VT (in VT-100) stands for "video terminal", not "virtual terminal". This has been fixed.
    +
    Anonymous
    Thu 30-Jul-2009 13:07
    Thanks for the article, really helped !
    +
    Anonymous
    Thu 30-Jul-2009 19:09
    Thankyou, I found this to be an excellent TTY primer.
    +
    Anonymous
    Fri 31-Jul-2009 22:14
    Bookmarked.
    Good tips =)
    +
    Anonymous
    Mon 10-Aug-2009 07:21
    Very nice. I'm currently (trying to) write a Unix-clone mostly from scratch, and this is a good resource on how TTYs are supposed to work.
    +
    Anonymous
    Sun 16-Aug-2009 15:32
    Hi--how are things in Sweden?

    Every once in a while I get up the ambition to complain about the width of text on a web page, and you're the lucky winner today--sorry ;-)

    This could be a good article--from the looks of it, it probably is--but why is it (and so many other web pages today) so wide?

    Checking one line at random, it is 130 characters wide:

    echo "Meanwhile, however, the computers — still quite large and primitive, but able to multitask — were becoming powerful enough to" | wc
    1 20 130

    Oh, and I'm ignoring the stuff in the left hand panel / column--I simply horizontally scroll so that panel is not visible.

    I have three choices if I want to read your article:

    * horizontally scroll on each line

    * set the type size very small (or zoom out), so an entire line appears on the screen, then use a magnifying glass

    * copy and paste the text to a file and read it in an editor--possibly deleting hard line breaks to let the text flow better.

    Ideally, and I've seen it done this way, so I believe it can be done:

    * the text should be arranged to wrap to the width of the (reader's) window

    * if there are long lines of code (pre-formatted text), or wide pictures, or something like that, the other text should still wrap to the width of the reader's window, although he'll have to horizontally scroll to see the full picture or code or whatever. (This is the part I'm specifically referring to as having seen done, but I can't remember any details (like an example, or how to do it--I'll try to pay attention and find some).

    Anyway, sorry for the rant--thanks for making the effort to create and disseminate pages with information like this!

    Randy Kramer
    +
    Anonymous
    Fri 4-Sep-2009 09:24
    Wonderful article.the explanation is meticulous and elegant. Thank you.
    +
    Anonymous
    Sat 12-Sep-2009 14:09
    GREAT ARTICLE!!! Read articles and books on Terminal I/O and none as clear as this summary.
    Well Done!
    +
    Anonymous
    Wed 23-Sep-2009 14:26
    Thanks for a good article
    +
    Anonymous
    Sat 17-Oct-2009 08:12
    Thanks for this very good article
    +
    Anonymous
    Tue 3-Nov-2009 17:53
    Thanks for such a wonderful article. I am a beginner in tty and your article was of great help!!
    +
    Anonymous
    Thu 5-Nov-2009 19:54
    nice article..thanx for sharing ur knowledge :)
    +
    Anonymous
    Tue 22-Dec-2009 20:58
    Thanks a lot for this precise article ! This has been very useful to me... (reading an external device on RS232 from bash...)
    +
    Anonymous
    Tue 9-Feb-2010 07:34
    Thank you for sharing such a great artical. -Hai
    +
    Anonymous
    Thu 15-Apr-2010 09:08
    Thanks a lot for this great article
    +
    Anonymous
    Tue 4-May-2010 08:36
    Wonderful article! I never learned much about unix process stuff (apart from little practical things like piping, detaching, killing, etc), but now I feel like I'm starting to see what's behind the magical terminals! Thank you :)
    +
    Anonymous
    Wed 12-May-2010 01:00
    "daemonizing" a process - detaching from the tty - would probably also fit here. -rurban
    +
    Anonymous
    Thu 13-May-2010 01:17
    What does TTY mean?
    +
    lft
    Linus Åkesson
    Thu 13-May-2010 15:33
    What does TTY mean?

    TeleTYpe.
    +
    Anonymous
    Wed 14-Jul-2010 03:21
    What Randy Kramer said.
    +
    Anonymous
    Sat 24-Jul-2010 14:28
    excellent article, well done!
    +
    Anonymous
    Sun 25-Jul-2010 00:31
    The process of daemonizing is covered elsewhere, easy to Google. It involved forking, killing the parent, then calling setsid() in the child, and optionally chdir()ing to / and closing stdin/stdout/stderr.

    I am currently working on writing a toy OS, and this was very useful in its treatment of the basic structure of the TTY subsystem. Thanks.
    +
    ralph
    Ralph Corderoy
    Sun 25-Jul-2010 14:22
    Nice article, various points...

    The erase and kill characters used to be # and @, and as you were printing on paper there was no rubbing out, so you might see

    $ ls @wc -l /etvc##c/passwd
    42 /etc/passwd
    $

    where the `@' was killing the whole line entered so far and the `##' was erasing the preceding `vc'.

    It's only modern shell that provide line editing, hence shell history substitutions like `!!' and `!$' existing. If /bin/sh is a plain old non-line-editing shell on your system then you can see the difference in tty settings by using `stty -a' from another terminal to capture the differences. Don't run stty(1) from, e.g., the bash shell since the shell will alter the tty settings before running stty. Here, bash has the literal next character, lnext, being undefined and turns off -icrnl, -icanon, and -echo.

    The above example of # and @ was achieved by

    $ sh
    $ stty erase \# kill @ -crterase -echok
    $ ls @wc -l /etvc##c/passwd
    42 /etc/passwd
    $ stty sane
    $ exit
    $

    where /bin/sh is dash(1) on this Ubuntu system.

    "Write permissions to the device file are required, so when a user logs in on a particular TTY, that user must become the owner of the device file." I think it's read permission that's required to alter a tty's settings. It did used to be write, in the very early days, but since write(1) and mesg(1) meant users could write to one another's terminals it also meant they could alter their settings. Much fun could be had with changing erase to `e' for a second and back again at random intervals whilst the user was trying to type. So it was switched to require read permission which only the owner of tty normally has. This can be seen in stdin of stty needing to be re-directed to specify the terminal, and not stdout, e.g. `stty -a </dev/pts/1'.

    Flow control, e.g. ^S and ^Q, existed long before the signals for job control. IIRC, it was Berkeley that added all the ^Z stuff and related signals, it wasn't Bell Labs.

    The Linux kernel doesn't bother to implement all of the normal control characters. Flush is one that's missing, IIRC, which is set with stty's `eol2'. It's a shame.

    Cheers,
    Ralph.

    P.S. There's a typo, `1970:s'.
    +
    lft
    Linus Åkesson
    Sun 25-Jul-2010 16:14

    ralph wrote:

    Nice article, various points...

    Thanks! That was very interesting. It hadn't occured to me that erase/kill would be usable without interactive line editing, but it makes sense.

    ralph wrote:

    P.S. There's a typo, `1970:s'.

    Changed to 1970s.
    +
    Anonymous
    Mon 2-Aug-2010 20:22
    How do you restart bash in tty0? For some reason my bash has died in all tty's (Ctrl-Alt-Fn). I does not show the login prompt anymore.

    How can I restart it? I cannot reboot the machine. I can ssh into it from another machine.
    +
    lft
    Linus Åkesson
    Thu 5-Aug-2010 08:10
    How do you restart bash in tty0? For some reason my bash has died in all tty's (Ctrl-Alt-Fn). I does not show the login prompt anymore.

    How can I restart it? I cannot reboot the machine. I can ssh into it from another machine.

    I don't know what's wrong in your particular case, but it's init (pid 1) that's supposed to (re-)start the login program in each terminal. You can modify init's configuration at runtime by editing /etc/inittab and then doing "kill -HUP 1". But it's probably not an error in the configuration file, so use ps(1) to investigate what processes are running in the terminals.
    +
    Anonymous
    Mon 9-Aug-2010 23:41
    Great article.
    For another great source on TTY devices you can go to:
    http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/ttysys.htm

    Enjoy,
    Ori
    +
    Anonymous
    Fri 13-Aug-2010 10:59
    Very good article...
    We want the part II were the concepts gets even closer to the Linux implementation...

    just an example:
    an xterm session under ssh when resized makes the TTY device to adjust the terminal size and generate SIGWINCH signal for the running app to know about the change...
    but if the xterm is under a serial line when resize occurs NOTHING happens (not kernel side size update, not SIGWINCH signal)... I know under serial line xterm does not communicate the size change, well where is the the place to patch in order to solve this, from the xterm side it would be very easy to send a escape sequence telling the TTY driver the new size but this driver should be patched for catching it and react as in the ssh case....

    Thanks for your out of ordinary (little or inexistant content + lot of google adds) article. I hope we can get a deeper version someday.

    Pat
    +
    Anonymous
    Sat 21-Aug-2010 03:00
    Hi,

    A very interesting article. I have just published a related article on the terminals in French : http://www.etud.insa-toulouse.fr/~mcheramy/wordpress/?p=198
    (And if you don't understand french, there are few interesting links in english at the end)

    Thanks.
    Max.
    +
    Anonymous
    Fri 27-Aug-2010 12:22
    How to Modify the tty driver so that control-W erases the previous word typed by the user.
    +
    Anonymous
    Mon 25-Oct-2010 13:14
    Nithin: thanks for the page....i got a lot of information from ur web page...
    +
    Anonymous
    Wed 1-Dec-2010 14:45
    Great article, very imformative please explain how to prevent UART overrun
    +
    Anonymous
    Thu 9-Dec-2010 18:19
    Hi there ! Would it be possible to create a raw tty which redirects input to some fifo and another tty to read from that fifo ? I know that is extrange what I'm asking...I'm building a z80 emulator and if this is possible would help me to test the input/output routines of the emulator without writting code to read/display...
    +
    Anonymous
    Sun 26-Dec-2010 21:32
    very helpful indeed Thanks a ton.
    +
    Anonymous
    Thu 6-Jan-2011 10:46
    Good article.Thanks you very much

    /Renjith G
    +
    Anonymous
    Wed 12-Jan-2011 13:12
    this article is very good .
    now i have a question.
    linux use /dev/console in booting before the init called . so i write a progrm that run after kernel booted and pass my progrm with option init in boot parameter and bypass init program so the first program that run is my program.
    this is my question : how i correct my program to resive signels from /dev/consoole?
    +
    Anonymous
    Tue 25-Jan-2011 09:19
    Awesome article! Its been very helpful in understanding TTY layer as whole.

    Thanks
    Ambresh
    +
    Anonymous
    Wed 9-Feb-2011 17:56
    Hi, this seems to be an excellent technical article, however is there any chance you can provide a broad description of TTY for a non technical audience. e.g. explain in simple language the origin, function and implications of TTY.
    You may not consider this your remit, which is fair enough.
    +
    Anonymous
    Wed 16-Feb-2011 07:57
    Great Job, learned much
    +
    Anonymous
    Wed 23-Feb-2011 20:35
    Very good document, thanks!
    +
    Anonymous
    Fri 25-Feb-2011 22:10
    great article. I have known the term 'TTY' for a long time and never knew what the history behind it. Seeing how even current day UNIX system still make use of TTY is quite interesting to me. Now I feel more 'connected' when I press a key on my keyboard and seeing a character appear on the monitor screen. A good read.
    +
    Anonymous
    Tue 1-Mar-2011 21:42
    Wow! The name of the article says it all, but for real this time! Thanks!

    Regards,
    Newman
    +
    Anonymous
    Fri 18-Mar-2011 20:18
    Amazing article. Thanks so much for putting this together. I've been using Linux for 10 years, and this taught me quite a bit.
    +
    Anonymous
    Mon 11-Apr-2011 18:08
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ to long, jesus christ write up a summery for us lazy people
    if(easilyBored || notInterested){
    goToAnotherSiteThen();
    } else {
    try {
    readAndLearn();
    }
    catch(DontUnderstandException dde){
    wiki(dde.getSubject());
    }
    finally {
    enjoyArticle();
    }
    }
    +
    Anonymous
    Wed 29-Jun-2011 12:19
    Fantastic expalanation. Keep up the good work
    +
    Anonymous
    Fri 1-Jul-2011 02:12
    Greatly informative article. Of course, Bookmarked.
    +
    Anonymous
    Mon 11-Jul-2011 14:18
    Very informative article; Thanks for knowledge sharing ...
    +
    Anonymous
    Wed 7-Sep-2011 13:48
    Fucking awesome. Thanks a lot for the info!
    +
    Anonymous
    Wed 7-Sep-2011 13:49
    Fucking awesome. Thanks a lot for the info!
    +
    Anonymous
    Fri 9-Sep-2011 14:25
    Excelent article, I started to read it at work, now I'm printing it to read it more carefuly on my way home. Thanks for sharing all this!
    +
    Anonymous
    Mon 19-Sep-2011 20:32
    Thank you for sharing your knoledge so generously!
    +
    Anonymous
    Tue 27-Sep-2011 06:01
    thanks for the works!
    +
    Anonymous
    Fri 30-Sep-2011 14:39
    Hi,

    I am currently working on Solaris sparc 10, where i am seeing below problem with default setting.

    Shell is allowing me to type in only 256 characters. e.g.

    bash-3.00$ cat
    SunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLSunStudio12u1-SunOS-SPARC-tar-MLS

    If i attempt to input more data nothing happens. After going through your notes it seems like i am crossing line buff limit. If yes can you please suggest how i can increase this limit


    Minal Patil
    +
    Anonymous
    Mon 24-Oct-2011 19:11
    can anybody give exact command for sending messages via linux?
    +
    Anonymous
    Wed 2-Nov-2011 02:21
    Hi,
    can you please suggest how i can increase this limit

    http://tinyurl.com/6yql6r8
    +
    Anonymous
    Mon 14-Nov-2011 20:33
    From your disclaimer: “Please report any abuse, such as insults, slander, spam and illegal material”

    Just a note: “slander” only applies to verbal communication. For written, use the term “libel” instead. :-D
    +
    Anonymous
    Tue 22-Nov-2011 15:04
    Thanks for writing the article. It was a bit heavy going at times, but it's helped me understand some of what is going on with the whole terminal thing.
    +
    Anonymous
    Mon 12-Dec-2011 03:22
    This was enormously informative and helpful. I've bookmarked it for future use. Thank you!
    +
    Anonymous
    Wed 21-Dec-2011 03:20
    I am trying to solve a mystery with certain services started at reboot or via a root crontab.
    These sercvices seem to fail, unless I login to a shell that has a proper TTY setup
    (eg: PuTTY of any type of ssh session)
    If I start up these services with a proper tty, they work and continue to run.
    My theory is that on reboot or via root crontab there is no tty.

    How can I create a psuedo tty master/slave pair underwhich to run these services so they work, with me doing a manual ssh login......?

    Larry Wichter
    +
    Anonymous
    Thu 12-Jan-2012 14:37
    Very informative article, thanks very much for sharing it with the web.
    +
    Anonymous
    Wed 18-Jan-2012 00:00
    Real great article thanks very much.
    +
    Anonymous
    Mon 20-Feb-2012 04:35
    Superb post. Thank you.
    +
    Anonymous
    Mon 5-Mar-2012 17:15
    Great article! I'm currently running a real Teletype ASR-33 on a serial port with Ubuntu. I have to use stty to set the proper parameters for an uppercase-only terminal, change tabs to spaces, etc. Is there a way to determine what port I'm logging into (ttyS0? S1? S2, S3 or S4?) Right now, I have to run stty on all ports and get an access denied error for any port I'm not connected to. I'd like to find out what port I'm on and only run the stty on that port. Thanks for your time!
    +
    Anonymous
    Mon 2-Apr-2012 12:21
    Is there a way to determine what port I'm logging into (ttyS0? S1? S2, S3 or S4?)
    Sounds like a job for the tty(1) command.
    +
    Anonymous
    Mon 2-Apr-2012 17:14
    I think the commentary about line editing being part of the operating system to simplify programs is potentially misleading - the simplification of applications is a side effect.

    If you're connected something like a VT100, the terminal handles line editing, and programs send control codes to the terminal to switch between cooked mode and raw mode. When virtual terminals were implemented, this functionality became part of the operating system to maintain compatibility with existing software.
    +
    Anonymous
    Wed 11-Apr-2012 23:15
    This is a really great job! Really helped with background jobs writing to stdout and going to sleep (putting 'stty -tostop;' before background command). It takes much time to generate meaningful examples - much appreciated!
    +
    Anonymous
    Sat 14-Apr-2012 11:54
    Thanks !!
    +
    Anonymous
    Sat 14-Apr-2012 12:21
    Great Article and good writing. I came looking for one answer (which I found) and found that I could not stop reading (normally a sign of a good article).

    Having been around as the last of the Telex's died out, having designed UART circuits, worked on Xenix and Unix Systems, and naturally Linux systems, your article plugged some reasonable holes I had on the subject...

    Thanks again...
    +
    Anonymous
    Tue 17-Apr-2012 16:35
    This is a very good article and I've read and enjoyed it multiple times (no, really!).

    One thing I think it does lack is that when it's talking about signals, it should mention about Linux's new(ish) signalfd.
    +
    Anonymous
    Sat 5-May-2012 14:56
    Great and insightful article!!!
    From this article I gain general knowledge about architecture
    of Linux devices(LowLevelDriver<->LineDiscipline<->HighLevelDriver).
    It's really a core of Linux I/O.

    Thank you very much.
    ___________________________
    Sichkar Dmytro from Ukraine
    dmbios@mail.ru
    +
    Anonymous
    Tue 15-May-2012 23:52
    Thank you so much. Great article!
    +
    Anonymous
    Thu 24-May-2012 15:22
    Good stuff, thanks!
    +
    Anonymous
    Mon 28-May-2012 02:48
    Thanks.
    +
    whizziwig
    David Blackman
    Mon 4-Jun-2012 17:16
    Can you explain why sometimes my terminal gets diseased, and the line I'm typing overwrites itself, or the cursor is in the wrong place, or similar symptoms? is there a way to fix it?
    +
    Anonymous
    Mon 4-Jun-2012 19:11
    Love the article, but I did have a comment -- namely that I wouldn't describe the DEC VT100 as solid state because of its CRT. Again, though, the article is great! Thanks!
    +
    Anonymous
    Tue 5-Jun-2012 07:20
    Absolutely terrific!
    +
    Anonymous
    Tue 5-Jun-2012 19:07
    That brings back old memories. The TTY shown is from the 1940's were 5 bit rather than the later 8 bit (really 7 bit plus parity) machines seen in the late 60's and 70's. Next retro core memory come back.

    RC Roeder
    +
    Anonymous
    Wed 6-Jun-2012 03:02
    Fantastic! awesome article you should think about to write a book or something, It clarified me some things, even having 5+ years of Unix experience.

    Al Mejida.
    +
    Anonymous
    Tue 12-Jun-2012 18:59
    Thanks a lot for writing this!
    +
    Anonymous
    Fri 6-Jul-2012 15:46
    "yes" program , produced in 2009 !

    Thank you David McKenzie for your contribution to open source community !

    I am just wondering what in your background that enabled the FSF to accept such worthless contribution ?

    Member of what masonic lodge or what church or son of a war hero or billonarties you have to be so they accept that piece of crap ?

    For reference:

    yes command - otputs a line on tty until killed !

    coded and added to Linux in 2009.
    +
    Anonymous
    Fri 6-Jul-2012 15:48
    "yes" program , produced in 2009 !

    Thank you David McKenzie for your contribution to open source community !

    I am just wondering what in your background that enabled the FSF to accept such worthless contribution ?

    Member of what masonic lodge or what church or son of a war hero or billonarties you have to be so they accept that piece of crap ?

    For reference:

    yes command - otputs a line on tty until killed !

    coded and added to Linux in 2009.

    interesing point although might be harsh on a boy who modified a hello world program and managed to add it to Linux.
    +
    Anonymous
    Fri 6-Jul-2012 15:50
    "yes" program , produced in 2009 !


    I disagree an entire source code of the yes in TARball may be a good example of how to add a new command to Linux, sort of like a new command template.



    www.LinuxCAD.com
    +
    lft
    Linus Åkesson
    Fri 6-Jul-2012 16:07
    "yes" program , produced in 2009 !
    ...
    Member of what masonic lodge or what church or son of a war hero or billonarties you have to be so they accept that piece of crap ?

    Your angry ignorance is amusing. Do you also consider echo or /dev/zero crap? Unix commands are simple by design, so that they can be combined easily. For instance, off the top of my head, here's a way to list the first 100 powers of two: (echo 1; yes 'p2*')|dc|head -n 100
    +
    Anonymous
    Fri 6-Jul-2012 21:17
    int main( in argc, char** arg)
    {
    if ( argc < 2 )
    {
    printf( "\nNo program, prints line to tty until killed !... please put now my name in Linux.\n" );
    exit(1);
    }
    while(1)
    {
    printf( argv[1] );
    };
    }
    +
    Anonymous
    Fri 13-Jul-2012 17:37
    Thank you!!
    +
    Anonymous
    Sat 14-Jul-2012 03:33
    Shell is allowing me to type in only 256 characters. e.g.

    bash-3.00$ cat
    SunStudio12u1-SunOS-SPARC-

    Minal Patil

    Can Web Master please delete this post so that the page would not be made so wide in some browser to be unreadable?
    Thanks.
    +
    lft
    Linus Åkesson
    Sat 14-Jul-2012 11:39
    Can Web Master please delete this post so that the page would not be made so wide in some browser to be unreadable?
    Thanks.

    I've added some "max-width" attributes that should fix the problem. What browser do you use?
    +
    Anonymous
    Sat 14-Jul-2012 22:18

    lft wrote:

    Can Web Master please delete this post

    I've added some "max-width" attributes that should fix the problem. What browser do you use?

    Thanks for being so responsive.

    I did realize, later, that it was just elinks that laid out the page to be annoyingly wide.

    $ elinks http://www.linusakesson.net/programming/tty/index.php

    (Use "]" or mouse to click near the right border of the terminal to scroll right.)

    I also found, later, that removing the posting containing a unusually long single-word helps, but a little scrolling left and right is still needed in elinks.

    Since this is restricted to an uncommon browser, don't worry about it.

    (I started using elinks on one computer due to the recent development on Linux desktop that resulted in poor support for older video cards where Firefox would freeze the entire desktop when rendering some common web content. elinks worked great for text content.)

    By the way, thanks for the page. It was a great read.
    +
    lft
    Linus Åkesson
    Sun 15-Jul-2012 20:29

    lft wrote:

    Can Web Master please delete this post

    I've added some "max-width" attributes that should fix the problem. What browser do you use?

    Thanks for being so responsive.

    I did realize, later, that it was just elinks that laid out the page to be annoyingly wide.

    I use elinks quite a lot myself, actually, for a fast, nonsense-reduced browsing experience. The page is not wider than the screen on my setup (elinks version 0.12pre5 with CSS enabled).
    +
    Anonymous
    Wed 19-Sep-2012 21:01
    It's not to keep application simple that the line discipline is in the kernel. The unix philosophy is quite the contrary, to keep the KERNEL simple, and deport to user space the handing of complexities that they don't want inside the kernel. (See for example interrupted system calls and signal handling, but that's another topic).

    The reason why the line discipline is inside the kernel, is to avoid context switches at the reception of each character (which in the early times of small core memories, would imply swap-outs and swap-ins!). So the line discipline keeps in a kernel buffer a line of input, and since it's simple enough to test for a specific byte and decrement a counter to implement the backspace "editing" (and a few other simple editing functions), it's done there.

    The alternative, is to use the raw mode, where the characters are forwarded to the application as soon as they're received, which is needed for more sophisticated editors, like the (at the time) famously known Eight Megabytes And Constantly Swapping editor (emacs). And indeed, since emacs had to use this raw mode, which implies a context switch at the reception of each character typed, it was constantly swapping when the computers hadn't enough memory to keep emacs and all the other programs in core.
    +
    Anonymous
    Thu 20-Sep-2012 02:54
    Thanks a lot! Was looking for this kind of information all over the place, never found anything good. If you got more please keep it coming.
    +
    Anonymous
    Thu 27-Sep-2012 22:03
    The most concise/intuitive article I've read so far on the subject. Diagrams were especially helpful. If you manage to write a book on Linux is such manner, no doubt it's going to be a bestseller...

    Thanks,
    Val.
    +
    Anonymous
    Fri 5-Oct-2012 17:38
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ to long, jesus christ write up a summery for us lazy people

    too many Zs. write a shorter insult with proper spelling for us non-moron people
    +
    Anonymous
    Sun 11-Nov-2012 20:09
    Thanks for the page. You help me a lot.
    +
    Anonymous
    Thu 29-Nov-2012 10:27
    Great job!

    I have just a suggestion.
    This article can be used as a first step by people (like me...) who don't have a deep knowledge on the topic,
    so why not to add a "References" section to help going into more depth?

    Cheers!
    +
    Anonymous
    Sun 30-Dec-2012 09:26
    Thank you very much for this great article!
    +
    Anonymous
    Fri 4-Jan-2013 15:38
    Excellent!! Thank you very much for this article. Watching and trying to understand technological issues via their historical context and being showed how they evolved make it really a pleasure to follow your explanations and very easy to get them.
    +
    Anonymous
    Wed 6-Feb-2013 01:27
    Very useful article, thanks.

    A couple of clarifications that would be great:

    1. It seems that there is a 1:1 correspondence between a session and the associated tty (bearing in mind that the associated tty may be "none") - is that true? In other words, can one session include processes with different ttys, and can processes in two different sessions be associated with the same tty? (and if so... what does that mean?!)

    2. What are the exact rules for automatic raising of SIGHUP? It seems that this is raised by the TTY driver, right? Does the POSIX specification specify when this should happen and who should receive it, and does Linux follow that? I have a confusing situation involving ssh -t raising SIGHUP on exit, while logging out of an interactive ssh login apparently does not.

    Thanks
    D
    +
    Anonymous
    Mon 11-Mar-2013 17:54
    Wow! Thanks Linus for the article.
    This is how I learned about things in the past, from people who knew their craft well. Compare this with how we do it today - don't think, google first, rummage through incoherent posts, forums, mailing lists and if you are patient enough might be able to put pieces together to get just the clues/pointers to the information you want! So much for the 'age of information'.
    Keep up the good work!
    Thanks.

    - VJ
    +
    Anonymous
    Tue 2-Apr-2013 11:01
    Real very informative! Kudos to your effort and thanks for hard work!
    +
    ulzha
    ulzha
    Sun 7-Apr-2013 14:59
    Fantastic, tack så mycket!

    I'm not writing an OS, but writing an improved screen or GUI terminal I do consider.

    In particular I was interested in whether there was an API to tell foreground job's output and background job's output apart (e.g. associating a PID with each chunk output) to highlight them understandably or something. Now I figure that I just might be able to implement that by wisely trapping SIGTTOUs perhaps...
    +
    Anonymous
    Sat 18-May-2013 11:57
    So much for the 'age of information'.

    Well, it is the age of information. Noone said it was the age of wisdom.
    +
    Anonymous
    Sat 18-May-2013 12:08
    "yes" program , produced in 2009 !

    Thank you David McKenzie for your contribution to open source community !

    I am just wondering what in your background that enabled the FSF to accept such worthless contribution ?

    Member of what masonic lodge or what church or son of a war hero or billonarties you have to be so they accept that piece of crap ?

    For reference:

    yes command - otputs a line on tty until killed !

    coded and added to Linux in 2009.

    Actually, "yes", which is part of GNU coreutils, has been around since, like forever, being an implementation of the same-named Unix command.

    David MacKenzie is the author of many of coreutils' commands, including chgrp, chmod, chown, date, dirname, expand, fold, ginstall, groups, head, mkdir, mkfifo, mknod, nice, printenv, printf, rmdir, stty, su, tty, uname, unexpand, and obviously yes; and is co-author of many others. But he is probably best known for autotools, which is one of the most central pieces of free software, as any distribution maintainer could tell you.

    Now, what have YOU done for GNU or Linux or free software?
    +
    Anonymous
    Sat 24-Aug-2013 21:48
    So I was searching for information about the TTY system, and where did I, by chance, end up? Thanks for the great article. :-)

    /radiantx
    +
    Anonymous
    Fri 6-Sep-2013 12:10
    really great post ! Thanks a lot for the general understanding of the how, instead of the usual "to do this, do that" ! And I'll stop here because having three exclamation mark in one sentence is a clear sign of mental disorder, but thanks again.
    +
    Anonymous
    Sun 15-Sep-2013 20:58
    Excellent post on TTY!! Thank you -- Aananth C N
    +
    Anonymous
    Thu 10-Oct-2013 05:42
    thank you. very interesting.
    +
    Anonymous
    Wed 11-Dec-2013 14:19
    I'll join the crowd here to say thank you for the time you spent on this article, I've appreciated it a lot.
    +
    Anonymous
    Fri 13-Dec-2013 15:13
    Thank you. I don't think this article will EVER be outdated :P
    +
    Anonymous
    Fri 27-Dec-2013 15:55
    Great article! I'm currently running a real Teletype ASR-33 on a serial port with Ubuntu. I have to use stty to set the proper parameters for an uppercase-only terminal, change tabs to spaces, etc. Is there a way to determine what port I'm logging into (ttyS0? S1? S2, S3 or S4?) Right now, I have to run stty on all ports and get an access denied error for any port I'm not connected to. I'd like to find out what port I'm on and only run the stty on that port. Thanks for your time!

    Have you tried ls /dev/tty.* to get a listing of connected devices? On my Mac OS X this cues me into which tty device to use. I'm running a DEC Writer III. :)
    +
    Anonymous
    Tue 11-Feb-2014 19:38
    Thanks for this enlightening article! It is a bit wordy, but I completely expected that.

    I am currently working on writing a toy OS

    You work for Microsoft?
    +
    Anonymous
    Wed 12-Feb-2014 02:14
    First teletype was made in Germany around the 30s or 40s. One of the many types of teletypes was the Hellschreiber. There were also other types but all worked the same: you punch letters and they are remote printed to one or more receiving stations. After the war in the operations of confiscating the german patents, the US developed the teletype further. That's missing from your article.
    +
    Anonymous
    Fri 14-Feb-2014 08:32
    First teletype was made in Germany around the 30s or 40s. One of the many types of teletypes was the Hellschreiber. There were also other types but all worked the same: you punch letters and they are remote printed to one or more receiving stations. After the war in the operations of confiscating the german patents, the US developed the teletype further. That's missing from your article.

    The Hellschreiber device is not a teletype, it's more of a facsimile machine. You pressed a letter, and a _bitmap_ of the letter was transmitted (twice to account for mechanical asynchrony). On the receiving side, marks and spaces were literally penned onto the paper, creating two copies of the text, one atop the other. Due to said asynchrony, it was often skewed, but because two copies were printed, nonetheless legible.

    This is a very, very different mode of operation from the teletypes described above.
    +
    Anonymous
    Fri 14-Feb-2014 08:45
    First teletype was made in Germany around the 30s or 40s. One of the many types of teletypes was the Hellschreiber. There were also other types but all worked the same: you punch letters and they are remote printed to one or more receiving stations. After the war in the operations of confiscating the german patents, the US developed the teletype further. That's missing from your article.

    I don't know of the history of teletypes in Germany, but the Teletype Model 15 was first produced in 1930 and was in wide use before and after World War II. Both in military and civilian contexts.

    The Model 15 wasn't the first model produced by the Teletype corporation, but it was probably the most widely used pre-war model. It might have been the most widely used model, period.

    Like I said, I don't really know anything about German teletypes, but looking at the Wikipedia page for Hellschreiber, that device is quite different than the Teletype corporation's devices. It looks like the Hellschrieber sends pixels and might actually be more similar to FAX machines than Teletype devices.
    +
    Anonymous
    Mon 17-Feb-2014 07:42
    man! you made me see the light!
    +
    Anonymous
    Thu 27-Feb-2014 07:55
    Hi--how are things in Sweden?

    Every once in a while I get up the ambition to complain about the width of text on a web page, and you're the lucky winner today--sorry ;-)

    This could be a good article--from the looks of it, it probably is--but why is it (and so many other web pages today) so wide?

    Checking one line at random, it is 130 characters wide:

    echo "Meanwhile, however, the computers — still quite large and primitive, but able to multitask — were becoming powerful enough to" | wc
    1 20 130

    Oh, and I'm ignoring the stuff in the left hand panel / column--I simply horizontally scroll so that panel is not visible.

    .....

    You mean you aren't browsing this page with a teletype?
    +
    Anonymous
    Thu 10-Apr-2014 12:05
    > Writing to a TTY which is stopped due to flow control, ...... will block your process

    I can't understand? The process will not blocked when TTY is stopped by flow control(ctrl+S), the foreground process will continue running. The only difference is I can't see the display until I type ctrl+Q again.

    Thanks for you article
    nyu
    +
    Anonymous
    Thu 10-Jul-2014 11:03
    > Writing to a TTY which is stopped due to flow control, ...... will block your process
    I can't understand? The process will not blocked when TTY is stopped by flow control(ctrl+S), the foreground process will continue running. The only difference is I can't see the display until I type ctrl+Q again.

    You're right Nyu... and this running process may be blocked when the TTY kernel buffer is full of non-displayed characters, if it outputs too much on stdout/stderr.
    I guess the author has taken a shortcut when writing this, as the flow control stop is often used to block a too verbose process and to be able to read few lines before let it go on again.

    Yves
    +
    Anonymous
    Mon 14-Jul-2014 11:16
    great post!!
    +
    Anonymous
    Thu 24-Jul-2014 09:39
    Hi!
    I'm struggling with RS485 communication:
    Is it possible to configure a tty to automatically raise the RTS line before sending and lower the RTS line after sending?
    Thank you for your input,
    Helmut
    +
    Anonymous
    Mon 28-Jul-2014 11:13
    the VT100 was not a colour terminal as the text suggests, though.
    +
    Anonymous
    Mon 28-Jul-2014 22:07
    Unix purist <- I WAS HERE +1 great article
    +
    Anonymous
    Tue 5-Aug-2014 09:29
    Great article - I will recommend it to my network.

    Kind regards,
    Christian from Germany
    +
    Anonymous
    Tue 2-Sep-2014 16:01
    the VT100 was not a colour terminal as the text suggests, though.

    seems so, just checked the manuals online. http://www.vt100.net/docs/

    do you perhaps know which terminal introduced color attributes for escape sequences?
    +
    Anonymous
    Thu 4-Sep-2014 23:13
    The Plan 9 operating system completely does away with TTY, signals, and ioctl. Everything in Plan 9 is either a file or represented as a file.
    +
    Anonymous
    Sat 13-Sep-2014 12:33
    The basic idea is that every pipeline is a job, because every process in a pipeline should be manipulated (stopped, resumed, killed) simultaneously.

    Not just pipelines, every command is a job in shell's parlance. Job is a userspace thing, only maintained by shell, not kernel.
    http://www.gnu.org/software/bash/manual/bashref.html#Shell-Commands

    Niz
    +
    Anonymous
    Wed 24-Sep-2014 12:34
    By far the most amazing article about TTY I have ever read, thanks!
    +
    Anonymous
    Sun 12-Oct-2014 17:04
    Great article. Thank you! After 15 years of using unix and linux i finally got to the description of ttys :)
    +
    Anonymous
    Fri 14-Nov-2014 01:31
    Fantastic article. Thanks for doing all of the legwork. :)

    -pf
    +
    Anonymous
    Sun 16-Nov-2014 02:37
    Thank you so for the article!
    And now, I know the meaning of "tty" and "pty"!

    Maya2003
    +
    Anonymous
    Wed 3-Dec-2014 15:42
    Great article, thanks a lot!
    +
    Anonymous
    Wed 14-Jan-2015 20:09
    This is the best article I have ever read about tty.

    Thanks a lot!
    +
    Anonymous
    Mon 9-Feb-2015 02:38
    Thank you !!! :)
    +
    Anonymous
    Sun 15-Feb-2015 22:47
    Yup, interesting intro to the TTY area, I think, and fun trying out the terminal tweaks..but any ideas of where I can find a good intro to using TTY in Linux, without the writer assuming I know all about networking/the Linux kernel in advance??? Please and thank-you.
    +
    Anonymous
    Sun 15-Feb-2015 22:47
    Yup, interesting intro to the TTY area, I think, and fun trying out the terminal tweaks..but any ideas of where I can find a good intro to using TTY in Linux, without the writer assuming I know all about networking/the Linux kernel in advance??? Please and thank-you.
    +
    zdennis
    Zach Dennis
    Sun 8-Mar-2015 23:07
    Yup, interesting intro to the TTY area, I think, and fun trying out the terminal tweaks..but any ideas of where I can find a good intro to using TTY in Linux, without the writer assuming I know all about networking/the Linux kernel in advance??? Please and thank-you.

    The O'Reilly book titled "Termcap & TermInfo" should get you started: http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Linda/dp/0937175226
    +
    Anonymous
    Sat 11-Apr-2015 22:14
    best tty explanation ever written, hands down.

    thank you so very much.
    +
    Anonymous
    Tue 14-Apr-2015 23:21
    I'm not especially new to bash programming or serial ports in general, but have never delved into stty and echo.

    So I have a simple script (and I'm not sure I have the stty settings right), that should send "tx c" to the serial port. However, the best I can tell using minicom, if I perform the following from the command line:

    echo tx c > /dev/ttyO1

    the serial device receives:

    tx.{

    echo aaa > /dev/ttyO1 echos aay
    echo bbbbb > /dev/ttyO1 echos bbbbz
    echo abcdefghijklmnop > /dev/ttyO1 echos abeefgkijkmmnoz

    WHAT am I missing?
    +
    Anonymous
    Tue 21-Apr-2015 16:45
    This is best ever article on TTY. What an awesome job. Please keep writing such articles.
    Chakri
    +
    Anonymous
    Fri 8-May-2015 12:00
    The best article about tty ever! no kidding.
    +
    Anonymous
    Sat 25-Jul-2015 18:08
    very useful! thanks~
    +
    Anonymous
    Thu 30-Jul-2015 04:41
    I am new to Linux but this article is so clear even i can taste 60% of them. I will read it again a couple days later because this is the best article i ever read about linux.
    +
    Anonymous
    Sat 15-Aug-2015 19:45
    amazingly clear on a very fundamental piece of technology that I never really knew about. Just the build up of the subject is a great way to approach any kind of technical writing. I'll definitely keep this post in mind when I try to tackle writing about a complicated technical subject.
    +
    Anonymous
    Sun 16-Aug-2015 03:57
    "yes" program , produced in 2009 !

    Thank you David McKenzie for your contribution to open source community !

    I am just wondering what in your background that enabled the FSF to accept such worthless contribution ?

    Member of what masonic lodge or what church or son of a war hero or billonarties you have to be so they accept that piece of crap ?

    For reference:

    yes command - otputs a line on tty until killed !

    coded and added to Linux in 2009.

    HISTORY
    The yes command appeared in Version 7 AT&T UNIX.
    The code for this in GNU is ridiculously long, but in other systems, the code is shorter than the license or the above comment
    #include <stdio.h>

    int
    main(int argc, char *argv[])
    {
    if (argc > 1)
    for (;;)
    puts(argv[1]);
    else
    for (;;)
    puts("y");
    }
    +
    i336_
    David Lindsay
    Tue 18-Aug-2015 16:55
    This is really cool. I've just discovered this; I might have more to add after I've properly read through it. While I remember, though, I want to mention one of the better resources I've found for terminal escape sequences: an old online manpage for dtterm(5), at

    http://www2.phys.canterbury.ac.nz/dept/docs/manuals/unix/DEC_4.0e_Docs/HTML/MAN/MAN5/0036____.HTM

    Also, the following Github Gist is updated extremely frequently (6 days ago, as I type this); it tracks terminal support for 24-bit color, a fairly new capability that's slowly gaining traction. You should be able to just expect it to be available 3-5 years from now; terminals in hyper-current distros like Arch likely have the support already.

    https://gist.github.com/XVilka/8346728
    +
    Anonymous
    Tue 22-Sep-2015 04:41
    Thanks for a great explanation of infrequently discussed, arcane, but essential part of the Unix/Linux "reptile brain". Required knowledge for anyone who hopes to use Unix/Linux beyond a novice level.
    +
    Anonymous
    Mon 30-Nov-2015 09:35
    Amazing. Very very needed. Thank you very much.
    +
    Anonymous
    Fri 4-Dec-2015 08:14
    Very nice summary for those born too late :-)

    It might be worth mentioning that UARTs/serial ports have control lines to block transmission when the received data can't be processed as fast as it's received.
    This way the UART itself would stop transmitting and the whole process was handled in hardware.
    The sending process would have to wait (be blocked) for the UART to transmit it's data anyway, as the hardware would mostly be slower than the software anyway.

    However when modems came in to play, the terminals UART and the hosts UART were no longer directly wired to each other and modems would only transmit data and no control lines between them. This situation required another method of flow control that would have to be transmitted in-band with the data. So software flow control via device control characters was invented.
    +
    Anonymous
    Thu 7-Jan-2016 12:45
    5
    +
    Anonymous
    Tue 12-Jan-2016 16:07
    Really good document,thanks for your great efforts
    +
    Anonymous
    Fri 5-Feb-2016 14:34
    I am learning linux... and it is best article to understand what is going under the hood:) thanks for your time
    +
    Anonymous
    Sat 20-Feb-2016 01:55
    Good job demystifying TTY for me. Keep it up.

    Cheers
    +
    Anonymous
    Thu 10-Mar-2016 01:06
    This and all OK.. But.. I have one doubt for long time... In case of terminal emulator we can navigate/scroll using mouse.. How do we scroll/navigate inside TTY (I am a Linux beginner.. So sorry if it's a stupid question)
    +
    lft
    Linus Åkesson
    Tue 29-Mar-2016 22:35
    This and all OK.. But.. I have one doubt for long time... In case of terminal emulator we can navigate/scroll using mouse.. How do we scroll/navigate inside TTY (I am a Linux beginner.. So sorry if it's a stupid question)

    Hi! That is not handled by the TTY layer, it is done by the terminal emulator itself. Whenever something scrolls off-screen, it is appended to a scrollback buffer, which you can then view using GUI controls or keyboard shortcuts.
    +
    Anonymous
    Wed 30-Mar-2016 22:02
    Yes! More than I was looking for, but I'm not complaining. Brilliant article, and now I know enough to stay the fuck away until I must.
    +
    Anonymous
    Sat 9-Apr-2016 01:04
    really cool thanx to share your knowledge
    +
    Anonymous
    Sun 10-Apr-2016 03:34
    Hello Linus! I have a question about what happens when you kill a process in raw mode. If you launch, say, vim in a terminal and then run `killall -9 vim` from a separate terminal, you would expect the original terminal to be left in raw mode after vim exits (as if you had run `stty raw` or something). However, surprisingly, it is left in canonical mode. I have tried this with multiple shells, terminal emulators, and OS's, and only urxvt behaves differently from this. My question is, what mechanism resets the terminal in this case?

    -- kc
    +
    lcu
    Luis Colorado
    Thu 14-Apr-2016 14:19
    Hello Linus! I have a question about what happens when you kill a process in raw mode. If you launch, say, vim in a terminal and then run `killall -9 vim` from a separate terminal, you would expect the original terminal to be left in raw mode after vim exits (as if you had run `stty raw` or something). However, surprisingly, it is left in canonical mode. I have tried this with multiple shells, terminal emulators, and OS's, and only urxvt behaves differently from this. My question is, what mechanism resets the terminal in this case?

    -- kc
    Historically, the UNIX tty driver used to reset terminal settings to known values (300bps, some parity, cooked mode, etc.) in close() callback (which was called by the kernel only on last close to the device only) but this was found nonsense, because normal initial session programs like old /etc/getty (yes, it was stored there) were to initialize it fully. This had some drawbacks, because this last close could happen when not needed and the reasons to conserve settings between close where significant.

    This requirement has been dropped from linux kernel and now linux allows you to fix terminal settings from a previous shell command without losing those settings because of a last close issue.
    +
    Anonymous
    Fri 22-Apr-2016 04:21
    Thank you sir. You have been helpful.
    +
    Anonymous
    Mon 16-May-2016 21:57
    Thank you. I don't think this article will EVER be outdated :P
    The images of it already are on high resolution monitors.
    +
    Anonymous
    Thu 23-Jun-2016 20:00
    Best article regarding this mess!
    +
    Anonymous
    Fri 15-Jul-2016 21:14
    This is just awesome! I have old phone co UNIX books that don't go into this depth! Thx for this info
    +
    Anonymous
    Sat 16-Jul-2016 19:19
    Nice one. Thanks.
    +
    Anonymous
    Sat 23-Jul-2016 14:39
    I'm using python on Debian os.
    I've interfaced bluetooth to uart.
    The data coming from bluetooth is received and can be monitored on ttyS0.
    Can someone tell me how to copy that data.
    I want to paste it in a text file
    +
    Anonymous
    Mon 29-Aug-2016 22:34
    "yes" program , produced in 2009 !

    .... cut ....

    For reference:

    yes command - otputs a line on tty until killed !

    coded and added to Linux in 2009.

    Interesting! I remember I made a joke with yes program to my friend in 1996 by using Slackware Linux I.e. Linux kernel so new.
    +
    Anonymous
    Mon 29-Aug-2016 23:03
    I'm not especially new to bash programming or serial ports in general, but have never delved into stty and echo.

    So I have a simple script (and I'm not sure I have the stty settings right), that should send "tx c" to the serial port. However, the best I can tell using minicom, if I perform the following from the command line:

    echo tx c > /dev/ttyO1

    the serial device receives:

    tx.{

    echo aaa > /dev/ttyO1 echos aay
    echo bbbbb > /dev/ttyO1 echos bbbbz
    echo abcdefghijklmnop > /dev/ttyO1 echos abeefgkijkmmnoz

    WHAT am I missing?

    Not sure about your system but in my old linux systems with serial port, device was ttyS01 but not tty01.
    +
    Anonymous
    Mon 29-Aug-2016 23:11
    This and all OK.. But.. I have one doubt for long time... In case of terminal emulator we can navigate/scroll using mouse.. How do we scroll/navigate inside TTY (I am a Linux beginner.. So sorry if it's a stupid question)

    Shift+page up/down

    This will do the job both in fyi terminal emulators and the ones on TTYs (ctrl+alt+F1, etc.).
    +
    Anonymous
    Mon 29-Aug-2016 23:23
    I'm not especially new to bash programming or serial ports in general, but have never delved into stty and echo.

    So I have a simple script (and I'm not sure I have the stty settings right), that should send "tx c" to the serial port. However, the best I can tell using minicom, if I perform the following from the command line:

    echo tx c > /dev/ttyO1

    the serial device receives:

    tx.{

    echo aaa > /dev/ttyO1 echos aay
    echo bbbbb > /dev/ttyO1 echos bbbbz
    echo abcdefghijklmnop > /dev/ttyO1 echos abeefgkijkmmnoz

    WHAT am I missing?

    Not sure about your system but in my old linux systems with serial port, device was ttyS01 but not tty01.

    It seems ttyO1 works for you.
    Maybe outrun a CR and LF at the end of the echoed words will help.
    Indeed CR may not be needed.

    Try this:
    echo bbbbb\n\r > /dev/ttyO1

    Hope it works *fingers crossed* :)
    +
    Anonymous
    Mon 29-Aug-2016 23:29
    I have been with Linux and UNIX systems since 1994. They were good old days and I am learning these amazing knowledge just now from this article.
    Fantastic job Linus. Thank you so much!

    Bedri Özgür Güler
    +
    Anonymous
    Thu 6-Oct-2016 19:39
    * the text should be arranged to wrap to the width of the (reader's) window

    Whilst I agree with you entirely, this article wraps just as you request.

    Of course, it may have been altered in the many years since you wrote your comment :-) but credit where credit is due!
    +
    Anonymous
    Sun 20-Nov-2016 21:14
    Wow, very impressive style of writing, thank you very much.
    Great article.
    Would be awesome something like that about handling keycodes(infocmp & friends).
    +
    Anonymous
    Sun 11-Dec-2016 23:47
    I have a small question.

    Can you tell me when the /dev/ttyXXX or /dev/pts/X are added in the /dev directory ?

    Initially, I thought that each program had its own /dev/ttyXXX device. When is the kernel adding a new /dev/ttyXXX device ?

    Let say that I add the following lines in /etc/rc.local
    # Start these program during the init.
    /home/user/prog1 &
    /home/user/prog2 &
    /home/user/prog3 &

    Will it create one or three new /dev/ttyXXX device ?
    (or will it reuse another one that is already present?)

    Thanks for this article.
    +
    Anonymous
    Sun 12-Feb-2017 05:50
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ to long, jesus christ write up a summery for us lazy people

    That was the "summery"; you are an insult to lazy people everywhere.

    But you have redeemed yourself with a great toast: To long, jesus christ! >clink!<
    +
    Anonymous
    Sat 18-Feb-2017 19:46
    Thank you Linus. Really helped me understand this stuff.
    +
    Anonymous
    Mon 13-Mar-2017 07:49
    This was extremely helpful, thanks!
    +
    Anonymous
    Wed 15-Mar-2017 12:28
    > In The Hitchhiker's Guide to the Galaxy, Douglas Adams mentions an extremely dull planet, inhabited by a bunch of depressed humans and a certain breed of animals with sharp teeth which communicate with the humans by biting them very hard in the thighs. This is strikingly similar to UNIX, in which the kernel communicates with processes by sending paralyzing or deadly signals to them. Processes may intercept some of the signals, and try to adapt to the situation, but most of them don't.

    This is the only thing I could find about it, do you have any reference for that?
    +
    Anonymous
    Sun 7-May-2017 22:25
    amazing article!

    thank you very much
    +
    Anonymous
    Tue 13-Jun-2017 21:18
    Just wanted to leave another pile of thanks for this great article.
    Regards,
    jvlns
    +
    Anonymous
    Mon 3-Jul-2017 22:01
    Linus,

    I read this a few years ago and have just re-read today. This is one of the best and clearest explanations of anything, never mind something as dry and arcane as tty.

    You have a great talent for this, many thanks.
    +
    Anonymous
    Mon 17-Jul-2017 20:16
    Thanks for that nice write-up. Actually, I just came here because I don't want linux to mess with my payload over the serialport, is there a quick way to tell the tty to simply forward everything and _not_ mess with it?

    I've tried stty "raw" option, it's still messing around though.
    +
    Anonymous
    Mon 24-Jul-2017 05:03
    I have been always wondering how tty works for years and could not get a clear idea until today I stumbled on this write up, an admirable article! Thank you!
    +
    Anonymous
    Tue 26-Sep-2017 00:17
    "To facilitate moving the terminal emulation into userland,(...) inside pseudo terminals, à la screen(1) or ssh(1)..."

    What means "à la screen" ? do you speak french too ;) ?
    Really interesting and original web site, i wonder where you find the time to do so many things (time consuming things)...

    Thanks for your writing
    +
    Anonymous
    Mon 11-Dec-2017 19:21
    @OP, Btw do you have any "to the metal" UNIX/linux books to recommend that has information regarding such stuff?
    +
    Anonymous
    Wed 20-Dec-2017 22:15
    Amazing article!
    +
    Anonymous
    Thu 11-Jan-2018 03:39
    You are a Rocket Scientist!
    +
    Anonymous
    Tue 6-Feb-2018 17:48
    10 years old, still the best article on TTYs. Still getting comments. Not a record ( I presume ) but noteworthy.

    Thank you very much Linus. I understand my particular problem - my expect script has to send a \n character at login - much better now.

    To long !, Jesus Christ.
    +
    Anonymous
    Thu 22-Feb-2018 02:08
    Returning to Unix/Linux after 30 year gap. If only all documentation was as clear as this. Excellent. Thanks.
    +
    Anonymous
    Thu 22-Feb-2018 05:58
    An awesome article, it helps a lot! Thanks from china.
    +
    Anonymous
    Sun 22-Apr-2018 00:39
    Thank you very much for this amazing article!
    Indeed, some things had been demystified :)
    +
    Anonymous
    Fri 18-May-2018 05:00
    Beautifully written and comprehensive enough for UNiX beginners like me. Thank you!
    +
    Anonymous
    Wed 18-Jul-2018 20:44
    Thanks for the introduction of TTY!
    +
    Anonymous
    Sat 28-Jul-2018 00:46
    I thought that it would be helpful to leave a comment about something that confused me.

    Why, when -tostop was set on the terminal, did the editor get sent a SIGTTOU but the backgrounded (sleep 5; echo ...) did not?

    I used strace on the editor process and found that it was calling ioctl() right before receiving a SIGTTOU:

    --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, ...} ---
    ioctl(5, SNDCTL_TMR_STOP or TCSETSW, {...}) = ...
    --- SIGTTOU {si_signo=SIGTTOU, si_code=SI_KERNEL} ---
    --- stopped by SIGTTOU ---

    In the Linux kernel source, I found that the code that handles an ioctl request for TCSETSW will unconditionally check if the process is in the foreground process group of the tty, and send SIGTTOU if it isn't.

    But, at least in the write handler for N_TTY, the same check is *only made if the TOSTOP bit is set*.

    So, -tostop will allow a backgrounded process to write to the terminal but it will not allow a backgrounded process to call ioctl(..., TCSETSW, ...) on it.
    +
    Anonymous
    Wed 12-Sep-2018 17:03
    which terminal introduced color attributes for escape sequences?

    DEC's VT241?
    +
    Anonymous
    Wed 12-Sep-2018 17:07
    However when modems came in to play, the terminal's UART and the host's UART were no longer directly wired to each other and modems would only transmit data and no control lines between them. This situation required another method of flow control that would have to be transmitted in-band with the data. So software flow control via device control characters was invented.

    This flow-control pre-dates modems. The ^S/^Q characters _are_ the ASR-33 teletype's codes for turning off and on (respectively) the paper tape reader. Systems would issue them to prevent their processing programs from being overrun by automated input from tape. Later they were generalized into line disciplines, etc.
    +
    Anonymous
    Thu 8-Nov-2018 08:42
    Excellent comprehensive article on tty, thx Linus!
    +
    Anonymous
    Fri 9-Nov-2018 22:35
    Great and informative read indeed! I feel a bit more confident tinkering my terminal now. Also learnt quite a lot on signal and process concepts. Thanks :)
    +
    Anonymous
    Sat 29-Dec-2018 20:10
    Thanks for an informative article. I really learned something!
    -Tom
    +
    Anonymous
    Wed 2-Jan-2019 17:13
    Brilliant article! Thanks a lot!
    +
    Anonymous
    Tue 29-Jan-2019 19:59
    Thank you for the wonderful article!
    +
    Anonymous
    Wed 27-Feb-2019 09:17
    I am loving you hard.

    Catatonic
    +
    Anonymous
    Mon 11-Mar-2019 14:12
    superb, fantastic -- opened a new world for me.

    Thank you
    +
    Anonymous
    Fri 24-May-2019 14:34
    Thanks! Great article!
    +
    Anonymous
    Wed 5-Jun-2019 06:01
    ZZZZZZZZZZZZZZZZZZZZZZZZZZ to long, jesus christ write up a summery for us lazy people

    Haha, this article IS the summary
    +
    Anonymous
    Fri 7-Jun-2019 00:01
    How do a program should propperly handle a "/dev/pts"? I mean, I am able to open that device for read and write, the program is effectively writing and reading stuff, but when I want to close the program gracefully and close the file descriptor used to open the device, the program crashes with no clue on what has happened.
    Thanks for the excellent work!
    +
    Anonymous
    Sat 8-Jun-2019 23:57
    Having read your wonderful article, am feeling obliged to give my thanks. BIG thanks! :)
    +
    Anonymous
    Thu 20-Jun-2019 21:03
    Amazing stuff! Thank you!
    +
    Anonymous
    Thu 1-Aug-2019 18:33
    Absolutely amazing post.
    +
    Anonymous
    Mon 5-Aug-2019 06:09
    This is a fantastic guide. As you say, it's hard to find straightforward information about how the tty system works.
    +
    Anonymous
    Thu 29-Aug-2019 23:58
    Thanks for the great post!!
    +
    Anonymous
    Tue 24-Sep-2019 03:54
    lucid explanation. much makes sense on terminals in stevens/kerrisk linux api guide

    thanks!
    +
    Waverley
    Jim Fergusson
    Sat 5-Oct-2019 13:35
    a really excellent article on a subject that mystified me - (and I'm an old guy who remembers punched tape 'telex' as the main communication channel between our company and it's Connecticut USA parent) - thanks so much for this Mr Akesson!
    +
    Anonymous
    Mon 11-Nov-2019 01:19
    For me, background processes are able to write to the terminal. For example,

    [ ~]$ python -c "import time; time.sleep(10); print('hello');"
    ^Z
    [2]+ Stopped python3 -c "import time; time.sleep(10); print('hello');"
    [ ~]$ bg
    [2]+ python3 -c "import time; time.sleep(10); print('hello');" &
    [ ~]$ hello
    +
    Anonymous
    Fri 27-Dec-2019 21:05
    Trying to use GDB GUI application, with two terminals, and you find out this information bringing some light when you want control on the execution screen. New decade and still useful info.
    +
    Anonymous
    Sat 29-Feb-2020 19:59
    Total shit. Doesn't explain how the tty works, nor how the shell connected to tty/pty.
    +
    Ruslan63
    Ruslan Poddubny
    Thu 12-Mar-2020 13:02
    If it's possible: How is related /dev/ack with /dev/tty?
    +
    Anonymous
    Fri 7-Aug-2020 13:10
    wow
    +
    Anonymous
    Tue 18-Aug-2020 07:18
    O.M.G.!!!
    +
    Anonymous
    Mon 31-Aug-2020 23:52
    Great article, thank you for putting this together!
    +
    Anonymous
    Mon 7-Sep-2020 18:33
    I didn't get exactly how pty came into picture and what is the usage of that.
    Looking forward to get more info on that.
    +
    Anonymous
    Wed 30-Sep-2020 06:55
    Really informative! good article!
    +
    Anonymous
    Tue 13-Oct-2020 22:11
    is this troll ..vik
    +
    Anonymous
    Tue 3-Nov-2020 23:23
    Thank you! Still informative in 2020! After so many years, there's still not article explains TTY better than this.
    +
    Anonymous
    Sun 17-Jan-2021 14:03
    Thanks for your article!
    +
    Anonymous
    Sun 28-Feb-2021 22:16
    Dear Mr. Linus Åkesson,

    Thank you for the extremely informative article. I'm an amateur programmer and Linux newbie and trying to wrap my head around TTY as I'm exploring the capabilities of the new "iSH" iPad app which runs Alpine Linux inside an x86 emulator on iPadOS on an iPad. The Alpine Linux wikis ay that Alpine Linux can be set up to do graphics and a GUI, but I've not been able to so via the iSH app. When I try to do so, my X or Xorg or xterm programs usually either tell me that they "Can't open display"or that it "Cannot find a free VT: Not a tty". When I use the Linux tty command, it shows the active tty as /dev/pts/0 which I understand would be expected since I am in a Bash shell inside Linux typing the command. I wrote the app developer who indicated that the App isn't really set up to graphics. Setting the env $DISPLAY to the host:0.0 also does not help.

    My questions for you that I'm confused about is how could the App not be able to do graphics, access the display, or find a free tty if it is able to display the text characters on the terminal? Why can't X11 use the same procedure that the Bash Linux shell uses to display text characters on my iPad to display graphics? I did notice that the same difficulty comes up when using Alpine Linux Docker containers--they seem to only natively display text characters in a terminal window. I read that one can set up such Alpine Linux Docker containers to display graphics/GUI information but to do so one has to set up the Docker container to specifically transmit such graphic information to the local computer's tty display. I'm guessing that the difficulty Alpine Linux Docker containers might have in natively displaying graphic/GUI information (as opposed to text character shell information) might be related to the same limitation I might be having in trying to get the Alpine Linux kernel in the iSH app to display graphic/GUI information on my iPad but don't understand mechanistically why.

    If you could explain the difference between Linux being able to display character text information on a tty display versus being able to display graphic/GUi information on the same tty display (perhaps with some supplemental diagrams to your original article), I (and suspect others) would greatly appreciate it.

    Thanks,
    MIke
    +
    Anonymous
    Thu 11-Mar-2021 16:15
    Dear Mr. Linus Åkesson,
    (..)
    MIke

    Hey MIke,

    Not Linus Akesson but I might clear up the confusing here, I admit it is a topic that can lead to much confusion. I took a quick peek into "iSH" but keep in mind iOS is not my forte, nor do I fully know how "iSH" is implemented. In that regard I do not know what is possible and what is not but I give my educated guess at the end.

    To clear up any confusion about a "tty" and "bash": both have absolutely nothing to do with anything graphical, be it rendering text on a terminal or doing anything GUI related.

    - "bash" is simply a shell like there are many other shells ("sh", "zsh", "ksh"). To really oversimplify things: "bash" reads input bytes (your commands you type for example) and spawns processes. These processes produce output. Bash does not intercept this output nor does it render text. For example, if you type "ls" and press enter, it reads the command, creates a new process ("ls") and that process produces output.

    - A "tty" neither has anything to do with rendering text. You can read and write to a "tty". The article explains the "tty"'s role: It is a passive object with some data fields. Just like a normal file you can read and write to the "tty". A keyboard can for example write to a "tty", "bash" can read that data from the "tty". The "ls" process can write to the "tty" and a >virtual terminal< (e.g. xterm) can read that data from the "tty". The "tty" also contains data about processes for example who the foreground process is in order to direct signals to the right process and process groups.

    Then who is responsible for the actual rendering? The (virtual) terminal (not the "tty") plays a central role here. If we only focus on a virtual terminals we have basically two cases mentioned in the article.

    1. The virtual terminal process resides in kernel space (called the console).It reads from the "tty", say the output from the "ls" process and renders the text. It interacts with the VGA driver to do so.

    2. The virtual terminal process resides in user space: An example of virtual terminal is "xterm", "gnome-terminal" is another, "st", the one I use, but here are many more. The virtual terminal has the same tasks as the kernels virtual console but instead of interacting with the VGA driver it interacts with a display server (Xorg for example). The display server in turns interacts with the videocard drivers to render graphical output.

    In short a "tty" has so little to do with rendering anything that a "tty" does not even need to be connected to a virtual terminal. A ssh server for example reads from a socket, writes to a "tty" and returns the output back over the connection to a ssh client. The ssh client writes the results to a "tty" and your virtual terminal process reads it and presents it to the screen.

    As far as the 'iSH' app is concerned: it seems that it merely emulates a virtual terminal. To do anything GUI related in a linux enviroment you should have a display server running (e.g. Xorg) that interacts with the linux video display drivers. Opening "xterm" in "iSH" is like starting a new virtual terminal from a virtual terminal you are already in ("iSH"). So in order to start a graphical user interface you have to install a display server and all display drivers which I doubt "iSH" can do (hence the response from the developer 'it is not really set up to do anything graphical').

    I hope this helps,
    Bennie
    +
    Anonymous
    Fri 12-Mar-2021 03:28
    Wow, Bennie, thanks for that thorough response, and it does help. I thought the TTY might be the answer to most of my questions, but I now understand that it is much more complex than that.

    Have a good week,

    Mike
    +
    Anonymous
    Sat 13-Mar-2021 16:34
    A well formulated question deserves a proper answer I think. Besides, you did your research by even contacting the app-developer. Happy to help :).

    To go a bit off topic regarding the article (since noone is really posting here anyway) and to say a bit about running linux on an ipad I think you have three options. What you want depends on your goals (but running iOS apps inside linux will not be possible).

    1. Either/or linux/iOS: jailbreak
    If you want to run a full fletched linux OS on the ipad an option is to jailbreak the ipad and try to install linux. This is hard because Apple does not want you to and a failed installation might render the ipad useless. Also you will not be able to run any iOS apps anymore obviously.

    2. Interact with the ipad linux-like: 'iSH'
    To interact with the ipad like running xterm is using the 'iSH' app, the reason I think it was created . I'm not totally sure what the app is capable of but I guess you can do pretty much anything with your system as on a normal linux distribution, as long as it does not require GUI applications (except perhaps starting iOS apps you already have installed).

    3. Running linux on top of iOS: Virtualisation Software
    The last option I can think of is to run linux in a virtual machine (I checked and VirtualBox seems to have a port for ipads). Here you run linux on top of iOS in an app such as VirtualBox. The downside is when in emulating software such as VirtualBox things run more slowly, because it has to emulate the environment. Also, it will only grant access to linux application and its own filesystem; interacting directly with files and apps under iOS is not what it is intended to do. The upside is that you can keep using you ipad in the normal way and switch to linux whenever you want (with a graphical user interface if you like).

    Hope you are having a great weekend :),
    Bennie
    +
    Anonymous
    Sat 13-Mar-2021 17:04
    I forgot to mention some resources if you are interested:

    To get a kind of overview how graphics work under linux have a look at the graphics server (note that Xorg is not the only player in town anymore. Wayland is a newly developed display server):
    https://en.wikipedia.org/wiki/X.Org_Server

    If you want to go down the rabbit hole:
    - Bovets 'Understanding the linux kernel' is an indepth look into how the kernel works.
    - A more specific look at the role and code of a tty driver is Coberts 'Linux Device Drivers' (chapter 18 is devoted to tty drivers)

    Another tip is looking at the source code of the mentioned 'st' terminal (https://st.suckless.org/). It is thé terminal with the least bloat and easiest to understand code in my opinion (take for example x.c where xlib is included, the interface to the X server to make 'draw' requests).
    +
    Anonymous
    Fri 2-Apr-2021 00:31
    I wonder when I'm in bash and erasing text with backspace what stops me from erasing the bash prompt at the beginning of the line?
    +
    Anonymous
    Tue 6-Apr-2021 18:43
    Thank you very much, Bennie, for all the additional information! ’ll check out those additional resources you recommended.

    Have a good week.

    Sincerely,
    Mike
    +
    Anonymous
    Sun 18-Apr-2021 12:11
    Anytime Mike :)

    I wonder when I'm in bash and erasing text with backspace what stops me from erasing the bash prompt at the beginning of the line?

    Eventhough it is a bit more complex (because bash works with a builtin readline library that handles backspaces) it basically boils down to this: the prompt is a simple string that gets printed before reading in your input. If for example you'd run in bash:

    while true:
    printf "my prompt $ "
    read
    done

    you'd get the same situation. I guess you would not expect the 'read' command to erase the printf output string. In other words: the prompt is not part of the input buffer but a simple string that gets printed before each read call.

    Bennie
    +
    Anonymous
    Tue 20-Jul-2021 20:18
    Why aren't UART driver in the graph for typical desktop system? From the article, it seems only the hardware of Terminal and UART are gone. UART setting still exists in later parts of the article.
    +
    ben
    Ben in Seattle
    Mon 2-Aug-2021 03:49
    I wonder when I'm in bash and erasing text with backspace what stops me from erasing the bash prompt at the beginning of the line?

    That's an excellent question!

    Modern terminals only show what they receive, not what they send. When you hit a key, the terminal sends it to your UNIX box which then interprets it and (usually) sends it back. The illusion that what you type immediately shows up on the terminal is due to your shell choosing to echo back the keys you've hit. The backspace character (^H) is echoed back just like any other key by your shell until there is nothing left to erase except the prompt. At that point the shell simply chooses to not echo the backspace, thus keeping the prompt intact. Some shells even choose to send a different character, ^G, which rings the bell on the terminal to let you know you've hit the end.
    +
    ben
    Ben in Seattle
    Mon 2-Aug-2021 04:18
    Great article.
    For another great source on TTY devices you can go to:
    http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.genprogc/doc/genprogc/ttysys.htm

    Enjoy,
    Ori

    That site has been revamped and IBM only offers the manuals in PDF format. You can now (2021) find the TTY Subsystem for AIX documentation here:

    http://public.dhe.ibm.com/systems/power/docs/aix/61/genprogc_pdf.pdf#TTYSYS
    +
    Anonymous
    Tue 17-Aug-2021 19:49
    So as a convenience, the operating system provides an editing buffer and some rudimentary editing commands (backspace, erase word, clear line, reprint)

    Can anybody supply examples of how these listed commands may be applied to an incoming command? When can the machine decide to deprive the command of all word (i.e. erase it from the command)?
    +
    Anonymous
    Thu 23-Dec-2021 18:58
    Marvelous article. Big thanks for that. I use the pipes for decades but never understood it down to the ground of the kernel, not better until now... good idea to start at the beginning with the teletypers ;)
    +
    Anonymous
    Tue 4-Jan-2022 03:11
    So as a convenience, the operating system provides an editing buffer and some rudimentary editing commands (backspace, erase word, clear line, reprint)

    Can anybody supply examples of how these listed commands may be applied to an incoming command? When can the machine decide to deprive the command of all word (i.e. erase it from the command)?

    I don't think the buffer allows one to erase a word from a command that has been sent.
    An example of how the buffer works is when you're typing a command in a console and, before hitting enter, decide to delete some characters to fix a typo.
    +
    Anonymous
    Tue 1-Feb-2022 17:50
    hello
    +
    Anonymous
    Thu 21-Apr-2022 19:15
    Great article!
    +
    Anonymous
    Mon 25-Apr-2022 07:55
    Fantastic stuff!!

    Thank you for writing it.
    +
    Anonymous
    Wed 27-Apr-2022 15:57
    This is by far the best tty article to be found on the web. Thanks!
    +
    Anonymous
    Sun 29-May-2022 19:26
    Thanks for a great article. We need a lft-o-pedia for purely technical stuf :)
    +
    Anonymous
    Thu 9-Jun-2022 13:36
    Anytime Mike :)

    I wonder when I'm in bash and erasing text with backspace what stops me from erasing the bash prompt at the beginning of the line?

    Eventhough it is a bit more complex (because bash works with a builtin readline library that handles backspaces) it basically boils down to this: the prompt is a simple string that gets printed before reading in your input. If for example you'd run in bash:

    while true:
    printf "my prompt $ "
    read
    done

    you'd get the same situation. I guess you would not expect the 'read' command to erase the printf output string. In other words: the prompt is not part of the input buffer but a simple string that gets printed before each read call.

    Bennie
    +
    Anonymous
    Fri 1-Jul-2022 22:07
    Thanks a lot – those explanations are really helpful and as clear as they can possibly be. The topic itself is quite special: As soon as you use a terminal and a shell, you will encounter all these things – if you want it or not. You can simply let them happen and rely on the fact that everything just works … somehow. But with the help of this article, you can actually understand what’s going on behind the scenes. Great!
    +
    Anonymous
    Fri 8-Jul-2022 08:01
    I have been trying to chew through documents in every unix book possible to explain how the TTY system really works. Your article has been more informative than all of these books. Without a programmers knowledge of how a unix kernel works, it's quite difficult for a System Administrator to understand concepts that are so crucial to their jobs. Thank you for your writing such a great article. Your help is truly appreciated.
    +
    Anonymous
    Tue 2-Aug-2022 07:54
    I'd just like to point out another awesome article about "What happens when you press a key in your terminal?" by Julia Evans (b0rk)
    https://jvns.ca/blog/2022/07/20/pseudoterminals/

    kind regards
    -mrizvic
    +
    Anonymous
    Mon 10-Oct-2022 15:28
    Thank you for your explanation!

    linrl3
    +
    Anonymous
    Wed 4-Jan-2023 08:26
    Thanks for the explanation, this can become a book because it's so needed!
    +
    Anonymous
    Sun 5-Feb-2023 14:47
    Excellent article. Cheers!

    - Stefano I.
    +
    Anonymous
    Tue 7-Mar-2023 14:49
    I came here through http://www.rkoucha.fr/tech_corner/pty_pdip.html
    Both excellent contents, and this page is running since 2008!!!

    Congratulations
    +
    Anonymous
    Sun 19-Mar-2023 13:49
    Linus,

    Thank you for writing such an informative article. All the best!

    -Lane F.
    +
    Anonymous
    Sat 29-Jul-2023 23:47
    Extremely good info, I can't thank you enough! I've only recently begun to get serious about learning how to use Linux/BSD and for months I've played this weird game of learning how about shells, editors, shell languages and kernel specifics. Each google search left digging in a new area but nothing tied it all together - until I read this!! Please write a book someday, you are incredibly good at explaining arcane topics and putting the pieces into perspective.
    +
    Anonymous
    Fri 26-Jan-2024 07:24
    Coming from 2024, great article!!
    +
    +
    \ No newline at end of file diff --git a/sac/pages/www-lip6-fr-recherche-team-php-acronyme-ibp-201946-1969 b/sac/pages/www-lip6-fr-recherche-team-php-acronyme-ibp-201946-1969 new file mode 100644 index 0000000..96b6305 --- /dev/null +++ b/sac/pages/www-lip6-fr-recherche-team-php-acronyme-ibp-201946-1969 @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Laboratoire : IBP 1946-1969 - Institut Blaise Pascal du CNRS 1946-1969 + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +

    Laboratoire : IBP 1946-1969 - Institut Blaise Pascal du CNRS 1946-1969

    +



    +

    Brève présentation

    +

    L'Institut Blaise Pascal du CNRS +

    Historique

    +
      +
    • 1946 → 1957 Joseph Pérès (Directeur) +
        +
      • Laboratoire de Calcul Mécanique : Louis Couffignal (Directeur) rue Pierre et Maris Curie à L'Institut Henry Poincaré dans les locaux de l'ONERA.
      • +
      • Laboratoire de Calcul Analogique : Lucien Malavard (Directeur) rue de Sèvres Institut d'Optique.
      • +
    • +
    • 1951 Comité de direction : Louis Couffignal, G. Darmois (IHP), A. Lichnérowocz, Lucien Malavard, M. Parodi (CNAM), Joseph Pérès, M. Roy (Directeur de l'ONERA)
    • +
    • 1955 Machine Elliot 402 dans les locaux de l'ONERA.
    • +
    • 1960 Chaire d'Économétrie (Jean Ville), chaire d'analyse numérique (René de Possel) à la Faculté des sciences de Paris.
    • +
    • 1962 René de Possel (Directeur) le Laboratoire de Calcul Analogique devient l'Institut de Programmation. 23, rue du Maroc, Paris 19è. Service de calcul : Louis Nolin, Jean Porte, assistant Maurice Nivat.
    • +
    • 1960 Chaires Marcel-Paul Schützenberger, Jacques-Louis Lions et Jacques Arsac à la Faculté des sciences de Paris.
    • +
    • 1966 Création du laboratoire RAMI (René de Possel)
    • +
    • 1969 Séparation de l'IBP en 4 laboratoires +
        +
      • ERA 84 Structure de systèmes informatique (Jacques Arsac) CNRS - Paris VII qui deviendra le MASI en 1975
      • +
      • GR 22 Structure de l'information (Claude-François Picard) CNRS - Paris VI qui deviendra le LAFORIA en 1975/1977 ?
      • +
      • ERA 247 Laboratoire d'automatique documentaire (Maurice Gross) CNRS - Paris VII qui deviendra le LADL ?
      • +
      • ERA 295 Informatique Théorique (Maurice Nivat 1972, Louis Nolin, Marcel-Paul Schützenberger) CNRS - Paris VII qui deviendra le LITP
      • +
    • +
    +

    En 1987, l'IBP renaîtra sous la forme d'une Fédération d'Unités du CNRS.



    +

    juillet 1946 → décembre 1969

    + +
    +
    Mentions légales
    +
    Carte du site
    +
    +
    +
    +
    + +
    + + + + + + + diff --git a/sac/pages/www-luckysoap-com-statements-handmadeweb-html b/sac/pages/www-luckysoap-com-statements-handmadeweb-html new file mode 100644 index 0000000..f01c59e --- /dev/null +++ b/sac/pages/www-luckysoap-com-statements-handmadeweb-html @@ -0,0 +1,106 @@ +J. R. Carpenter || A Handmade Web + + + + + + + + + +



    + + + + + +
    arm1 (29K)

    In the morning
    her arms were sore,
    like she had been
    trying to fly.

    arm (29K)

    Fishes & Flying Things
    J. R. Carpenter
    1995
    +

    +
  • Presented at: +
    Slow Media, Thursday 26th March 2015, Bath Spa University, UK
    +
    TIMES AND TEMPORALITIES OF THE WEB, 1-3 december 2015, CNRS/Paris-Sorbonne/UPMC, Paris. France
    +
  • +
  • Published in print in: +
    Uniformagazine No. 5, Axeminster, UK, January 2016
    +
  • +

    +The term 'handmade' usually refers to objects made by hand or by using simple tools rather than machines. The result may be homely as in a child's clay ashtray or exquisite as in a pair of bespoke brogues. +

    +I evoke the term 'handmade web' to refer to web pages coded by hand rather than by software; web pages made and maintained by individuals rather than by businesses or corporations; web pages which are provisional, temporary, or one-of-a-kind; web pages which challenge conventions of reading, writing, design, ownership, privacy, security, or identity. +

    +Handmade web pages flourished in the mid-to-late-1990s, in the brief period after the academic web and before the corporate web. Handmade is by no means the only or best term to define the web of this period. +

    +In her essay, A Vernacular Web (2005), Olia Lialina describes the web of the mid-1990s as: + +
    bright, rich, personal, slow and under construction. It was a web of sudden connections and personal links. Pages were built on the edge of tomorrow, full of hope for a faster connection and a more powerful computer... it was a web of amateurs soon to be washed away by dot.com ambitions, professional authoring tools and guidelines designed by usability experts.
    + +For more information on Olia Lialina and Dragan Espenschied's excellent research on the amateur web, see: One Terabyte of Kilobyte Age: Digging through the Geocities Torrent. +

    +I evoke the term 'handmade web' in order to make a correlation between handmade web pages and handmade print materials, such as zines, pamphlets, and artists books. +

    +I made my first web-based work in 1995. The impetus for Fishes & Flying Things came from the material practices of fine art and book-making. The text evolved from an installation art exhibition I had on at the time. From this text, I created a small book-work which was meant to tell a circular story but when people got to the end they stopped reading because thats the way books work. In the web version, the last page linked to the first; the story circled round and round. Of the installation, no physical evidence remains. Of the book-work, only one copy. The QuarkExpress file is stored on a 44 MB SyQuest cartridge which I still own, but the contents of which I can no longer access. The handmade website, on the other hand, is still online and it still works. +

    +The handmade web emerged at a time when print and digital enjoyed a more symbiotic relationship. This is evident in the early output of the trAce Online Writing Centre founded at Nottingham Trent University in 1995. Over the next decade trAce evolved into one of the most influential online writing communities in the world. trAces first output was a word-processed photocopied booklet which contained links to websites distributing journals and zines. Fittingly, trAces last output was also a print booklet, in which it is stated: + +
    The trAce community embraced both camps, and some early chatlogs contain lively discussions about the use of mixed media in writing The creative hypertexts and hypermedia in the trAce Archive can easily be compared to the multifarious pages of an artists book. (PDF trAces: A Commemoration of Ten Years of Artistic Innovation at trAce, page 14)
    + +One of the many interesting things about the online archive of the trAce Online Writing Centre is how much it reflects the context of the creation and dissemination of its contents. Whereas archives held in museums or libraries generally contain artifacts created elsewhere manuscripts illuminated in a monastery, for example, or photographs developed in a darkroom the handmade web pages contained in this online archive continue to exist in the medium within which they were created. That said, the frames through which we view them continue to change. +

    +In "Media Archaeology: Method and Machine versus History and Narrative of Media" (2011) Wolfgang Ernst observes: "If a radio from a museum collection is reactivated to play broadcast channels of the present, it changes its status: it is not a historical object anymore but actively generates sensual and informational presence." Similarly, when viewing old web pages in modern browsers we are confronted with a temporal paradox. Layer upon layer of dated web-design aesthetics overlap and peel like wallpaper, revealing earlier versions beneath. Pages optimised for lower resolutions now take less than a third of the screen. Ghosts of browsers past mingle with occasional page errors, dead links, and missing images. Sound files play automatically. Warnings abound, issued from earlier eras, addressed to readers who are not us. +

    +For example, M.D. Coverleys The Personalization of Complexity (2001) "explores the ways in which each of our personal computers have become idiosyncratic, individualized entities, only sometimes manageable by the owners." Fittingly, the piece itself warns that it is viewable only on Level 4 and 5 Microsoft Internet Explorer and Level 4 Netscape. Netscape 6 will not support many of the features in this essay. +

    +These are not artifacts of a dead web but rather, signposts on a map of a living web pointing to a web as it once was, a web in progress, a web in the making. +

    +I evoke the term 'handmade web' in order to advocate for an ongoing active engagement with the making of web pages and of web policies. +

    +In The Web We Lost (2012), Anil Dash writes: "In the early days of the social web, there was a broad expectation that regular people might own their own identities by having their own websites, instead of being dependent on a few big sites to host their online identity." +

    +In February 2015 the online journal QUARTZ published an article with the provocative headline: Millions of Facebook users have no idea theyre using the internet. As the article states: "This is more than a matter of semantics. The expectations and behaviors of the next billion people to come online will have profound effects on how the internet evolves." +

    +In October 2014 the online journal GIZMODO published an article heralding The Great Web 1.0 Revival. Its author Kyle Chayka observed: + +
    The booming size of today's mainstream social networks and the constant level of noise we have to deal with has inspired a sudden return to a time when the internet was quieter, safer, and more intimate We're nostalgic for the close-knit, DIY nature of the early web, where everything was smaller...
    + +The DIY aesthetics and practices of the mid-1990s have been embraced by the anti-social network TILDE.CLUB, which hosts a small community of users on a single unix computer. For some, TILDE.CLUB serves as a platform for revisiting amateur web aesthetics in a contemporary context. For example, on her page, Olia Lialina invites users to view a new net art work 640x480 - a 4-tab browser installation. For many others however, TILDE.CLUB has served as little more than a hip territory to occupy. Many pages remain blank. +

    +http://tilde.club/~nickc/ http://tilde.club/~bwalker/ http://tilde.club/~willy/ +

    +In other corners of the internet, Web 1.0 aesthetics have never disappeared. My own website, including this page, which uses fixed-width table cells, is based on a template I created in HomeSite in 1997. +

    +Web 1.0 aesthetics persist in source code and stated objectives of the massive Ubu Web site, an "independent resource dedicated to all strains of the avant-garde, ethnopoetics, and outsider arts." On 16 December 2014, the founder of boasted on Twitter that "the whole damn site is still hand-coded in html 1.0 in bbedit, from templates made in 1996." +

    +I shall put off updating my website templates until out-of-date design is no longer cool. +

    +I evoke the term 'handmade web' in order to draw attention both to the manual labour involved in the composition of web pages, and the functioning of the web page itself as a 'manual', a 'handbook', a set of instructions required for a computer program to run. +

    +For most of its history web pages have been read on desktop or laptop computers. Readers have had the option of right-clicking on any page, selecting View Page Source, copying, pasting, and re-writing the source code. In this manner, readers become writers. +

    +In February 2015, Matthew Rothberg created a website called Unindexed which continuously searched Google for itself. It survived for 22 days before being indexed, at which point it was permanently deleted. Rothberg has since shared the source code on GitHub, so you too can create a website which self-destructs the moment Google indexes it. +

    +Dozens of readers have re-written the source code of Nick Montforts Taroko Gorge (2008). For many, this was their first experience 'making' a computer-generated text. +

    +I have rewritten Taroko Gorge three times. Further to the close relation between the handmade web and ephemeral print materials, excerpts of output and source code from the first iteration, Gorge (2010), were published in my very small press print book GENERATION[S] (2010), which, I believe, is now only available as a PDF. Gorge is a never-ending tract of computer-generated text spewing verse approximations, poetic paroxysms on food, consumption, decadence, and desire. +

    +I evoke the term 'handmade web' in order to draw attention to the physical body. +

    +Consider the manual labour carried out by the mouse hand in Daniel Eatock's The One Mile Scroll (2008) A few entries appear at the top of the screen - Denver, The Mile High City - my grandfathers grave, Denver - after that we scroll and scroll. The hand is made to work. Through the labour of the body the virtual space of the browser window is transformed into an actual, physical distance. +

    +Ironically, handheld devices have distanced us from the handmade web. In Reading Writing Interfaces: From the Digital to the Bookbound (2014), Lori Emerson argues: "The iPad works because users cant know how it works" (15). Reading the web on an iPhone, iPad, or similar device, readers do not have the option of viewing the page source. The iPad provides consumers with access to materials created by others, but cannot easily be used as a tool in the handcrafting of new materials. +

    +I evoke the term 'handmade web' to suggest slowness and smallness as a forms of resistance. +

    +In today's highly commercialised web of multinational corporations, proprietary applications, read-only devices, search algorithms, Content Management Systems, WYSIWYG editors, and digital publishers it becomes an increasingly radical act to hand-code and self-publish experimental web art and writing projects. +

    +The more proprietary, predatory, and puerile a place the web becomes, the more committed I am to using it in poetic and intransigent ways. +

    +J. R. Carpenter, March 2015.

    +adzes + +


    J. R. Carpenter || Luckysoap.comJ. R. Carpenter || bio || digital literature || prose & poetics || critical writing || talks & papers || interviews || blog || books
    + + + + diff --git a/sac/pages/www-mckusick-com b/sac/pages/www-mckusick-com new file mode 100644 index 0000000..8191896 --- /dev/null +++ b/sac/pages/www-mckusick-com @@ -0,0 +1,60 @@ + + + +Home Page of McKusick.COM + + +

    Welcome to the Home Page of McKusick.COM

    +

    +

    What's New at McKusick.com.

    +

    +This site contains information about: +

    +

    + McKusick.COM Privacy Statement + + diff --git a/sac/pages/www-museum-ru-mirror-vlmp-computing-html b/sac/pages/www-museum-ru-mirror-vlmp-computing-html new file mode 100644 index 0000000..9ba35e7 --- /dev/null +++ b/sac/pages/www-museum-ru-mirror-vlmp-computing-html @@ -0,0 +1,3614 @@ + + + + +The Virtual Museum of Computing + + + + + + + + + + + + + + + + + +ICOM + + + + + + + + +* + Virtual Library + + + + + + + + + +* + Museums + + + + + + +* + Computing + + + + + + +* + Pioneers + + + +
    +

    + +


    + + + + +[Babbage Difference Engine] + + + + +
    +

    + +The Virtual Museum of Computing +
    +
    +(VMoC) +
    +
    +

    +Now accessible as: + + + + + + + +vmoc.museophile.com + +

    +

    + + +This virtual museum includes an eclectic + +collection of + + +World Wide Web (WWW) +hyperlinks connected with the history of computing +and on-line computer-based exhibits available both locally and +around the world. + + + + + + + + + +[VISITOR NUMBER] + + + +

    +This museum opened on +1st June 1995. + +The museum receives about 200 visitors each day. + + +Please contact + + +Jonathan Bowen +if you know of relevant on-line information not included here. +

    + + +Mirror sites are available in + +Sweden and + + +USA courtesy of + +ICOM, and also + + +elsewhere, including the + + + +UK, if you experience poor access speed. + + + + +Automatic redirection to a mirror site is available. +

    + +
    + + + + +

    + + + + + + + + + + + +

    + +Selected recent additions and events +

    + + + + + + + + + + + + +(New) + +Edgar (Ted) Codd (1923-2003), inventor of the + +relational database model, +died on 18 April 2003. +

    + + + + + +Roger Needham (1935-2003) died on 28 February 2003. +

    + + + +Allan Bromley, who researched + +Charles Babbage's drawings of the + +Difference Engine extensively in the +London + +Science Museum archive, died in August 2002. +This work led to the building of the + +Difference Engine No. 2, +now on display in the + +Science Museum Computing Gallery in London. +

    + + + +Edsger Wybe Dijkstra (1930-2002), + +died on +6 August 2002. +See + +obituary. +

    + + +Both co-inventors of + +Simula 67, the first +object-oriented programming language, died in 2002. +
    + +Ole-Johan Dahl (1931-2002) + +died on +29 June 2002. +
    + +Kristen Nygaard (1926-2002) + +died on +10 August 2002. +

    + + + +Business Computing: +the Second 50 Years, The Guildhall, London, UK, +5-6 November 2001. +A conference celebrating the 50th anniversary of + +LEO, the world's first business computer. +See + + +programme. +

    + + + +Program Verification and Semantics: The Early Work, +seminar, + +Science Museum, London, +5 June 2001. +

    + + + +Tom Kilburn (1921-2001), Manchester University, UK, +died on +17 January 2001. +

    + + + +William Hewlett (1913-2001), co-founder of +HP, died on +12 January 2001. +

    + + + +Donald Davies (1924-2000), packet switching pioneer at + +NPL, died on +28 May 2000. + + +See + +ISOC information. +

    + + + +ACE 2000 CONFERENCE +50th anniversary of the ACE computer, + +Science Museum, London, +18 May 2000 +& + +National Physical Laboratory, UK, +19 May 2000. +

    + + + +EDSAC 99, 50th Anniversary of the EDSAC 1 computer, +Computer Laboratory, University of Cambridge, UK, +15-16 April 1999. +

    + + + + + +50th Anniversary of Joe Lyons' decision to give the +go ahead to the building of + + + + +LEO 1, +15 October 1999. + +

    + + + + +(New) + +Tommy Flowers, MBE, codebreaking engineer at Bletchley Park +who worked on Colossus, died on 28 October 1998, aged 92. +(Born on 22 December 1905.) +

    + + + +In Memory of Internet Pioneer Jon Postel, died October 1998. +
    +See also + +tribute from + +IANA and + +In Memoriam from the + +Domain Name Handbook +
    +(Memorial service, 5 November 1998.) +

    + + + + + + +50th Anniversary of the First Stored-Program Computer, +Manchester, UK, 21 June 1998. +

    + + + +Memorials to Alan Turing - +a new + +English Heritage +blue plaque memorial as +Code-breaker and Pioneer of Computer Science +was unveiled by + +Andrew Hodges +(Turing's + + +biographer) +at + + + his birthplace in London, UK, + on + Turing's 86th birthday, 23 June 1998. +

    + + + +International Conference on the History of Computing, +Paderborn, Germany, 14-16 August 1998. +

    + + + + +Computers in Europe: Past, Present and Future +International Symposium, +Kiev, Ukraine, 6-8 October 1998. +

    + + +1st + + + +Vintage Computer Festival, +Alameda County Fairgrounds, Pleasanton, California, USA, +25-26 October 1997. +

    + + + +Grace Hopper Celebration of Women in Computing, +San Jose, California, USA, +19-21 September 1997. +

    + +See also other + +History of Computing conferences. +

    + + + +

    + +

    + + +


    + +

    Galleries

    + + + + +
    + + + + + +
    + +

    Local virtual exhibits

    + + +
    + + +Items marked +`Recommended' +are especially recommended. +

    + + +If you would like to volunteer to be a virtual curator on some +aspect of the history of computing, please + get in touch, +preferably with a + +URL for the "gallery" or on-line exhibit +which you would like included. +

    + + +The museum has no on-line shop as yet, but feel free to try some + + + +virtual shopping. +

    + + +You may also be interested in a list of + +books on the history of computing, available for sale from + +Blackwell's Bookshop, Oxford. +

    + + + +


    + +

    Corporate history and overviews

    + + +
    + +More on-line history from other computer companies not mentioned +above would be especially welcome for inclusion. +

    + + +


    + +

    History of computing organizations

    + + +
    + +See also: + + + + + + +
    + +

    General historical information

    + + +
    + + +
    + +

    Computer-related museums

    + + +
      + + +
    1. + +American Computer Museum, Bozeman, Montana, USA. + +
    2. + +American University Computing History Museum, Washington DC, USA. + + + + + + + +
    3. + +Bletchley Park Trust, near Milton Keynes, UK. + "Britain's Best Kept Secret." + See + + Computer Museum. + See also + + Codes and Ciphers in the Second World War by Tony Sale +and the + +(New) + +British Bombe rebuild project. + +(Recommended) + + + + +
    4. + +Commercial Computing Museum (Commputerseum), Ontario, Canada. + Dedicated to the acquisition, preservation, and exhibition of + artifacts and memorabilia from the commercial use of electronic, + digital computers. Includes a list of + + Computer History Web Sites. + + + + +
    5. + The +Computer History Museum, Moffett Field, California, USA. +(Recommended) + +
    6. + The +Computer Museum, Boston, Massachusetts, USA. + + + Started by + + + Ken Olsen, ex-president of + + + + Digital Equipment Corporation. + Part of the + + +Museum of Science since 1999. + + + + +
    7. + +Computer Museum, University of Amsterdam, The Netherlands. + Specializes in scientific and industrial computing. + Includes electronic calculators, analog computers, + core memory and paper tape. + +
    8. + +Computer Museum, + Department of Computer Science, + University of Virginia, Charlottesville, Virginia, USA. + + + +
    9. + +Computer Museum of America, Coleman College, + La Mesa, San Diego, California, USA. + See + + sample collections and + + The Evolution of Computing slide show. + + + +
    10. + The +DigiBarn Computer Museum, California, USA. + + + +
    11. + +Heinz Nixdorf MuseumsForum, Paderborn, Germany. + See + + computer museum. + (In German.) + + + +
    12. + The +Intel Museum, Santa Clara, California, USA. + Micro-chips, from the company who manufactured the + + + first microprocessor in 1971. + + + +
    13. + +Microsoft Museum. +(Warning: may crash + + Netscape browsers! ;-) + + + + + + + + + + + +
    14. + +Musée d'Histoire Informatique (Computer History Museum). + A virtual museum on personal computers from 1978 onwards, + by Philippe Dubois. + See also the + + Pong story on the first video game. +(In French.) + + + + +
    15. + +Museu Virtual da Informática, Portugal. + A virtual museum including + + a number of computers such as the + + ENIAC. +(Mostly in Portuguese.) + + +
    16. + +Museum of Computer Technology, Denver, Colorado, USA. + + + + +
    17. + +Museum of HP Calculators (MoHPC). + + Learn about + + reverse Polish notation! +(Recommended) + + + + +
    18. + +Museum "Waalsdorp", The Netherlands. + See + + computer history + of the TNO + Physics and Electronics Laboratory since 1927. + Supercomputers, minicomuters, etc., with many photographs. +(In Dutch and some English.) + + +
    19. + + +National Cryptologic Museum, + + National Security Agency, + Maryland, USA. + See + tour of exhibits. + + +
    20. + + +National Museum of Computing Instruments, Pisa, Italy. +Includes + + QuickTime VR plugin movies. +(In Italian.) + + +
    21. + +National Museum of Information Technology and Telecommunications, + Brasília, Brazil. + + +
    22. + +Personal Computer Museum, Stenungsund, Sweden. + In the Guinness Book of Records because of its collection + of 250 different personal computers. + +
    23. + +Rhode Island Computer Museum, USA. + + +
    24. + The +Science Museum, London, UK. + See + + +Computing and Information Technology collection, + the + + Computing Then and Now + gallery information + + + Babbage's Calculating Engines, 1832-71 and the + + Pilot ACE 1950. + + + Alternatively, see the + recommended + + + Computing Then and Now page from the + + + Treasures of the Science Museum on-line exhibit. + See also the recently acquired + + + Phillips Economic Hydraulic Computer, + first demonstrated at the + + London School of Economics in November 1949. + + +
    25. + +Smithsonian Institution, Washington, USA. + + + Computer History, including an + Information Age Tour, the collaborative + + Innovation Network, and + oral/video history interviews with computing personalities. + See also + + + + From Carbons to Computers including links to + + resources. +(Recommended) + + +
    26. + +Tech Museum of Innovation, San Jose, California, USA. + Includes a + + +microelectronics exhibit. + + +
    27. + +Telemuseum, Sweden. + History of telecommunications. + +
    28. + + The +Topeka Computing Museum, Kansas, USA. + + +
    29. + +University of California at Davis Computer Science Museum, USA. + Includes a + +timeline of computer history. + + + + +
    +

    + + +See also: + + +

    +

    + + + +


    + +

    On-line exhibits and information

    + +The following are virtual museums or exhibitions: + + +
    +

    + + + + +


    + +

    Personal collections

    + + +
    + +

    + + + +


    + +

    Selected newsgroups

    + + +
    +

    + +See also: + + +

    +

    + + + +


    + +

    Computer simulators

    + + +
    +

    + + +See also: + +

    +

    + + +


    + +

    The future

    + +This section includes information on the future of computing +and networking. + + +
    + + + +
    + +

    Other links

    + + +
    +

    + +


    + +

    References

    + +This virtual museum is mentioned in the following locations: + + + + + +(New) +See also + +Computer History + links from the + +Google Directory. +(Recommended) +

    + +
    + +


    + +This virtual museum service is brought to you by + + +Jonathan Bowen +as part of the + + + +Virtual Library museums pages (VLmp), supported by + +ICOM. + +
    + + + +Last updated +13 April 2003. +
    + + + + diff --git a/sac/pages/www-neophilic-com--eric b/sac/pages/www-neophilic-com--eric new file mode 100644 index 0000000..a133ce1 --- /dev/null +++ b/sac/pages/www-neophilic-com--eric @@ -0,0 +1,135 @@ + +HomePage for Eric Allman + + + + + + + + + + +
    + +
    +
    +
    +

    Eric Allman



    +eric(A/T)neophilic(D/O/T)com +
    +

    I am the author of +sendmail, +syslog, +tset, +trek, +and several other programs.  I was co-founder of +Sendmail, Inc. +I am author of a few +IETF +RFCs. +I started my career on the + +INGRES Relational Database Management System Project +while a student at Berkeley, becoming the Lead Programmer there. +I then moved to +Britton Lee +doing interfaces for one of the first database servers +(which we called "database machines" +because the name "client/server" hadn't become popular yet). +I've also worked at +The International Computer Science Institute +on the Ring Array Processor Project for neural-net-based speech recognition +and +SQLstream +doing streaming data analytics. +I was co-founder (with +Greg Olson) +of Sendmail, Inc., one of the first +"hybrid open source/commercial" companies. +My latest gig is at the +Swarm Lab +at +U.C. Berkeley +working on the +Global Data Plane, +a data storage and transmission layer emphasizing security and scalability +focusing on edge computing including +large swarms of sensors and actuators +(sometimes called the Internet of Things). +

    +

    I'm a founding member of the Editorial Review Board of +ACM Queue +magazine. +I'm on the board of the +Hillside Club. +Previously, I was Vice President and Treasurer of +USENIX +Association. +a member of the ACM Council, +and on the Board of Trustees for +Cal Performances +(but thankfully not all at once). +

    +

    +I am co-author of the O'Reilly book Sendmail. +I've also written a chapter for +The Architecture of Open Source Applications, +and have authored many papers, articles, and columns, +some of which are +referenced above. +
    +

    +

    +I was happily semi-retired for a while, +but then (to my surprise) decided I wanted more social contact. +After spending a career wishing that people would just go away +and leave you alone so you could get some work done, +it's quite a shock when they actually do it, +and not nearly as pleasant as you might think. +

    +

    +During my semi-retirement I did manage to get re-engaged with hardware, +playing with Arduino and other toys. + +I had been documenting those projects on my blog, +but my blog software didn't survive my last system upgrade, +so I'm trying to find a Plan B. +

    +

    +I'm the brother of +Cat Allman +and the husband of +Kirk McKusick. +

    +

    See the links at the right side of the page for more information about me +and other projects and organizations with which I've been involved. +

    + diff --git a/sac/pages/www-pikselkraft-com-blog-pourquoi-le-cms-kirby-pour-nos-projets-ecoresponsables b/sac/pages/www-pikselkraft-com-blog-pourquoi-le-cms-kirby-pour-nos-projets-ecoresponsables new file mode 100644 index 0000000..a11fe32 --- /dev/null +++ b/sac/pages/www-pikselkraft-com-blog-pourquoi-le-cms-kirby-pour-nos-projets-ecoresponsables @@ -0,0 +1,264 @@ + + + + + + + + + Le CMS Kirby pour nos projets écoresponsables - Écoconception + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Pourquoi le CMS Kirby pour nos projets écoresponsables ?

    +
    + +
    +
    +
    +
    + + +
    +
    +

    Cet article décrit notre démarche dans le choix du CMS Kirby, il n'est en aucun cas un exemple qui s'applique à toutes les situations. Le choix d'un outil est un processus long qui demande de prendre de nombreux aspects en compte (technique, sociétal, humain et environnemental).

    +

    La mention CMS (content management system) sera privilégiée à la version française système de gestion de contenu, ce terme étant plus répandu.

    +

    Le point de départ : le contexte est les besoins

    +

    Avant de choisir un outil, il convient de définir les objectifs de cet outil. Il faut déterminer les besoins auxquels l'outil doit répondre. Il est aussi important de prendre en compte les externalités positives et négatives d'un outil (impacts sociaux, environnementaux, etc.).

    +

    Notre besoin principal est de concevoir des sites web écoconçu avec un poids par page limité (de 100 à 250 ko). En plus de cette limite, nos sites doivent être accessibles dans des conditions contraignantes (réseau internet à faible débit, appareils anciens). Nous devons favoriser l'inclusivité. c'est pourquoi l'ergonomie et le design sont des points cruciaux pour nos projets. À cela s'ajoute l'importance de protéger la vie privée et de privilégier des acteurs éthiques (exclusion des GAFAM). Nous avons des services complémentaires pour conseiller, former et configurer des services éthiques. Ce champ d'action est divers et demande déjà des compétences dans des domaines très variés, d'où la taille restreinte de nos projets (sites vitrines).

    +
    Capture d'écran du site internet thegreenroom.fr avec la mention du poids d'une page. Le poids par page est de 100ko.Capture d'écran du site internet thegreenroom.fr avec la mention du poids d'une page. Le poids par page est de 100ko.
    La limite de poids est une donnée centrale dans notre processus.
    +

    Nous sommes une petite équipe, nous ne pouvons pas réaliser des projets trop conséquents à moins de s'associer à d'autres prestataires. Nous avons choisi d'avoir un champ d'action limité pour se concentrer sur la qualité. Par conséquent, nous travaillons avec des structures qui ont aussi des engagements éthiques. Ce point n'est pas déterminant pour le choix d'une technique, mais il augmente la cohérence de nos projets avec nos valeurs.

    +

    Notre processus est très collaboratif, nous commençons toujours avec une phase de recherche en design qui nous amène à travailler sur l'organisation du contenu et l'arborescence. Après cette étape, nous démarrons le travail sur le style graphique, l'ergonomie et le web design. Une fois cette phase validée, nous démarrons le travail de développement avec un prototype qui sert pour la phase de test. Nous allons voir pourquoi le processus de création de site avec Kirby s'adapte très bien à notre manière de travailler.

    +

    Le CMS Kirby

    +

    Kirby est un CMS flat-file, le contenu est stocké dans de simples fichiers texte. Il s'oppose aux CMS comme Wordpress ou Drupal qui utilisent une base de données. Ce point technique simplifie le processus d'installation et de maintenance. Pour faire simple, la structure des dossiers du site reflète son arborescence. Cette simplicité rend Kirby plus accessible. Il est rapide pour un développeur externe de s'adapter et de comprendre la structure du CMS.

    +

    De plus, il est facile d'étendre la structure et d'ajouter des fonctionnalités. Malgré cette structure, il présente tous les avantages d'un CMS moderne avec la possibilité de structurer son code en fonction des besoins (modèles, API, cache, etc.).

    +

    La flexibilité du code se retrouve dans le processus de création du design. Kirby n'impose pas un processus précis pour le design. La gestion du frontend (partie graphique d'un site) ne dépend pas de technologies prédéfinies, elle est complètement agnostique. Nous avons choisi une gestion simple du style en essayant de limiter les surcouches. Il est possible de travailler avec des langages et des bibliothèques variés pour réaliser le design. En sachant que l'administration du site et la partie visuelle peuvent être créés de zéro avec une séparation claire entre design et contenu.

    +

    Ce CMS est basé sur les logiciels libres LAMP (Linux, Apache, MySQL, PHP/Perl), même si cette technologie est impopulaire pour de nombreux développeurs (principalement pour une raison de mode), elle est résiliente dans le sens où elle a fait ses preuves sur le long terme. Cette solution technique est la plus répandue, il est donc facile de trouver un hébergement et de la documentation. À noter, que pour une personnalisation très poussée de l'administration (non nécessaire pour une majorité de projets), une connaissance de Vue.js est un plus.

    +

    Un système de plugin est disponible et une bibliothèque de plugins permet d'ajouter des fonctionnalités essentielles au site. Le développement de plugins reste accessible comparé à d'autres plateformes.

    +

    Enfin, Kirby respecte le RGPD par défaut. Il n'inclut pas de code de suivi et de cookies par défaut. C'est un critère important pour le respect de la vie privée des utilisateurs.

    +

    Le CMS Kirby et ses avantages pour l'écoconception (dans notre cas)

    +

    Processus

    +

    C'est surtout par rapport à son processus de création que Kirby s'adapte à nos pratiques. Le fait de construire l'administration et le visuel de zéro nous permet de s'adapter au mieux aux besoins des utilisateurs. Avec ce processus, nous pouvons diviser notre travail de manière à se focaliser sur les fonctions utiles et l'ergonomie. Contrairement à beaucoup de CMS, Kirby nécessite d'ajouter des fonctions plutôt que d'en retirer.

    +

    Par rapport à notre processus, dès la validation de l'arborescence et de l'organisation du contenu, nous pouvons travailler sur l'ergonomie de l'administration pour tester les premières idées. Bien sûr, cette organisation peut évoluer tout au long du projet.

    +

    À la fin de l'étape de design, nous pouvons intégrer le style graphique et mettre à jour la partie visuelle du site pour tester un premier prototype en situation réelle. Cette étape permet de tester l'ergonomie et de valider les dernières fonctionnalités en phase de test. Pendant cette dernière étape, nous utilisons nos indicateurs d'écoconception pour respecter le cahier des charges et nos objectifs.

    +

    Technologie et résilience

    +

    La technologie LAMP est très bien documentée et une majorité de développeurs connaît cette technologie, ce qui est encore un gage de longévité pour un service numérique. Il sera plus simple pour une majorité développeurs de maintenir un site avec cette technologie. Ce qui répond à notre objectif de faire durer les projets sur le long terme. La documentation Kirby est aussi très claire (bien qu'uniquement en anglais).

    +

    Kirby de par sa structure facilite la maintenance et limite les risques de sécurité, car l'absence de base de données créée un point de faille en moins. Bien sûr, il est toujours nécessaire de suivre des règles de sécurité strictes et de faire des mises à jour régulières.

    +

    Les sauvegardes ainsi que les déploiements de fichiers sont facilités, il s'agit uniquement d'un transfert de fichier.

    +

    Usage

    +

    L'aspect formation est aussi facilité, les retours sur l'ergonomie de Kirby sont positifs et le fait d'impliquer progressivement les utilisateurs dans la construction de l'administration permet déjà aux utilisateurs de s'habituer à l'édition du site.

    +

    Côté développement et design, la structure de Kirby rend le travail agréable, ce qui est un argument non négligeable pour choisir un CMS sur le long terme.

    +

    Les points de discussion

    +

    Tout n'est pas rose, une technologie peut toujours évoluer négativement, il est nécessaire d'avoir un suivi sérieux de son développement. Un point de controverse et le modèle économique de Kirby. Ce CMS fonctionne avec une licence par site à 99€. Au lancement de Kirby, nous avions évité d'utiliser ce CMS en raison de ce modèle économique, mais nous avions fait une erreur. Ce modèle permet au projet de durer dans le temps et malgré une petite communauté, cette dernière est active et très saine dans le sens où elle est soucieuse de la qualité et de l'éthique. L'activité sur le forum montre un suivi sérieux du projet. Cette petite échelle facilite la proximité et permet de participer et suivre l'avancement du projet.

    +

    La galerie des projets signale un souci pour la qualité de la communauté. Des projets complémentaires comme ce template Figma montre qu'il existe un engouement suffisant pour faire vivre le projet. Surtout, le code reste open source et soumis à des audits externes ce qui permet un suivi de qualité du projet.

    +

    Rappel : l'écoconception ne dépend pas d'un outil ou d'une pratique fixe, elle demande un état d'esprit qui doit s'adapter à une situation précise qui dépend aussi bien d'aspect humain que technique.

    +

    Aller plus loin dans l'écoconception

    +

    La génération de sites statiques présente de nombreux avantages pour éliminer tous les calculs liés à la génération de pages dynamiques. Pour le moment, les solutions qui facilitent l'édition de sites statiques ne sont pas encore assez ergonomiques pour nos besoins. Elles peuvent s'adapter à certains projets qui ont une équipe plus formée aux outils numériques.

    +

    L'édition de sites statiques dépend de plateformes et services extérieurs qui créent des dépendances. Ces solutions sont moins résilientes que LAMP et sont plus complexes techniquement. Il sera nécessaire de trouver un compromis pour les utiliser sur une plus grande quantité de projets. Rien n'exclut d'avoir Kirby pour la gestion de contenu d'un site statique aussi. Nous sommes toujours en train d'effectuer des recherches sur ce sujet pour trouver une solution plus adaptée.

    +

    Pour tous les projets

    +

    Il n'existe pas de système qui s'adapte à toutes les situations. Kirby ne sera pas la solution pour tous les projets, mais il répond très bien à nos besoins actuels. Nous limitons nos projets à des sites vitrines avec des fonctionnalités basiques. Cette limite fait que le CMS Kirby est utilisé pour la majorité de nos projets, mais il est possible qu'avec l'évolution de nos recherches d'autres outils soient utilisés ou que nous ajoutions des fonctionnalités à Kirby. Par exemple, l'e-commerce pourrait aussi nécessiter une autre solution, même s'il existe des intégrations de module de paiement sur Kirby. L'important est aussi d'avoir une bonne maitrise de ses outils et nous avons encore beaucoup de possibilités à tester avec Kirby pour améliorer la qualité et aller plus loin dans notre démarche écoresponsable.

    + + +
    + + + +
    + +
    +
    + + + diff --git a/sac/pages/www-radiofrance-fr-franceculture-podcasts-lectures-numeriques-litote-une-application-pour-produire-de-la-litterature-scientifique-9446122 b/sac/pages/www-radiofrance-fr-franceculture-podcasts-lectures-numeriques-litote-une-application-pour-produire-de-la-litterature-scientifique-9446122 new file mode 100644 index 0000000..533b317 --- /dev/null +++ b/sac/pages/www-radiofrance-fr-franceculture-podcasts-lectures-numeriques-litote-une-application-pour-produire-de-la-litterature-scientifique-9446122 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Litote, de la gestion de corpus à l'aide à la rédaction : Une application pour de la littérature scientifique + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Litote, de la gestion de corpus à l'aide à la rédaction : Une application pour de la littérature scientifique

    Logo de l'application Litote - Aurore Turbiau
    Logo de l'application Litote - Aurore Turbiau
    Logo de l'application Litote - Aurore Turbiau
    Publicité

    Cette semaine dans "lectures numériques" on s'intéresse au programme Litote que la chercheuse Aurore Turbiau a développé dans le cadre de ses recherches en littérature et en humanités numériques.

    C'est  Aurore Turbiau, jeune chercheuse en littérature et codeuse autodidacte qui a imaginé ce projet. Au début, elle s’est servie de Litote pour l’aider à rédiger sa thèse, mais maintenant, elle l’utilise pour écrire ses articles et tous les travaux scientifiques qu’elle produit dans le cadre de son travail universitaire.

    Parler de Litote, c’est à la fois pour vous expliquer le fonctionnement de cette application, mais c’est aussi pour vous donner un exemple concret de ce qu’on appelle les humanités numériques. En fait, quand on parle d'humanités numériques” on parle d’une rencontre qui est orchestrée entre les sciences humaines et sociales (dont fait partie la littérature) et l’informatique. Ces rencontres permettent de créer des nouveaux savoirs et des nouveaux savoir-faire. Et souvent les recherches dans ce domaine prennent la forme de bricolages individuels, de l’ordre du do it yourself - ce qui est tout à fait le cas ici avec Litote.

    Publicité

    Comment ça marche ?

    Au départ, Litote a été imaginé par Aurore Turbiau pour organiser son immense corpus de thèse, qui est l’ensemble des textes poétiques et théoriques sur lesquels elle s’appuyait pour formuler et argumenter des hypothèses. Dans le cas de cette chercheuse qui travaillait sur la littérature féministe des années 70 en France et au Québec, il s’agissait de trouver un moyen pour réussir à stocker, référencer, manipuler plus de trois cents ouvrages. Et après avoir tenté d’inventorier ces ouvrages dans des carnets - un stylo à la main, puis d’avoir essayé d’utiliser un tableur classique, Aurore Turbiau a fini par imaginer une base de données avec tous les critères dont elle aurait besoin, et cela, grâce à ses compétences de codeuse.

    Cette base de données est composée de deux éléments importants : D’une part tous les renseignements bibliographiques basiques d’un ouvrage : le nom de l’autrice ou de l’auteur, la date de publication, l’édition, le résumé et d’autre part, un système d’étiquettes - qu’on appelle des tags - pour qualifier au fur et à mesure les extraits de textes qu’elle compilait. Parmi les tags présents dans sa base de données : il y a amour, sororité, maternité par exemple.

    Simuler un exemple pour comprendre

    Le plus simple, c'est de simuler un travail à rendre. On sait par exemple que beaucoup d’autrices féministes des années 70 ont fait référence aux contes de fées dans leurs textes, alors imaginons qu’Aurore Turbiau doive faire une étude sur le sujet. Eh bien grâce aux systèmes de tags - tous les textes qu’elle aura répertoriés sous l’étiquette “contes de fée” il y a plusieurs mois, plusieurs années… apparaîtront en un clic et même ceux que la chercheuse aurait pu oublier, ce qui arrive quand on lit beaucoup et qu’on travaille dans un temps long.

    Cette base de données pourra bien sûr s’étoffer au fil de la carrière universitaire de la chercheuse pour engranger de plus en plus de références précises sur lesquelles s’appuyer.

    Pour une science ouverte

    Aurore Turbiau fait partie de cette génération de chercheurs et chercheuses qui défend l’idée d’une science ouverte, d’une science accessible à tous et toutes et pour qui le travail de diffusion et de vulgarisation fait partie du devoir des chercheurs et des chercheuses. D'ailleurs, si j'ai su qu’Aurore Turbiau avait fabriqué Litote, c’est bien parce qu’elle a diffusé sur les réseaux sociaux et sur son carnet de recherche en ligne l’histoire de l’application, son mode d’emploi et les questions que cela suscitaient.

    La Méthode scientifique
    58 min

    Et légalement ?

    C'est la question la plus délicate parce que quand la chercheuse s’est rapprochée des services juridiques de son université, il y a quelques mois, c’était la première fois qu’ils étaient confrontés à un travail comme celui-là. Ensemble, ils ont choisi d’héberger Litote sur Huma-Num qui est un serveur dédié aux humanités numériques et qui a été mis en œuvre par le ministère de l’Enseignement supérieur et de la Recherche.

    Ce dépôt n’exclut ni le risque de pillages des œuvres citées ni celui du travail de thèse qu’Aurore Turbiau a effectué, mais c’est un risque qu’elle a choisi de prendre pour partager sa banque de textes - parfois des textes extrêmement rares - et c’est aujourd’hui près de 1 300 ressources à consulter que la chercheuse nous laisse à disposition !

    Pour en savoir plus

    Site web de  Litote

    L'équipe

    + + + +
    + + diff --git a/sac/pages/www-shellunix-com-awk-html b/sac/pages/www-shellunix-com-awk-html new file mode 100644 index 0000000..55a1294 --- /dev/null +++ b/sac/pages/www-shellunix-com-awk-html @@ -0,0 +1,600 @@ + + + + Unix: la commande Awk + + + + + + + + +
    +

    +home www.shellunix.com +commandes Unix +Shell unix: sh +Shell unix: csh +Shell unix: ksh +expressions rgulires +sed +awk +perl +

    +

    Vous avez trouv cette page utile, Vous pouvez l'obtenir ici au format kindle (amazon).

    +
    + +Cette commande permet d'appliquer un certain nombre d'actions sur un fichier. +La syntaxe est inspire du C +

    syntaxe

    +awk [-Fs] [-v variable] [-f fichier de commandes] 'program' fichier + + + + + + + + + + + + + +
      -F Spcifie les sparateurs de champs
      -v Dfinie une variable utilise l'intrieur du programme. +
      -f Les commandes sont lu partir d'un fichier.
    +

    principe de fonctionnement

    +Le programme awk est une suite d'action de la forme : motif { action } , le motif +permet de determiner sur quels enregistrements est appliquée l'action. +
    +
    Un enregistrement est : +
    une chaine de caractres spare par un retour chariot, en général + une ligne. +
    Un champs est : +
    une chaine de caractres separe par un espace (ou par le caractre specifi + par l'option -F), en générale un mot. +
    +

    On accde chaque champs de l'enregistrement courant par la variable $1, + $2, ... $NF. $0 correspond l'enregistrement complet. + La variable NF contient le nombre de champs de l'enregistrement courant, + la variable $NF correspond donc au dernier champs.

    +

    Exemples

    +

    + + + + + + + + + + + + + + + + +
    awk -F ":" '{ $2 = "" ; print $0 }' /etc/passwd imprime chaque ligne du fichier /etc/passwd aprs avoir effac le deuxime + champs
    awk 'END {print NR}' fichier imprime le nombre total de lignes du fichiers
    awk '{print $NF}' fichier imprime le dernier champs de chaque ligne
    who | awk '{print $1,$5}' imprime le login et le temps de connexion.
    awk 'length($0)>75 {print}' fichier imprime les lignes de plus de 75 caractres. (print quivaur print $0) +
    +

    Les variables prdfinies

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Variable Signification Valeur par dfaut
    ARGC Nombre d'arguments de la ligne de commande -
    ARGV tableau des arguments de la ligne de commnde -
    FILENAME nom du fichier sur lequel on applique les commandes -
    FNR Nombre d'enregistrements du fichier -
    FS separateur de champs en entre " "
    NF nombre de champs de l'enregistrement courant -
    NR nombre d'enregistrements deja lu -
    OFMT format de sortie des nombres "%.6g"
    OFS separateur de champs pour la sortie " "
    ORS separateur d'enregistrement pour la sortie "\n"
    RLENGTH longueur de la chaine trouve -
    RS separateur d'enregistrement en entre "\n"
    RSTART debut de la chaine trouve -
    SUBSEP separateur de subscript "\034"
    +

    Syntaxe du motif

    +Si le motif existe dans l'enregistrement, l'action sera applique la ligne . +
    +Le motif peut etre : +
      +
    • un expression rgulire +
        +
      • /expression regulire/ +
      • $0 ~ /expression regulire/ +
      • expression ~ /expression regulire/ +
      • expression !~ /expression regulire/ +
      +
    • une expression BEGIN ou END +
    • une expression de comparaison: <, <=, == , !=, >=, > +
    • une combinaison des trois ( l'aide des oprateurs boolens || ou, + && et, ! ngation) +
    • une caractrisation des lignes
      + motif1,motif2 : chaque ligne entre la premiere ligne correspondant au motif1 + et la premire ligne correspondant au motif2 +
    +

    examples +

    +
     awk 'BEGIN { print "Verification des UID et GID dans le fichier /etc/passwd";
    +              FS=":"}
    +      $3 !~ /^[0-9][0-9]*$/ {print "UID  erreur ligne "NR" :\n"$0 }
    +      $4 !~ /^[0-9][0-9]*$/ {print "GID  erreur ligne "NR" :\n"$0 }
    +      END   { print "Fin" }
    +' /etc/passwd 
    + Rsultat :
    +Verification des UID et GID dans le fichier /etc/passwd
    +UID erreur ligne 14 :
    +clown:*:aaa:b:utilisateur en erreur:/home/clown:/bin:sh
    +GID erreur ligne 14 :
    +clown:*:aaa:b:utilisateur en erreur:/home/clown:/bin/sh
    +Fin +

    +

     awk 'BEGIN { print "Verification du fichier /etc/passwd pour ...";
    +              print "- les utilisateurs avec UID = 0 " ;
    +              print "- les utilisateurs avec UID >= 60000" ;
    +              FS=":"}
    +      $3 == 0 { print "UID 0 ligne "NR" :\n"$0 }
    +      $3 >= 60000  { print "UID >= 60000 ligne "NR" :\n"$0 }
    +      END   { print "Fin" }
    +' /etc/passwd 
    + Rsultat :
    +Verification du fichier /etc/passwd pour ...
    +- les utilisateurs avec UID = 0
    +- les utilisateurs avec UID >= 60000
    +UID 0 ligne 5 :
    +root:*:0:b:administrateur:/:/bin/sh
    +UID >= 60000 ligne 14 :
    +clown:*:61000:b:utilisateur en erreur:/home/clown:/bin/sh
    +Fin +

    +

     awk 'BEGIN { print "Verification du fichier /etc/group";
    +              print "le groupe 20 s'appelle t-il bien users ? " ;
    +              FS=":"}
    +      $1 == "users" && $3 ==20 { print "groupe "$1" a le GID "$3" !" }
    +      END   { print "Fin" }
    +' /etc/group 
    + Rsultat :
    +Verification du fichier /etc/group
    +le groupe 20 s'appelle t-il bien users ?
    +groupe users a le GID 20 !
    +Fin +

    +

     awk 'NR == 5 , NR == 10 {print NR" : " $0 }' fichier 
    +Imprime de la ligne 5 la ligne 10 , chaque ligne prcde par son numro +

    +

    Syntaxe de l'action

    +Une action transforme ou manipule des donnes. par dfaut print
    +type des actions +
      +
    • fonctions prdfinies, numerique ou chaine de caracteres +
    • controle de flots +
    • affectation +
    • impression +
    +

    Fonctions numriques

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nom des fonctions signification
    atan2(y,x) arctangente de x/y en redians dans l'interval -pi pi
    cos(x) cosinus (en radians)
    exp(x) exponentielle e la puissance x
    int(x) valeur entire
    log(x) logarythme naturel
    rand() nombre alatoire entre 0 et 1
    sin(x) sinus (en radians)
    sqrt(x) racine carre
    srand(x) reinitialiser le gnrateur de nombre alatoire
    +

    Les fonctions sur les chaines de caractres

    +Dans le tableau suivant :
    +s et t represente des chaines de caractres
    +r une expression rgulire
    +i et n des entiers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nom des fonctions signification
    gsub(r,s,t) sur la chaine t, remplace toutes les occurance de r par s +
    index(s,t) retourne la position la plus gauche de la chaine t dans la chaine s +
    length(s) retourne la longueur de la chaine s +
    match(s,r) retourne l'index ou s correspond r et positionne RSTART et RLENTH +
    split(s,a,fs) split s dans le tableau a sur fs, retourne le nombre de champs +
    sprintf(fmt,liste expressions) retourne la liste des expressions formatte suivant fmt +
    sub(r,s,t) comme gsub, mais remplce uniquement la premire occurence +
    substr(s,i,n) retourne la sous chaine de s commencant en i et de taille n +
    +

    Les variables et expressions

    +

    Les oprations et affectations arithmtiques

    +
      +
    • Les oprateurs arithmtiques sont les oprations usuelles : + - * / % (reste + division entire) et ^ (puissance). Tous les calculs sont effectus en virgule + flottante. +
    • La syntaxe de l'affectation : var = expression
      + Vous pouvez aussi utiliser les operateurs +=, -=, *=, /=, %= et ^= (x+=y quivaut + x=x+y) +
    +

    Les variables de champs

    +

    Rappel : Les champs de la ligne courant sont : $1, $2, ..., $NF
    + La ligne entire est $0
    + Ces variables ont les memes proprits que Les autres variables. Elles peuvent + etre reaffectes. Quand $0 est modifies, les variables $1,$2 ... sont aussi + modifies ainsi que NF.Inversement si une des variables $i est modifies, $0 + est mise jour.
    + Les champs peuvent etre specifis par des expressions, comme $(NF-1) pour l'avant + dernier champs.
    +

    +
    example
    + +
     awk 'BEGIN { FS=":" ;
    +             OFS=":"}
    +      $NF != "/bin/ksh" { print $0 }
    +      $3 == "/bin/ksh" && NF == 7  { $7 = "/bin/posix/sh" ;
    +                                     print $0 } '
    +      /etc/passwd > /etc/passwd.new 
    + Rsultat :
    +On cre un nouveau fichier de mot de passe /etc/passwd.new en remplacant le shell +/bin/ksh par /bin/posix/sh +

    +

    concatnation de chaines de caractres

    +

    Il n'y a pas d'oprateur de concatnation, il faut simplement lister les chaines + concatner.
    +

    +
    examples:
    + +
     awk '{ print NR " : " $0 }' fichier
    +Rsultat :
    +On numrote les lignes du fichier +
     awk 'BEGIN { FS=":" ;
    +             OFS=":" ;
    +             print " Run Level 2 : Liste des actions "}
    +      $2 ~ /2/  { print "Keyword <<"$3">>, \n Tache <<"$4">>" }
    +      $2 == ""  { print "Keyword <<"$3">>, \n Tache <<"$4">>" }
    +' /etc/inittab > /etc/passwd.new 
    + Rsultat :
    +Affiche les actions executes lors du passage l'tat 2 +

    +

    while

    +Syntaxe: while ( condition ) action
    +

    for

    +

    break, continue

    +Break: sortie de boucle
    +Continue: commence une nouvelle itration de la boucle.
    +

    if , else

    +Syntaxe:
    +if ( expression ) action
    +else action
    +

    commentaire et action vide

    +Le commentaire est prcd par #. tout ce qui est entre # et la fin de la ligne +est ignor par awk
    +Une action vide est reprsent par ; +

    next, exit

    +Next: passe l'enregistrement suivant. On reprend +le script awk son dbut
    +Exit: ignore le reste de l'entre et execute les actions +dfinie par END
    +

    affichage

    +print exp, exp ou print (exp , exp ) affiche +les expressions
    + print equivaut print $0
    +printf format , exp, exp ou printf (format,exp , exp +) identique print mais en utilisant un format (voir printf en C) +
    +Un format est une chaine de caractres et des constructeurs commencant par %
    + + + + + + + + + + + + + +
    specifieur signification
    d nombre decimal
    s chaine de caractres
    + + + + + + + + + + + + + + + + + +
    specifieur signification
    - expression justifie gauche
    largeur largeur d'affichage
    .precision longueur maximale d'une chaine de caracteres
    + ou nombre de decimales
    +Example:
    +La sortie d'un print ou d'un printf peut tre redirige dans un fichier ou sur +un pipe
    +Les noms de fichiers doivent tre entre guillemets sinon ils sont considrs comme +des variables
    +Example:
    + + + + + + + + + +
    awk ' { print NR " :" , $0 > "fich.numerote" } ' fichier le fichier fich.numerote contient le fichier fichier avec + les lignes numrotes +

    +

    awk ' { printf "%3d : %s " , NR , $0 > "fich.numerote" } ' fichier le fichier fich.numerote contient le fichier fichier avec + les lignes numrotes sur 3 caractres +

    +

    +

    tableau

    +On peut utiliser des tableaux de chaines de caractres et de nombres une dimension +
    +Il n'est pas ncessaire de les dclarer. La valeur par dfaut est "" ou 0 .
    +Les indices sont des chaines de caractres.
    +
     awk 'BEGIN { print "Mmorisation de votre fichier " FILENAME }
    +                 {memfile [NR] = $0 }
    +           END   { for ( i = NR ; i >= 1 ; i-- ) {
    +                    print i ":" memfile[i]
    +                    }
    +	          print "Fin"
    +                 } ' fichier 
    + Rsultat :
    +Affiche le fichier en commencant par la derniere ligne +

    +

     awk ' NF > 0 {
    +                    for (i=1;i<=NF;i++) {
    +                        if ( $i ~ /^[0-9a-zA-Z][0-9a-zA-Z]*$/ ) {
    +                            index[$i] = index[$i] ";" NR "," i " " ;
    +                            index["total"]++ ;
    +                            }
    +                        }
    +                     }
    +            END     { x="total" ;
    +                      printf("%s mots detects = %d\n",x,index[x]);
    +                      } ' fichier 
    + Rsultat :
    +Construction d un index de cross reference +

    +

    for et les tableaux

    +Comme les indices des tableaux sont des chaines de caractres, on ne peut pas +determiner la taille d'un tableau
    +On doit donc utiliser la construction : +
     for (var in tableau)
    +action 
    +
     awk ' NF > 0 {
    +                    for (i=1;i<=NF;i++) {
    +                        if ( $i ~ /^[0-9a-zA-Z][0-9a-zA-Z]*$/ ) {
    +                            index[$i] = index[$i] ";" NR "," i " " ;
    +                            index["total"]++ ;
    +                            }
    +                        }
    +                     }
    +            END     {
    +                    for ( x in index ) { 
    +                     if ( x != "total" )
    +                       printf("%-20s\t%s\n",x,index[x]) | "sort -f "
    +                      }
    +                      x="total";
    +                      printf("%s mots detects = %d\n",x,index[x]);
    +                      } ' fichier 
    + Rsultat :
    +Construction d un index de cross reference +

    +

    simulations des tableau multidimensions

    +On ne peut pas utiliser des tableaux multidimentionnels.
    +On peut les simuler en concatenant des composants des sous chaines avec le sparateur +SUBSEP
    +
     awk 'BEGIN { print "Mmorisation de votre fichier " FILENAME 
    +                   SUBSEP=":" 
    +                 }
    +                 {  for ( i=1 ; i <=NF ; i++ ) {
    +                    memfields[ NR , i ] = $i
    +                    }
    +                 }
    +           END   { for ( i in memfields ) {
    +                    print i ":" memfields[i] | "sort -n -t: "
    +                    }
    +	          print "Fin"
    +                 } ' fichier 
    + Rsultat :
    +Affiche le fichier en commencant par la derniere ligne +

     

    +

    + +
    +

    +Obtenir l'aide mmoire Unix au format pdf +

    +
    +

    +home www.shellunix.com +commandes Unix +Shell unix: sh +Shell unix: csh +Shell unix: ksh +expressions rgulires +sed +awk +perl +

    + + +

    © Isabelle Vollant + (http://www.shellunix.com)
    + mise jour le 30/07/12

    + + + + diff --git a/sac/pages/www-wikileaks-org b/sac/pages/www-wikileaks-org new file mode 100644 index 0000000..9a8665a --- /dev/null +++ b/sac/pages/www-wikileaks-org @@ -0,0 +1,609 @@ + + + + + + + + + WikiLeaks + + + + + + + + +
    +
    + + +

    Key fingerprint 9EF0 C41A FBA5 64AA 650A 0259 9C6D CD17 283E 454C

    +
    +-----BEGIN PGP PUBLIC KEY BLOCK-----
    +
    +mQQBBGBjDtIBH6DJa80zDBgR+VqlYGaXu5bEJg9HEgAtJeCLuThdhXfl5Zs32RyB
    +I1QjIlttvngepHQozmglBDmi2FZ4S+wWhZv10bZCoyXPIPwwq6TylwPv8+buxuff
    +B6tYil3VAB9XKGPyPjKrlXn1fz76VMpuTOs7OGYR8xDidw9EHfBvmb+sQyrU1FOW
    +aPHxba5lK6hAo/KYFpTnimsmsz0Cvo1sZAV/EFIkfagiGTL2J/NhINfGPScpj8LB
    +bYelVN/NU4c6Ws1ivWbfcGvqU4lymoJgJo/l9HiV6X2bdVyuB24O3xeyhTnD7laf
    +epykwxODVfAt4qLC3J478MSSmTXS8zMumaQMNR1tUUYtHCJC0xAKbsFukzbfoRDv
    +m2zFCCVxeYHvByxstuzg0SurlPyuiFiy2cENek5+W8Sjt95nEiQ4suBldswpz1Kv
    +n71t7vd7zst49xxExB+tD+vmY7GXIds43Rb05dqksQuo2yCeuCbY5RBiMHX3d4nU
    +041jHBsv5wY24j0N6bpAsm/s0T0Mt7IO6UaN33I712oPlclTweYTAesW3jDpeQ7A
    +ioi0CMjWZnRpUxorcFmzL/Cc/fPqgAtnAL5GIUuEOqUf8AlKmzsKcnKZ7L2d8mxG
    +QqN16nlAiUuUpchQNMr+tAa1L5S1uK/fu6thVlSSk7KMQyJfVpwLy6068a1WmNj4
    +yxo9HaSeQNXh3cui+61qb9wlrkwlaiouw9+bpCmR0V8+XpWma/D/TEz9tg5vkfNo
    +eG4t+FUQ7QgrrvIkDNFcRyTUO9cJHB+kcp2NgCcpCwan3wnuzKka9AWFAitpoAwx
    +L6BX0L8kg/LzRPhkQnMOrj/tuu9hZrui4woqURhWLiYi2aZe7WCkuoqR/qMGP6qP
    +EQRcvndTWkQo6K9BdCH4ZjRqcGbY1wFt/qgAxhi+uSo2IWiM1fRI4eRCGifpBtYK
    +Dw44W9uPAu4cgVnAUzESEeW0bft5XXxAqpvyMBIdv3YqfVfOElZdKbteEu4YuOao
    +FLpbk4ajCxO4Fzc9AugJ8iQOAoaekJWA7TjWJ6CbJe8w3thpznP0w6jNG8ZleZ6a
    +jHckyGlx5wzQTRLVT5+wK6edFlxKmSd93jkLWWCbrc0Dsa39OkSTDmZPoZgKGRhp
    +Yc0C4jePYreTGI6p7/H3AFv84o0fjHt5fn4GpT1Xgfg+1X/wmIv7iNQtljCjAqhD
    +6XN+QiOAYAloAym8lOm9zOoCDv1TSDpmeyeP0rNV95OozsmFAUaKSUcUFBUfq9FL
    +uyr+rJZQw2DPfq2wE75PtOyJiZH7zljCh12fp5yrNx6L7HSqwwuG7vGO4f0ltYOZ
    +dPKzaEhCOO7o108RexdNABEBAAG0Rldpa2lMZWFrcyBFZGl0b3JpYWwgT2ZmaWNl
    +IEhpZ2ggU2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBLZXkgKDIwMjEtMjAyNCmJBDEE
    +EwEKACcFAmBjDtICGwMFCQWjmoAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ
    +nG3NFyg+RUzRbh+eMSKgMYOdoz70u4RKTvev4KyqCAlwji+1RomnW7qsAK+l1s6b
    +ugOhOs8zYv2ZSy6lv5JgWITRZogvB69JP94+Juphol6LIImC9X3P/bcBLw7VCdNA
    +mP0XQ4OlleLZWXUEW9EqR4QyM0RkPMoxXObfRgtGHKIkjZYXyGhUOd7MxRM8DBzN
    +yieFf3CjZNADQnNBk/ZWRdJrpq8J1W0dNKI7IUW2yCyfdgnPAkX/lyIqw4ht5UxF
    +VGrva3PoepPir0TeKP3M0BMxpsxYSVOdwcsnkMzMlQ7TOJlsEdtKQwxjV6a1vH+t
    +k4TpR4aG8fS7ZtGzxcxPylhndiiRVwdYitr5nKeBP69aWH9uLcpIzplXm4DcusUc
    +Bo8KHz+qlIjs03k8hRfqYhUGB96nK6TJ0xS7tN83WUFQXk29fWkXjQSp1Z5dNCcT
    +sWQBTxWxwYyEI8iGErH2xnok3HTyMItdCGEVBBhGOs1uCHX3W3yW2CooWLC/8Pia
    +qgss3V7m4SHSfl4pDeZJcAPiH3Fm00wlGUslVSziatXW3499f2QdSyNDw6Qc+chK
    +hUFflmAaavtpTqXPk+Lzvtw5SSW+iRGmEQICKzD2chpy05mW5v6QUy+G29nchGDD
    +rrfpId2Gy1VoyBx8FAto4+6BOWVijrOj9Boz7098huotDQgNoEnidvVdsqP+P1RR
    +QJekr97idAV28i7iEOLd99d6qI5xRqc3/QsV+y2ZnnyKB10uQNVPLgUkQljqN0wP
    +XmdVer+0X+aeTHUd1d64fcc6M0cpYefNNRCsTsgbnWD+x0rjS9RMo+Uosy41+IxJ
    +6qIBhNrMK6fEmQoZG3qTRPYYrDoaJdDJERN2E5yLxP2SPI0rWNjMSoPEA/gk5L91
    +m6bToM/0VkEJNJkpxU5fq5834s3PleW39ZdpI0HpBDGeEypo/t9oGDY3Pd7JrMOF
    +zOTohxTyu4w2Ql7jgs+7KbO9PH0Fx5dTDmDq66jKIkkC7DI0QtMQclnmWWtn14BS
    +KTSZoZekWESVYhORwmPEf32EPiC9t8zDRglXzPGmJAPISSQz+Cc9o1ipoSIkoCCh
    +2MWoSbn3KFA53vgsYd0vS/+Nw5aUksSleorFns2yFgp/w5Ygv0D007k6u3DqyRLB
    +W5y6tJLvbC1ME7jCBoLW6nFEVxgDo727pqOpMVjGGx5zcEokPIRDMkW/lXjw+fTy
    +c6misESDCAWbgzniG/iyt77Kz711unpOhw5aemI9LpOq17AiIbjzSZYt6b1Aq7Wr
    +aB+C1yws2ivIl9ZYK911A1m69yuUg0DPK+uyL7Z86XC7hI8B0IY1MM/MbmFiDo6H
    +dkfwUckE74sxxeJrFZKkBbkEAQRgYw7SAR+gvktRnaUrj/84Pu0oYVe49nPEcy/7
    +5Fs6LvAwAj+JcAQPW3uy7D7fuGFEQguasfRrhWY5R87+g5ria6qQT2/Sf19Tpngs
    +d0Dd9DJ1MMTaA1pc5F7PQgoOVKo68fDXfjr76n1NchfCzQbozS1HoM8ys3WnKAw+
    +Neae9oymp2t9FB3B+To4nsvsOM9KM06ZfBILO9NtzbWhzaAyWwSrMOFFJfpyxZAQ
    +8VbucNDHkPJjhxuafreC9q2f316RlwdS+XjDggRY6xD77fHtzYea04UWuZidc5zL
    +VpsuZR1nObXOgE+4s8LU5p6fo7jL0CRxvfFnDhSQg2Z617flsdjYAJ2JR4apg3Es
    +G46xWl8xf7t227/0nXaCIMJI7g09FeOOsfCmBaf/ebfiXXnQbK2zCbbDYXbrYgw6
    +ESkSTt940lHtynnVmQBvZqSXY93MeKjSaQk1VKyobngqaDAIIzHxNCR941McGD7F
    +qHHM2YMTgi6XXaDThNC6u5msI1l/24PPvrxkJxjPSGsNlCbXL2wqaDgrP6LvCP9O
    +uooR9dVRxaZXcKQjeVGxrcRtoTSSyZimfjEercwi9RKHt42O5akPsXaOzeVjmvD9
    +EB5jrKBe/aAOHgHJEIgJhUNARJ9+dXm7GofpvtN/5RE6qlx11QGvoENHIgawGjGX
    +Jy5oyRBS+e+KHcgVqbmV9bvIXdwiC4BDGxkXtjc75hTaGhnDpu69+Cq016cfsh+0
    +XaRnHRdh0SZfcYdEqqjn9CTILfNuiEpZm6hYOlrfgYQe1I13rgrnSV+EfVCOLF4L
    +P9ejcf3eCvNhIhEjsBNEUDOFAA6J5+YqZvFYtjk3efpM2jCg6XTLZWaI8kCuADMu
    +yrQxGrM8yIGvBndrlmmljUqlc8/Nq9rcLVFDsVqb9wOZjrCIJ7GEUD6bRuolmRPE
    +SLrpP5mDS+wetdhLn5ME1e9JeVkiSVSFIGsumZTNUaT0a90L4yNj5gBE40dvFplW
    +7TLeNE/ewDQk5LiIrfWuTUn3CqpjIOXxsZFLjieNgofX1nSeLjy3tnJwuTYQlVJO
    +3CbqH1k6cOIvE9XShnnuxmiSoav4uZIXnLZFQRT9v8UPIuedp7TO8Vjl0xRTajCL
    +PdTk21e7fYriax62IssYcsbbo5G5auEdPO04H/+v/hxmRsGIr3XYvSi4ZWXKASxy
    +a/jHFu9zEqmy0EBzFzpmSx+FrzpMKPkoU7RbxzMgZwIYEBk66Hh6gxllL0JmWjV0
    +iqmJMtOERE4NgYgumQT3dTxKuFtywmFxBTe80BhGlfUbjBtiSrULq59np4ztwlRT
    +wDEAVDoZbN57aEXhQ8jjF2RlHtqGXhFMrg9fALHaRQARAQABiQQZBBgBCgAPBQJg
    +Yw7SAhsMBQkFo5qAAAoJEJxtzRcoPkVMdigfoK4oBYoxVoWUBCUekCg/alVGyEHa
    +ekvFmd3LYSKX/WklAY7cAgL/1UlLIFXbq9jpGXJUmLZBkzXkOylF9FIXNNTFAmBM
    +3TRjfPv91D8EhrHJW0SlECN+riBLtfIQV9Y1BUlQthxFPtB1G1fGrv4XR9Y4TsRj
    +VSo78cNMQY6/89Kc00ip7tdLeFUHtKcJs+5EfDQgagf8pSfF/TWnYZOMN2mAPRRf
    +fh3SkFXeuM7PU/X0B6FJNXefGJbmfJBOXFbaSRnkacTOE9caftRKN1LHBAr8/RPk
    +pc9p6y9RBc/+6rLuLRZpn2W3m3kwzb4scDtHHFXXQBNC1ytrqdwxU7kcaJEPOFfC
    +XIdKfXw9AQll620qPFmVIPH5qfoZzjk4iTH06Yiq7PI4OgDis6bZKHKyyzFisOkh
    +DXiTuuDnzgcu0U4gzL+bkxJ2QRdiyZdKJJMswbm5JDpX6PLsrzPmN314lKIHQx3t
    +NNXkbfHL/PxuoUtWLKg7/I3PNnOgNnDqCgqpHJuhU1AZeIkvewHsYu+urT67tnpJ
    +AK1Z4CgRxpgbYA4YEV1rWVAPHX1u1okcg85rc5FHK8zh46zQY1wzUTWubAcxqp9K
    +1IqjXDDkMgIX2Z2fOA1plJSwugUCbFjn4sbT0t0YuiEFMPMB42ZCjcCyA1yysfAd
    +DYAmSer1bq47tyTFQwP+2ZnvW/9p3yJ4oYWzwMzadR3T0K4sgXRC2Us9nPL9k2K5
    +TRwZ07wE2CyMpUv+hZ4ja13A/1ynJZDZGKys+pmBNrO6abxTGohM8LIWjS+YBPIq
    +trxh8jxzgLazKvMGmaA6KaOGwS8vhfPfxZsu2TJaRPrZMa/HpZ2aEHwxXRy4nm9G
    +Kx1eFNJO6Ues5T7KlRtl8gflI5wZCCD/4T5rto3SfG0s0jr3iAVb3NCn9Q73kiph
    +PSwHuRxcm+hWNszjJg3/W+Fr8fdXAh5i0JzMNscuFAQNHgfhLigenq+BpCnZzXya
    +01kqX24AdoSIbH++vvgE0Bjj6mzuRrH5VJ1Qg9nQ+yMjBWZADljtp3CARUbNkiIg
    +tUJ8IJHCGVwXZBqY4qeJc3h/RiwWM2UIFfBZ+E06QPznmVLSkwvvop3zkr4eYNez
    +cIKUju8vRdW6sxaaxC/GECDlP0Wo6lH0uChpE3NJ1daoXIeymajmYxNt+drz7+pd
    +jMqjDtNA2rgUrjptUgJK8ZLdOQ4WCrPY5pP9ZXAO7+mK7S3u9CTywSJmQpypd8hv
    +8Bu8jKZdoxOJXxj8CphK951eNOLYxTOxBUNB8J2lgKbmLIyPvBvbS1l1lCM5oHlw
    +WXGlp70pspj3kaX4mOiFaWMKHhOLb+er8yh8jspM184=
    +=5a6T
    +-----END PGP PUBLIC KEY BLOCK-----
    +
    +		
    +
    +
    + +
    +
    + + +

    Contact

    +

    If you need help using Tor you can contact WikiLeaks for assistance in setting it up using our simple webchat available at: https://wikileaks.org/talk

    +

    If you can use Tor, but need to contact WikiLeaks for other reasons use our secured webchat available at http://wlchatc3pjwpli5r.onion

    +

    We recommend contacting us over Tor if you can.

    +
    +
    + +
    +
    + + +

    Tor

    +

    Tor is an encrypted anonymising network that makes it harder to intercept internet communications, or see where communications are coming from or going to.

    +

    In order to use the WikiLeaks public submission system as detailed above you can download the Tor Browser Bundle, which is a Firefox-like browser available for Windows, Mac OS X and GNU/Linux and pre-configured to connect using the anonymising system Tor.

    +

    Tails

    +

    If you are at high risk and you have the capacity to do so, you can also access the submission system through a secure operating system called Tails. Tails is an operating system launched from a USB stick or a DVD that aim to leaves no traces when the computer is shut down after use and automatically routes your internet traffic through Tor. Tails will require you to have either a USB stick or a DVD at least 4GB big and a laptop or desktop computer.

    +
    +
    + +
    +
    + + +

    Tips

    +

    Our submission system works hard to preserve your anonymity, but we recommend you also take some of your own precautions. Please review these basic guidelines.

    +
    +

    1. Contact us if you have specific problems

    +

    If you have a very large submission, or a submission with a complex format, or are a high-risk source, please contact us. In our experience it is always possible to find a custom solution for even the most seemingly difficult situations.

    +
    +
    +

    2. What computer to use

    +

    If the computer you are uploading from could subsequently be audited in an investigation, consider using a computer that is not easily tied to you. Technical users can also use Tails to help ensure you do not leave any records of your submission on the computer.

    +
    +
    +

    3. Do not talk about your submission to others

    +

    If you have any issues talk to WikiLeaks. We are the global experts in source protection – it is a complex field. Even those who mean well often do not have the experience or expertise to advise properly. This includes other media organisations.

    +
    + +
    +
    + +
    +
    + + +

    After

    + +
    +

    1. Do not talk about your submission to others

    +

    If you have any issues talk to WikiLeaks. We are the global experts in source protection – it is a complex field. Even those who mean well often do not have the experience or expertise to advise properly. This includes other media organisations.

    +
    + +
    +

    2. Act normal

    +

    If you are a high-risk source, avoid saying anything or doing anything after submitting which might promote suspicion. In particular, you should try to stick to your normal routine and behaviour.

    +
    + +
    +

    3. Remove traces of your submission

    +

    If you are a high-risk source and the computer you prepared your submission on, or uploaded it from, could subsequently be audited in an investigation, we recommend that you format and dispose of the computer hard drive and any other storage media you used.

    +

    In particular, hard drives retain data after formatting which may be visible to a digital forensics team and flash media (USB sticks, memory cards and SSD drives) retain data even after a secure erasure. If you used flash media to store sensitive data, it is important to destroy the media.

    +

    If you do this and are a high-risk source you should make sure there are no traces of the clean-up, since such traces themselves may draw suspicion.

    +
    +

    4. If you face legal action

    +

    If a legal action is brought against you as a result of your submission, there are organisations that may help you. The Courage Foundation is an international organisation dedicated to the protection of journalistic sources. You can find more details at https://www.couragefound.org.

    +
    +
    +
    +
    + +
    +
    + +

    WikiLeaks publishes documents of political or historical importance that are censored or otherwise suppressed. We specialise in strategic global publishing and large archives.

    +

    The following is the address of our secure site where you can anonymously upload your documents to WikiLeaks editors. You can only access this submissions system through Tor. (See our Tor tab for more information.) We also advise you to read our tips for sources before submitting.

    + +
    +
    http://ibfckmpsmylhbfovflajicjgldsqpc75k5w454irzwlh7qifgglncbad.onion
    + +
    + +

    If you cannot use Tor, or your submission is very large, or you have specific requirements, WikiLeaks provides several alternative methods. Contact us to discuss how to proceed.

    +
    +
    + + + +
    + + + + + +
    + +
    + + + + + +
    + +
    + +
    + + + +

    Featured

    + +
    +
    + + + + + + + + + + diff --git a/sac/pages/www-wiumlie-no-2006-phd--ch-problems b/sac/pages/www-wiumlie-no-2006-phd--ch-problems new file mode 100644 index 0000000..f7b8a06 --- /dev/null +++ b/sac/pages/www-wiumlie-no-2006-phd--ch-problems @@ -0,0 +1,10840 @@ + + + + + + + + + + +PhD Thesis: Cascading Style Sheets + + + + + +
    +
    + +

    Cascading Style Sheets

    + +

    Håkon Wium Lie

    + + + + +

    Thesis submitted for the degree of Doctor Philosophiœ
    Faculty of Mathematics and Natural Sciences
    University of Oslo
    Norway
    2005

    + +
    +
    + + +
    + +

    © Håkon Wium Lie, 1994-2005

    + +

    This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License.

    + + +

    Submitted 29th of March, 2005, as partial fulfillment of the degree
    +Doctor Philosophiœ
    +At the Faculty of Mathematics and Natural Sciences
    +University of Oslo
    +Norway

    + + +

    Series of dissertations submitted to the Faculty of Mathematics and Natural Sciences, University of Oslo.
    +No. 498

    + +

    ISSN 1501-7710

    + + + +
    + +
    +

    Abstract

    + +

    The topic of this thesis is style sheet languages for structured documents on the web. Due to characteristics of the web – including a screen-centric publishing model, a multitude of output devices, uncertain delivery, strong user preferences, and the possibility for later binding between content and style – the hypothesis is that the web calls for different style sheet languages than does traditional electronic publishing.

    + +

    Style sheet languages that were developed and used prior to the web are analyzed and compared with style sheet proposals for the web between 1993-1996. The dissertation describes the design of a web-centric style sheet language known as Cascading Style Sheets (CSS). CSS has several notable features including: cascading, pseudo-classes and pseudo-elements, forward-compatible parsing rules, support for different media types, and a strong emphasis on selectors. Problems in CSS are analyzed, and recommended future research is described.

    +
    + +
    +

    Inspiration

    + +
    Style sheets constitute a wormhole into unspeakable universes. +–James D Mason, 1994
    + +
    Style sheet languages are terribly underresearched. +–Philip M Marden, Ethan V Munson, 1999
    + +
    In which form are you planning to publish the first edition of the Parsifal poem? Even if I like Latin letters, I'm afraid they are unpopular (especially among publishers). So, if the letters will be German, please make the type large and of good quality. The legibility of a text is very important to me. +–Richard Wagner, in a letter to his publisher Ludwig Strecker
    + + + +
    + + +
    +

    Table of contents

    + + +
    + + + + + + +
    +

    Acknowledgements

    + +

    Having glanced through a fair number of doctoral dissertations myself, I believe the acknowledgements to be one of the most widely read sections. It is where the author, for a brief moment, can stray from the dryness of academic writing to express years of accumulated frustration and gratitude. Having worked on Cascading Style Sheets (CSS) for a decade, I have had my fair share of both frustration and gratitude. I'll try to express the latter in words while the frustration will be left to the leading.Terms in bold are explained in the Glossary.

    + +

    My gratitude goes first and foremost to my parents, Sissel and Alfred Lie. My father set a fine academic example by getting his PhD at the age of 50 and the fact that I'm beating him by a decade or so is a complement to him rather than to me. My mother's love of publications and her extensive information filing system have also contributed to my own urge to get my notes into order. I hereby pass the challenge of beating their father to a PhD onto my own children. Or, at least, to get their notes in order.

    + +

    Two very special people deserve particular mention and thanks; without them, this thesis would not exist. Bert Bos joined me at a point when CSS had been named and waved, but was still a set of immature ideas rather than a coherent specification. During some short weeks around a white-board in the summer of 1995, CSS was hammered out. I will remember that time in Sophia-Antipolis as some of best days and nights of my life. Karen Mosman is my publisher, muse and partner. Her enduring loyalty to my writing and to my person has changed both for the better. My writing and my person, that is; Karen herself is practically perfect.

    + +

    The World Wide Web Consortium (W3C) has been a good home for CSS. I thank Tim Berners-Lee and Jean-Francois Abramatic for setting up the organizational structures necessary to make it happen. Tim also gets very special thanks for inventing the web, not patenting it, and leaving a stylistic gap to filled. Among my W3C colleagues who were instrumental in supporting the work in the early days are Dave Raggett and Dan Connolly. Dave's browser, later named Arena, provided the perfect testing ground for CSS. Dan – after some healthy initial resistance – supported me when presenting CSS to the W3C HTML Editorial Review Board (ERB) which he co-chaired with Dave.

    + +

    One small anecdote from the ERB meeting in April 1996 is worth recounting. Since I was there primarily to present CSS rather than take part in HTML discussions, I was given the task of taking minutes. It so happened that the name of the next HTML version was decided in this meeting. I hope I will be forgiven for disclosing an (anonymized) excerpt from the minutes:

    + +
    +
    The naming issue was raised, and the meeting switched 
    +into brainstorm mode. Suggestions fell into three groups:
    + - version numbers: 3.1, 3.2, 3.5, 4.0
    + - code names: Wilbur, Classic HTML, Unified HTML, 
    +   Common HTML, W3C HTML
    + - compounds: HTML96, W3C HTML4
    +In the end, people preferred version numbers. NN 
    +argued that Wilbur was a major change that deserved a new 
    +major number: 4.0. Other people didn't like the zero in 
    +that name. "HTML 3.2" was selected after discussions and 
    +votes.
    +
    +
    + +

    So, somewhat by accident, I was the first person to type the now ubiquitous string HTML 3.2 into a computer. A few small key strokes for a man, a giant leap for the web.

    + +

    Inside W3C, the CSS Working Group has been the keeper of the flame. Some highly intelligent and dedicated people joined the group over the years. I would especially like to thank Ian Hickson, David Baron, Tantek Çelik, Daniel Glazman and Eric Meyer. Additionally, Steven Pemberton chaired the first W3C Workshop on Style Sheets, Chris Lilley served as chair for many years, and Ian Jacobs contributed his editorial skills. I am grateful to all of you.

    + +

    In 1999, when CSS1 and CSS2 had been written, I joined Opera Software to ensure that the specifications were implemented correctly by at least one browser. Thanks go to Jon von Tetzchner and Geir Ivarsøy for founding a company worth working for. Geir, along with Karl Anders Øygard, is also the mastermind behind Opera's display engine that makes CSS shine on screens of all sizes. Thanks also go to Snorre Grimsby, Rijk van Geijtenbeek, Brian Wilson and Sue Sims for supporting CSS internally and externally.

    + +

    Many people have been helpful while writing this thesis. I am indebted to Paul Grosso, Vincent Quint, Pamela Gennusa, Ethan Munson, Joe English, Harvey Bingham, Paul Prescod, Jany Quintard, Yann Dirson, Dave Pawson, Ian Castle, Didier P. H. Martin, Geir Ove Grønmo and Bette Harvey for answering my many questions about the past. I am grateful to Joe English, Wayne Gramlich, James Mason, Jeff Moore and Dan Connolly for allowing me to quote from their unpublished writings. Gunilla Petersén of the Royal Swedish Opera directed me to the inspirational Wagner quote.

    + +

    This thesis concerns style sheet proposals for the web. I am grateful to the authors of the proposals for contributing a very interesting topic of research. Having analyzed their proposals without having access to their minds, I may have misunderstood or misinterpreted their work. If so, please contact me. Thanks also go to the participants on the www-talk, www-html and www-style mailing lists. Without the communities that formed on the mailing lists, the web would not have existed as we know it today.

    + +

    CSS has borrowed many ideas from the MIT Media Lab where I spent two forming years. Thanks to Walter Bender and Andy Lippman for exposing me to those ideas. At the University of Oslo, Ole Hanseth and Gisle Hannemyr have motivated me to write up my notes into a thesis, and advised me on how this should be done. Without them, my notes would still be scattered around.

    + +

    I am grateful to Anthea Vaughan for patiently copy-editing my drafts.

    + +

    I would like to thank the people who created FrameMaker, GNU-emacs, and the Prince formatter. FrameMaker taught me typography, GNU-emacs gracefully accepted all my handcrafted tags, and Prince put this thesis onto paper.

    + +

    Oslo, March 2005
    +Håkon Wium Lie

    +
    + + +
    + +

    Overview and summary of the thesis

    + +

    The topic of this thesis is style sheet languages for structured documents on the web. The hypothesis is that the web calls for different style sheet languages than does traditional electronic publishing. Further, the design of a style sheet language that fulfills the specific requirements of the web, namely Cascading Style Sheets, is described. The thesis can be divided into a why part (Chapter 1-5), a how part (Chapter 6-9), and where to go from here (Chapter 10).

    + +

    Chapter 1: Introduction

    + +

    The first chapter is an introduction to the the topic of the thesis and related subjects. The historical context in which CSS was developed is described, including the development of HTML from its roots in structured documents to the presentational tags introduced by various browsers. Key concepts such as structured documents, style sheets and cascading are introduced.

    + +

    Chapter 2: Structured documents

    + +

    Style sheet languages and structured documents are mutually dependent. Without style sheets, structured documents cannot be presented, and without structured documents there is nothing for style sheets to present. Chapter 2 starts by introducing the ladder of abstraction which is proposed as a measuring tool for structured document formats. Such formats developed prior to the web (Scribe, LaTeX, ODA, SGML) and for the web (HTML, XML) are described. Finally, the role of transformation languages vs. style sheet languages is discussed.

    + +

    Chapter 3: Style sheets prior to the web

    + +

    Chapter 3 is the first chapter in which style sheets are discussed in some detail. The first part of the chapter establishes a set of criteria for style sheet languages; in order to qualify as a style sheet language six components must be present: syntax, selectors, properties, values and units, value propagation and a formatting model. Three style sheet languages developed before the Web (FOSI, DSSSL and P94) are described. The historical background of each is followed by a technical review.

    + +

    Chapter 4: Style sheet proposals for the web

    + +

    This chapter is a survey of the style sheet languages that were proposed for the web in the period 1993-1996. Nine different proposals are reviewed according to the criteria established in the previous chapter.

    + +

    Chapter 5: Web requirements

    + +

    Publishing on the web is different from other types of electronic publishing. Six web-specific requirements are discussed in Chapter 5. None of the pre-web style sheet languages nor subsequent style sheet language proposals fulfill all requirements for publishing on the web.

    + +

    Chapter 6: Cascading Style Sheets

    + +

    This chapter marks the start of the how section of the thesis. In this chapter Cascading Style Sheets (CSS) is described in some detail, and the language is evaluated according to the criteria that were established in Chapter 3. CSS is also evaluated against the web requirements discussed in Chapter 5.

    + +

    Chapter 7: Problems in CSS

    + +

    This chapter discusses problems in, and related to, the CSS specifications. These range from simple spelling errors to more complex questions such as whether or not some functionality fulfills its intended role. The chapter is loosely organized along an axis of complexity; the first part describes how simple errors have been handled. Thereafter, real and perceived problems in the specifications are discussed. The last section is dedicated to problems in the cascading mechanism.

    + +

    Chapter 8: CSS for small screens

    + +

    This chapter describes how cascading can be used to render web pages on small screens. By enforcing a carefully crafted browser style sheet, web pages are reformatted into narrow columns to avoid horizontal scrolling.

    + +

    Chapter 9: Cascading links

    + +

    A novel use of CSS to represent hyperlink information rather than stylistic information is discussed in this chapter. Cascading links make it possible to deploy new markup languages with hyperlinks in them, without user agents knowing how linking information is coded.

    + +

    Chapter 10: Future research

    + +

    This chapter points to areas of future research and development that are likely to yield beneficial results.

    + +

    Chapter 11: Conclusions

    + +

    The conclusions support the argument of the thesis: due to its characteristics, the web calls for style sheet languages different from those for traditional electronic publishing. The main contributions of the thesis are listed: the ladder of abstraction, the components of a style sheet language, the web requirements on style sheet languages, and CSS.

    +
    + + +
    +

    Introduction

    + +

    Around 1990, Tim Berners-Lee developed three specifications that formed the basis of the World Wide Web project: the HyperText Markup Language (HTML) was developed as a document format for the web; Universal Resource Locators (URL) were added to represent links between the documents; and the HyperText Transfer Protocol (HTTP) was developed to transfer documents between machines on the internet [Berners-Lee 1999]. Both specifications and implementations were made freely available by CERN.

    + +

    The web quickly gained momentum. With the launch of the National Center for Supercomputing Applications (NCSA) Mosaic browser in 1993 [Andreessen 1993a], users suddenly had an attractive browser to surf a steadily increasing set of interlinked documents. With an rising number of users, more authors were attracted to the web, and content proliferated.

    + +

    In the beginning, HTML, was a simple structured document format with markup tags added between text strings to indicate the role of the text. For example, a string of text could be marked as a paragraph, while another string could be marked as a clickable link. The elements in early HTML were logical rather than presentational. For example, HTML would mark some text as a heading but would not describe how the heading was to be presented. The presentation of text – including what font, color and size to use – was primarily determined by the browser.

    + + +

    Structure versus presentation

    + +

    Scientific environments such as CERN value logic, structure and content more highly than aesthetics, imagery and style. This sense of structure is reflected in HTML. Each paragraph is marked as such and headings are given a numbered level to indicate their place in the document structure.

    + +

    As the web attracted attention outside of scientific environments, authors started complaining that they did not have enough influence over the appearance of their pages. One of the most frequent questions asked by authors new to the web was how to change fonts and colors of elements. This excerpt from a message sent to the www-talk [www-talk] mailing list early in 1994 [Andreessen 1994a], gives a sense of the tension between authors and browser implementorsI have quoted from a message sent to a mailing list for the developer community in this chapter, and will do so many times in chapters to come. Mailing lists were crucial for bringing together the web community in the early years, and hypertext archives of mailing lists quickly sprang up in the early 1990s. Today, a decade later, these archives provide valuable insights to the web's design and development. :

    + +
    In fact, it has been a constant source of delight for me over the past year to get to continually tell hordes (literally) of people who want to – strap yourselves in, here it comes – control what their documents look like in ways that would be trivial in TeX, Microsoft Word, and every other common text processing environment: 'Sorry, you're screwed.'
    + +

    The author of the message was Marc Andreessen, one of the programmers behind the popular NCSA Mosaic browser. He later became a co-founder of Netscape which fullfilled authors' requests by introducing presentational tags in HTML. On October 13, 1994, Netscape announced [Andreessen 1994b] the first beta release of their browser. The Netscape browser supported a set of new presentational HTML tags (e.g. CENTER to center text) and more were to follow shortly.

    + +

    Abstraction levels

    + +

    By adding presentational tags to HTML, the language evolved from being an abstract, structured, markup language where authors marked the different logical roles of the text (paragraphs, headlines, lists and so forth) towards a concrete presentation language where emphasis is on the final form presentation of documents (fonts, colors and layout).

    + +

    In traditional paper-based publishing, the reader receives a final form product. Each letter on a printed page has a fixed position, shape, size and color that cannot be changed by the reader. Electronic documents, however, are unfinished products that must be assembled before they can be presented to the human reader. In the assembly process – better known as formatting – many choices of how to present the document are made. For example, the browser must pick the fonts and colors to use when presenting the document on a color screen. The level of processing that an electronic document needs will vary considerably depending on what document format is used. As such, electronic documents are similar to furniture: some furniture comes pre-assembled while other items are bought in flat packages and the owner must do the final assembly. If a document format requires much processing, it is said to have a high level of abstraction. If the document format needs little processing, it is said to have a low level of abstraction.

    + +

    Determining the right abstraction level is an important part of designing a document format. If the abstraction level is high, both the authoring process and the task of formatting the document become more complex. The author must relate to non-visible abstract concepts. On the receiving end, the browser must transform elements from abstract to concrete objects and this task is more complex if the elements are highly abstract. The benefit of a high abstraction level is that the content can be reused in many contexts. For example, a headline can be presented in large letters on printed sheets, and with a louder voice in a text-to-speech system.

    + +

    Conversely, a low level of abstraction will make the authoring and formatting process easier (up to a point). Authors can use visually oriented WYSIWYG (What You See Is What You Get) tools, and the browser does not have to perform extensive transformations before presenting the document. The drawback of using presentation-oriented document formats is that the content is not easily reusable in other contexts. For example, it can be difficult to make presentation-oriented documents available on a device with a different screen size, or to a visually impaired person.

    + +

    When transforming documents from one format to another, the chances are that the two formats are at different abstraction levels. In general, it is possible to transform documents from a higher to a lower abstraction level, but not the other way around. The ladder of abstraction is introduced in this thesis as a way of measuring the level of abstraction.

    + +

    Presentational HTML

    + + +

    The introduction of presentational tags in HTML was a downwards move on the ladder of abstraction. Several of the new elements (e.g., BLINK) were meaningful only for particular output devices (how is blinking text displayed in a text-to-speech system?). The creators of HTML intended it to be usable in many settings but presentational tags threatened device independence, accessibility and content reuse.

    + +

    The development of HTML into a presentation-oriented language also changed the power balance between authors and users. Structured documents must be formatted by the browser before presentation, and – to some extent – the formatting process can be influenced by the user. However, when the browser receives a document in its final form, the formatting process is complete and can no longer be influenced by the user.

    + +

    Web authors had asked for more influence over the document presentation and welcomed this development, but there was also resistance in the web community. Many felt that the web had the potential of realizing personalized publishing where the reader – rather than the publisher – was in control. Content should be selectable based on reader preferences, and the medium and form of presentation should also be the choice of the reader. By turning HTML into a presentation language there was a risk of losing the degrees of freedom necessary to realize a user-centric publishing model.

    + + +

    Style sheets

    + +

    Style sheets were proposed as an alternative to the evolution of HTML from a structural language to a presentational language. The term style sheet is used in traditional publishing as a way to ensure consistency [Chicago 1993] in documents. In the traditional publishing process, a manuscript is accompanied by a style sheet which serves as a running account of rules about diction and language usage adopted for a particular manuscript [Brüggemann-Klein&Wood 1992].

    + +

    In the 1980's, publishing changed dramatically with the introduction of personal computers for use in the preparation of manuscripts. Electronic publishing offered tools to ease all stages of publishing from authoring, through editing, to printing. In electronic publishing, the term style sheets came to mean a set of rules regarding how to present content, rather than rules for how to author content. Style sheets would be specified by the designer and sent to the typesetter before printing. Typically, they would describe the visual layout of a text-centric document, including fonts, colors and white space.

    + +

    In this thesis, the term style sheet refers to a set of rules that associate stylistic properties and values with structural elements in a document, thereby expressing how to present the document. Style sheets generally do not contain content, are linkable from documents, and they are reusable. This definition allows the term to be used in the context of electronic publishing both off and on the web.

    + +

    Style sheets were available in electronic publishing systems from around 1980 (see Chapter 2 and 3). Combined with structured documents, style sheets offered late binding [Reid 1989] of content and presentation where the content and the presentation are combined after the authoring is complete. This idea was attractive to publishers for two reasons. First, a consistent style could be achieved across a range of publications. Second, the author did not have to worry about the presentation of the publication but could concentrate on the content.

    + +

    Indeed, some authors found it liberating not having to worry about presentational details in the authoring process [Cailliau 1997]. However, most authors ended up using authoring systems which emphasizes the presentation rather than the structure [Sørgaard 1996].

    + +

    WYSIWYG – a competing model

    + +

    WYSIWYG – What You See Is What You Get – is a competing model for authoring documents. WYSIWYG applications constantly update a final form presentation. As the author types, the screen is updated to reflect the page layout that would result should the document be printed at that point.

    + +

    Instead of the late binding between presentation and content, employed by structured documents and style sheets, WYSIWYG offers instant binding; all editing operations result in instant visual changes to the final presentation. This approach often results in documents whose authors emphasize the final presentation – which is typically a printed document – rather than the logical markup.

    + +

    Several applications try to combine the concept of structured documents with WYSIWYG editing, including Adobe's FrameMaker [FrameMaker], Microsoft's Word [MS-Word] and W3C's Amaya [Amaya]. Typically, these applications offer the author several views of the document one of which is WYSIWYG and others that are more structural. This makes it possible to author structured documents with a WYSIWYG tool. There is a risk associated with using WYSIWIG tools, however: they also allow authors to make purely presentational modifications which may not be consistent with the document structure.

    + +

    Web characteristics

    + + +

    Research has shown that when documents are authored with the printed copy as the final target, it is difficult to motivate authors to work on a logical level rather than a visual level [Sandahl 1999]. With the emergence of the web, however, the possibilities for reuse of content increases. Instead of printing and distributing documents on paper, web documents are transferred electronically to the user's computer. The shift towards electronic distribution of documents has several key characteristics that influence both the authoring process and style sheet languages.

    + +
      + +
    • Late binding becomes later binding: On the web, documents are transmitted in electronic form to the user's computer. The late binding between content and presentation of electronic publishing becomes even later binding on the web. The binding no longer takes place in the publishing house but, rather, in the user's computer. This increases the freedom of the presentation but also poses a new performance challenge since the binding takes place while the user is waiting. Also, the author is not present to make sure that the presentation is correct.
    • + +
    • Paper-centric publishing becomes screen-centric: Before the advent of the web, most electronic documents ended up as printed documents. They were edited and processed on computer screens but, most often, the final media type was print. On the web, most users view documents on a screen.
    • + +
    • Single output becomes multiple outputs: Although screens are the primary media type on the web, many other types exist. Authors do not know what kind of output device will be employed by a user. There is no longer one final form presentation, there are many. Therefore, it is important that style sheets can describe presentations for multiple output devices.
    • + +
    • Author control becomes shared author/user influence: Since the binding between content and presentation takes place in the user's computer, influences from several sources may be combined to form a presentation. Given this freedom, it seems reasonable that the user – as well as the author – should be able to influence the presentation. Personalized presentations based on the needs and preferences of the user become possible. This is different from other publishing environments where authors and publishers have full control of the presentation.
    • + +
    • Stand-alone documents become hyperlinked: The web is a large collection of hyperlinked documents and information that was previously expressed as textual references can now be active hyperlinks.
    • + +
    • Dependable delivery becomes uncertain: Web resources are distributed across many connected computers and the chance of a resource not being available is significant. Another change is that the web is more likely to fail than are in-house publishing systems. It is natural to make the style sheet available on the web, but the resource may not always be available at the user's end.
    • + +
    + +

    Thus, with the introduction of the web the focus of style sheets is shifted from being an author's tool in the authoring process to being a tool for content reuse after the content has been generated. Style sheets on the web are potentially more important than are style sheets for paper-centric publishing because the possibility of content reuse is greater. Just as the nature of style sheets changed from paper-based publishing to electronic publishing, so has the nature of style sheets changed again for web publishing.

    + +

    Style sheet mechanisms for the web

    + +

    A crude form of style sheets was hard-coded into the first WWW client implemented on the NeXT machine at CERN. However, no specification for style sheets was written and no syntax for a style sheet language was proposed; it was considered a matter for each browser to decide how to best display pages to its users.

    + +

    The potential benefits of using style sheets on the web are significant. A well-developed style sheet mechanism would give authors a richer stylistic vocabulary than they could hope for in an evolving HTML. Also, HTML would remain a structured markup language that worked on a wide range of devices.

    + +

    For these reasons, many people on the www-talk mailing list [www-talk], which was the electronic meeting place for the early web community, agreed that the web could benefit from style sheets. However, there was disagreement as to whether or not the web would require a new style sheet language or if one of the existing languages, designed primarily for paper-based publishing, would be suitable.

    + +

    Several style sheet languages for the web were proposed in 1993 (see Chapter 4: Style sheet proposals for the web) but none of them gained momentum. This was mostly due to lack of support in browsers; as long as Mosaic – by far the most popular browser of its day – did not support style sheets there was little motivation for authors to write them. Also, none of the proposals were developed to a stable state. A successful style sheet language for the web had to be compelling enough both for browser developers to implement, and for authors to use.

    + +

    CSS

    + +

    Three days before Netscape announced their new browser, this author published the first CSS proposal (named Cascading HTML style sheets – a proposal) [Lie 1994] on the web. In addition to describing fonts, colors and layout of documents – which several proposals had done previously – CSS introduced new functionality to account for the differences in publishing imposed by the web. The concept of cascading allowed both authors and users to influence the presentation of a document:

    + +
    The proposed scheme supplies the brower with an ordered list (cascade) of style sheets. The user supplies the initial sheet which may request total control of the presentation, but – more likely – hands most of the influence over to the style sheets referenced in the incoming document.
    + +

    Negotiating between the needs and wishes of readers and authors was one of the main ambitions of CSS. If successful, authors would get their fair share of influence over the presentation and would not feel compelled to use presentational HTML and other tricks. Readers, on the other hand, would be served documents in a form in which they could choose between accepting the author's suggested presentation or specify their own.

    + +

    In many cases there would be no conflict between the author and the reader. Neither would want to specify the presentation of the document. In such cases, it is important for the browser to have a default style sheet that describes a default presentation of HTML documents. CSS, therefore, defines three possible sources for style sheets: authors, readers, and browsers. CSS is able to combine style sheets from these sources to form the presentation of a document. The process of combining several style sheets – and resolving conflicts if they occur – is known as cascading.

    + +

    The CSS development

    + +

    The first CSS proposal was put forward in the spirit of open exchange of ideas on how the web should develop, and discussions took place on public mailing lists. A number of people responded to the proposal [Bos 1994][Behlendorf 1994][Wei 1994] and the draft was developed further. During the course of 1995, approximately eight revisions were published. The last of these, published in December 1995, was declared to be stable and browser vendors were encouraged to use it as a base for implementations [Lie 1996].

    + +

    With a few minor exceptions, the syntax from the draft of December 1995 has remained stable and the first section of the specification can still serve as an introduction to CSS:

    + +
    Designing simple style sheets is easy. One only needs to know a little HTML and some basic desktop publishing terminology. E.g., to set the text color of 'H1' elements to blue, one can say: + +
      H1 { color: blue } 
    +
    + +The example consists of two main parts: selector ('H1') and declaration ('color: blue'). The declaration has two parts, property ('color') and value ('blue').
    + +

    The CSS1 specification became a W3C Recommendation [CSS1 1996] in December 1996. In May 1998 CSS2 became a W3C Recommendation [CSS2 1998]. Chapter 6 (Cascading Style Sheets) describes the development of the Recommendations in more detail.

    + +

    A decade after the first CSS proposal was published, all major web browsers support CSS and a majority of web pages use CSS. It may still be too early to fully evaluate CSS and its impact on the web, but it possible to study the design of CSS and compare it with other style sheet languages and style sheet language proposals.

    + +

    Summary and conclusions

    + +

    This chapter introduces some of the key concepts of this thesis. HTML was developed as a simple structured document format for the web. As web authors requested more presentational influence over their documents, HTML started developing into a presentational rather than a structural language. To stop this downwards slide on the ladder of abstraction, CSS was developed as a style sheet language for the web. Style sheets have been part of electronic publishing systems since around 1980. On the web, the focus of style sheets is shifted from being a tool in the authoring process to being a tool for content reuse after the content has been generated.

    + +

    The thesis explores in more detail why the web requires style sheet languages different from those in other kinds of publishing, and how such a language can be designed. Before doing so, however, it is necessary to discuss two other topics. First, structured documents must be understood since style sheets are applied to structured documents. Second, style sheet languages developed before the advent of the web must be researched to determine if any of these languages are suitable for use on the web. This is done in Chapter 2 and Chapter 3, respectively.

    +
    + +
    +

    Structured documents

    + +

    Style sheet languages and structured document formats are mutually dependent on each other. Without style sheets, structured documents cannot be presented, and without structured documents there is nothing for style sheets to present. Due to the strong relationship between the two, it is important to understand structured documents when studying style sheet languages. Some structured document systems that have been most influential on style sheet languages are discussed in this chapter.

    + +

    In a seminal work titled Structured Documents [André, et al. 1989], the topic is defined as:

    + +
    A document may be described as a collection of objects with higher-level objects formed from more primitive objects. The object relationships represent the logical relationships between components of the document. For example, the present document is described as a book at the highest level. The book is subdivided into chapters, each chapter into sections, subsections, paragraphs, and so forth. Such a document organization has come to be known as the structured document representation.
    + +

    One important feature of the structured document representation is that it has a certain level of abstraction. The level of abstraction is especially important when the structured document is combined with a style sheet to form a presentation. Therefore, the first part of this chapter discusses abstraction levels in structured documents and proposes a ladder of abstraction to measure the level of abstraction in web document formats.

    + +

    The second part of the chapter describes seminal structured document systems, namely Scribe; LaTex; Open Document Architecture (ODA); Standard Generalized Markup Language (SGML); HyperText Markup Language (HTML); and Extensible Markup Language (XML). Each of the systems is briefly described historically and technically with special emphasis on their relationships with style sheet languages.

    + +

    A third part discusses the relationship between transformation languages and style sheet languages on the web.

    + +

    Abstraction levels

    + +

    In his book, Language in Action, Hayakawa [Hayakawa 1940] introduces the notion of a linguistic ladder of abstraction. At the bottom of the abstraction ladder is an object. As an example, Hayakawa uses a cow named Bessie. The cow is composed of muscle, bones, skin and other biological parts. As the first step up the ladder, we disregard the biology inside the cow but retain its physical properties – for example its color, size and shape – and we call it Bessie. Bessie is just one of many objects that can be classified as cows. On the farm where Bessie lives, there are many other kinds of animals that can all be referred to as livestock. The climb up the ladder of abstraction can continue to farm assets and wealth. This concept is illustrated in Figure 1.

    + +
    + +

    The ladder of abstraction.

    + +

    The ladder of abstraction. Illustration reprinted from Hayakawa [Hayakawa 1940].

    +
    + + +

    A similar example of abstraction levels can be found in the field of computer networking. In 1983, the International Standards Organization (ISO) developed a network model called Open Systems Interconnection (OSI) Reference Model which defined a framework of computer communications. The ISO/OSI Reference Model has seven layers, each of which has a different level of abstraction. The seven layers are: physical, data link, network, transport, session, presentation and application.

    + +

    I believe the notion of an abstraction ladder is useful when evaluating document formats. How high a certain document format is on the ladder will determine the complexity of formatting the document into a presentation. Since the formatting of a document is specified by a style sheet, the abstraction level is a crucial feature for the success of style sheets.

    + +

    The vertical nature of a ladder corresponds to how one describes abstraction levels as high or low. Typical characteristics of document formats that are high on the ladder of abstraction are:

    + +
      + +
    • The information needs processing in order to be presented. For example, in order to render an HTML document visually, the words must be broken into lines, fonts must be selected, and the characters must be turned into rasterized glyphs.
    • + +
    • The information can be processed and presented in many different ways. Presenting a document visually is only one of several possibilities; others include aural renderings and braille embedding.
    • + +
    • The information is represented in a compact manner. Representing a character with an eight-bit code is more compact than representing an image of the same character.
    • + +
    + +

    Conversely, documents written in formats that are low on the ladder of abstraction need less processing in order to be presented, they have less flexibility of presentation, and they are less compact.

    + +

    Another important observation is that it is generally possible to transform documents downwards on the ladder but much more difficult to move the other way [Lie&Saarela 1999]. For example, graphical web browsers – in collaboration with the windowing system – rasterize HTML documents into pixels and thereby move information downwards on the ladder of abstraction. Optical Character Recognition (OCR) software attempts to climb the ladder by turning images into text, but OCR systems only work under certain conditions and are prone to errors. Similarly, it is impossible to devise an algorithm that converts documents written in a Turing-complete language due to the halting problem [Connolly 1994a].

    + +

    In the context of web document formats, I believe the following criteria can be used to establish the steps in the ladder of abstraction:

    + +
      + +
    • Is the text human-readable? That is, if the document is presented to a human reader, will he/she be able to read the document?
    • + +
    • Is the text machine-readable? That is, does the format have a notion of numbered characters, or does it represent text as images – in which case the text is not available.
    • + +
    • Is the logical order of text preserved? That is, do documents written in the format have a notion of the logical reading order of the content?
    • + + +
    • Is the document scalable? That is, can the document be zoomed in without introducing visible artefacts?
    • + +
    • Is reflow possible? That is, can text be reflowed into lines, columns and pages of different dimensions?
    • + +
    • Can the roles of the various text elements be represented? For example, can the author mark part of the text as a headline, a paragraph, or perhaps as the name of a variable in a computer program? Being able to distinguish between these roles is important. When making documents available in braille, for example, some text should be contracted (e.g. headlines), while other text should not (e.g. variable names) [Lorimer 1996].
    • + +
    • Is the format device-independent? That is, can documents written in the format be rendered into many different devices (e.g. printers, screens, braille printers, and text synthesizers) or are documents intended for a single type of device?
    • + +
    • Does the format contain application-specific semantics? HTML is a general document format that does not attempt to describe semantics from more specialized fields, e.g. mathematics and chemistry, and therefore does not contain application-specific semantics. Formats that contain application-specific semantics tend to be higher on the ladder of abstraction.
    • + +
    + +
    +

    A comparison of document formats on the ladder of abstraction.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    GIF, PNGprivate XML
    +vocabulary
    PDFXSL-FOHTMLMathML
    application-
    +specific semantics?
    nononononoyes
    device-independent?nonononoyesyes
    roles known?nonononoyesyes
    text in logical order?unknownunknownnoyesyesyes
    reflow possible?nounknownnoyesyesyes
    scalable?nounknownyesyesyesyes
    text machine-readable?noyesyesyesyesyes
    text human-readable?yesyesyesyesyesyes
    +
    + +

    Table 1 shows the relative positions of various document formats on the ladder of abstraction. Some notes to the table:

    + +
      + +
    • GIF [GIF 1990] and PNG [PNG 1996] are bitmap image formats rather than document formats, but images are often used to represent documents. Fax transmission is a common example outside the web.
    • + +
    • PDF [Adobe 1993] is a document format developed by Adobe Systems. PDF is a presentation-oriented format and has no concept of, for example, paragraphs and headings. Many users have discovered this when trying to copy content from PDF documents laid out in several columns. When selecting text, the selection will span across multiple columns and thereby mix text from several parts of the document into the same selection. Recent versions of PDF have introduced functionality to retain a document's logical structure in PDF [Adobe 2001].
    • + +
    • XSL-FO refers to a document consisting of formatting objects as defined in the XSL Recommendation [XSL 2001]. XSL-FO is discussed later in this chapter.
    • + +
    • XML [XML 1998], in which several of the emerging formats are written, is also included in the table and refers to documents published using private XML vocabularies where the semantics are not universally known.
    • + +
    • The rating of HTML is based on a best-case scenario where the author makes use of semantic elements and does not alter the reading order of elements by using features such as positioning or tables. It may be argued that most HTML documents do not follow these conventions.
    • + +
    • MathML is a W3C Recommendation for mathematical notation [MathML 1998].
    • + +
    + +

    Having established the ladder of abstraction as a measuring tool for structured document formats, the next section discusses structured document systems in more detail.

    + +

    Structured document systems

    + +

    Beginning around 1980, there was an active research community in the field of electronic publishing and structured documents. The community published their results in the proceedings of the Electronic Publishing conferences, in the journal Electronic Publishing – Origination, Dissemination and Design [Electronic Publishing], and Cambridge University Press published a series of books on the topic. Richard Furuta lists many of the important works in Important papers in the history of document preparation systems: basic sources [Furuta 1992].

    + +

    The researchers generally agreed on the benefits of vendor-neutral document formats to facilitate document exchange. The benefits of structured documents were also well understood. There were, however, several approaches to structured documents, and competing formats were developed. This section describes and discusses four of them.

    + +

    One line of development started in the late 1970's when Brian Reid developed Scribe [Reid 1980]. Scribe pioneered the notion of structured documents and enforced a distinction between logical markup and presentational templates in the authoring process. The Scribe philosophy was continued in Leslie Lamport's LaTeX which was first released in 1985 [Lamport 1986]. LaTeX is a macro package on top of Donald Knuth's TeX program which serves as the low-level formatter [Knuth 1984].

    + +

    Open Document Architecture (ODA) is a set of ISO standards to facilitate the electronic exchange of documents [ODA]. ODA documents can represent both the logical and the presentational representation of a document.

    + +

    Standard Generalized Markup Language (SGML) [SGML 1986] and its predecessor GML were developed by Charles Goldfarb and colleagues during the 1970s and 1980s [Furuta, et al. 1982]. SGML became an ISO standard in 1986.

    + +

    These six systems (Scribe, LaTeX, ODA, SGML, HTML and XML) are described in this section. Before discussing each one, it may be helpful to informally list the perceived ambitions and achievements of the six systems. see Table 2.

    + +
    +

    The ambitions and achievements of the six different structured document systems.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Is primarily a system to define new languages?Has notion of document semantics?Has notion of document presentation?Enco-
    +ding
    ReferenceLevel of comp­lexityMain achieve­ment
    Scribenoyesyestextimplementationmoderateinspired LaTeX
    LaTexnoyesyestextimplementationmoderatede facto format in scientific publishing
    ODAnoyesyesbinaryspecificationhighbecame ISO standard
    SGMLyesnonotextspecificationhighbecame ISO standard, inspired HTML and XML
    HTMLnoyessometextspecification & implementationmoderateuniversally understood hypertext format
    XMLyesnonotextspecificationmoderatesyntactic basis for emerging formats
    +
    + +

    For a more formal taxonomy of document formats, see The Origin of (Document) Species [Khare&Rifkin 1998].

    + +

    In addition to the achievements listed in Table 2, all systems should be credited for having inspired authors and programmers to see the benefits of structured documents.

    + +

    The discussions of the various structured document systems below do not follow a strict pattern. The systems vary widely in how well they are understood, how much use they have seen, and how much information is currently available about each system. The primary goal of the descriptions is not to perform a comparative analysis, but rather to discuss aspects of these languages which this author finds interesting in the context of style sheets. +

    + +

    Scribe

    + +

    The Scribe system was developed in the late 1970s by Brian Reid at Carnegie-Mellon University [Reid 1980]. Scribe is noteworthy for pioneering the structured approach to authoring. It encourages authors to work with predefined logical objects, and authors typically produce documents in their final form without having to specify any of the formatting.

    + +

    The Scribe system changed somewhat over the years. The discussion in this chapter is based on Scribe as described in Scribe Introductory User's Manual from 1980 [Reid&Walker 1979]. The description attempts to give a general overview of Scribe, and not all features are discussed.

    + +

    A simple document

    + +

    A Scribe document can be remarkably simple:

    + +
    @Make(Text)
    +@Device(Diablo)
    +@Heading(Comrades and Strangers)
    +
    + +

    The example above uses three key concepts of Scribe: document types, commands, and formatting environments. The first line chooses a particular document type (Text) from a set of different document types. The second line is a command which specifies that the document should be printed on a specific device. The third line specifies that a certain string (Comrades and Strangers) is the heading of the document.

    + +

    Document types

    + +

    An installation of Scribe comes with a database of document types. The Scribe documentation lists 11 different document types: Text (which is default), Article, Report, Manual, Thesis, Brochure, Guide, Letter, Letterhead, ReferenceCard, and Slides. A Scribe document typically starts by selecting which document type to use:

    + +
    @Make(Thesis)
    +
    + +

    The system administrator of the Scribe installation is expected to change the database to fit local needs. For example, the formatting requirements of a dissertation vary from one university to another, and the differences can be accounted for in the Thesis document type. In theory, authors can write their dissertations without thinking about the formatting requirements and can concentrate rather on the content.

    + +

    Document types influence both the content model and the presentation of a document. For example, the Thesis document type allows and expects the TitlePage and various other environments to be used:

    + +
    @Make(Thesis)
    +@Device(Diablo)
    +@Begin(TitlePage)
    +  @TitleBox(Comrades and Strangers)
    +  @CopyrightNotice(Michael Harrold)
    +@End(TitlePage)
    +
    + +

    It is possible for authors to change both the content model and the presentation of their own documents, but doing so is cumbersome. Scribe encourages a mode where a local administrator maintains control over – and responsibility for – the various document types that are used in the organization. + +

    + +

    Scribe commands

    + +

    In addition to the content itself, a Scribe source file contains Scribe commands. These correspond to what is known as markup in SGML/HTML/XML terminology. There are approximately 35 commands. They can be divided into five main groups:

    + +
      + +
    • Classification commands: @Begin and @End are used to mark the start and end of environments, and @Make is used to declare a document type.
    • + +
    • Variable commands: To handle counters (@Set, @Tag), cross-references (@Ref), and string variables (@String, @Value) that are expanded into, for example, date and username.
    • + +
    • Visual commands: To mark page breaks (@NewPage), add vertical spacing (@BlankSpace), handle tab stops (@Tabset, @TabDivide, @TabClear) or change style (@Style) or font (@SpecialFont).
    • + +
    • Out-of-flow content commands: To label certain out-of-flow content, for example footnotes (@Foot), running headers (@PageHeading) and footers (@PageFooting).
    • + +
    • System commands: To import other files (@Import), specify the output device (@Device), and output a message on the console (@Message).
    • + +
    + +

    The classification of commands into groups is done by this author.

    + +

    The Scribe documentation describes commands as non-procedural. However, some of the commands are arguably procedural, most notably @BlankSpace and @NewPage. In a structured approach, page breaks are attached to structured elements (e.g. a heading) rather than using a separate command.Scribe also supports the structured approach through the Pagebreak environment Attribute.

    + +

    Likewise, the @Style and @SpecialFont commands, which are used to set stylistic and font preferences, can be questioned since they are not attached to structured elements.

    + +

    Another command that is easily challenged is @Device, which is used to specify the printing device for the output. Web authors will not know what printing device (if any) the user has. Scribe, however, was used mostly with paper as the final form, and including commands like @Device is a pragmatic choice.

    + +

    Formatting environments

    + +

    The most frequently used commands in Scribe are @Begin and @End which, respectively, mark the beginning and end of formatting environments. A formatting environment corresponds roughly to an element in SGML/HTML/XML terminology, and the @Begin and @End commands correspond to tags. Formatting environments are also referred to as named formatting environments or just environments. Here is a simple fragment from the Scribe documentationThe quote is from Oscar Wilde: The Soul of man under Socialism, 1895: +

    + +
    @Begin(Quotation) 
    +On mechanical slavery, on the slavery of the machine, 
    +the future of the world depends.
    +@End(Quotation)
    +
    + +

    Text inside the Quotation environment is given extra space on all sides. Text can also be placed in environments through a shorthand syntax:

    + +
    @Quotation(On mechanical slavery, on the slavery of the machine, 
    +the future of the world depends.)
    +
    + +

    Environments can be nested inside each other:

    + +
    @Quotation(On mechanical slavery, on the slavery of the @i[machine], 
    +the future of the world depends.)
    +
    + +

    The example above also shows how different pairs of characters can be used in delimiters. The outer delimiters use () characters, while the inner delimiters use [].

    + +

    All Scribe systems offer a common set of environments for authors to use. See Table 3.

    + + + +

    Keeping in mind how important Scribe has been in the promotion of logical markup, it is noteworthy that around half of the environments have presentational rather than logical roles.

    + +

    Not all structure in a Scribe document must be marked up explicitly. Scribe is able to identify paragraphs from the white space in the source document. Consider this example:

    + +
    @begin(enumerate)
    +The first item of three.
    +
    +The second item. 
    +
    +The last item.
    +@end(enumerate)
    +
    + +

    The resulting enumerated list consists of three items. The Multiple environment can be used to override the automatic structure detection:

    + +
    @begin(enumerate)
    +The first item of three.
    +
    +@begin(multiple)
    +The second item. 
    +
    +The second item has two paragraphs.
    +@end(multiple)
    +
    +The last item.
    +@end(enumerate)
    +
    + +

    One benefit of automatic structure detection is that markup in source documents can be minimized. +

    + +
    +

    Common environments offered in Scribe.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EnvironmentCorresponding HTML elementCorresponding CSS functionalityComment
    BBfont-style: bold
    Cfont-style: small-caps
    CenterCENTERtext-align: center
    DescriptionDLthis environment seems to provide formatting similar to HTML's DL element
    Displaythis environment honors line breaks and adds extra left margin
    EnumerateUL
    ExamplePREadds extra margins
    FileExamplePRE
    FlushLefttext-align: left
    FlushRighttext-align: right
    Formatuse for tabular formatting
    Guses a Greek font
    Grouppage-break: avoid
    HeadingH2
    II
    ItemizeUL
    MajorHeadingH1
    MultipleDIVsee example below.
    Otext-decoration: overline
    PBIfont-weight: bold; font-style: italic
    ProgramExamplefor examples of computer programs and uses fonts accordingly
    QuotationBLOCKQUOTEmargin: 1emadds margins on all sides
    Rfont-family: serifordinary roman typeface
    SubheadingH3
    Tttfont-family: monospace
    TextThe default environment
    UUtext-decoration: underlineunderlines all nonblank characters
    UNunderline letters and digits only
    UXunderline all characters, including spaces
    Verbatimused for tabular formatting with monospace fonts
    Verseintended for poetry and other text where white space should be honored
    Wwhite-space: nowraptreats text as one word, i.e., an unbreakable sequence of characters
    +
    + + + +

    Changing and adding environments

    + +

    As mentioned above, the Scribe database of document types and formatting environments is maintained by a system administrator. However, an author can also change or add environments to fit his needs. Here is a simple example:

    + +
    @Modify(Description, Leftmargin 0.5in, Indent -0.5in)
    +
    + +

    In the above example, the left margin and indentation of the Description environment are changed. The @Modify command must appear in the beginning of the document. New environments can also be defined:

    + +
    @Define(InsetHead=Subheading, Leftmargin 0.5in)
    +
    + +

    In the above example, the InsetHead environment is created. It copies all properties from Subheading except for the left margin. Environments can also be created from scratch. The documentation discourages this but specifies the general form:

    + +
    @Define(Newname, <list of attribute-value paris>)
    +
    + +

    Also, the documentation lists the set of around 40 properties that define the presentation of environments.

    + +

    In effect, the definition of environments in Scribe encompasses both style sheets and SGML's Document Type Definition (DTD) in one.

    + +

    Scribe in context

    + + + +

    Scribe pioneered the distinction between structure and style and allowed authors to write documents without thinking about the formatting of the documents. The database of document types and formatting environments is maintained by a system administrator, but authors who want to modify environments or add their own are free to do so. As such, Scribe offers the best of HTML (there is a default set of tags and conventions on how to present them), CSS (there is a default set of presentational conventions that can be modified), and XML (new elements can be created). As such, Scribe may have been a better inspiration for HTML than SGML. It is also noteworthy that Scribe provided this functionality more than 15 years before it became available to authors on the web.

    + +

    Scribe is no longer available for authors to use, but the historical impact of Scribe on the development of structured documents is significant. There are no references to Scribe in W3C's overview of historical systems influencing the the development of HTML [W3C 2003], but the developers of SGML do reference Scribe [Goldfarb 1991] which makes it an indirect influence. Scribe's greatest achievement may have been its influence on LaTeX. Leslie Lamport, who created LaTeX, mentions Scribe in the first edition Lamport removed the reference to Scribe in the second edition of his book for legal reasons. He writes I removed all mention of Scribe in the 2nd edition of the LaTeX book because I was informed that the person who bought Scribe from Brian Reid would have loved to find someone he could sue for infringing Scribe's patents or copyright or whatever. I disliked not crediting Brian, but I didn't want to tempt the legal fates. [Lamport 1986]. of his book [Lamport 2003]:

    + +
    Fundamental to LaTeX is the idea of a document style that determines how the document is to be formatted – an idea stolen from Brian Reid's Scribe text formatting system.
    + +

    LaTeX is discussed in the next section.

    + +

    LaTeX

    + +

    The TeX typesetting system was developed by Donald Knuth for the creation of beautiful books [Knuth 1984]. The work was started in the late 1970s and TeX became the preferred format for scientific publishing in the 1980s. Designed by a mathematician, TeX has special features for formatting mathematics but its formatting model is suitable for many types of documents. TeX has been used primarily in environments where paper is the final target. Commands in TeX typically describe spatial relationships between elements and thus are presentational. Here is a simple TeX fragment:

    + +
    {\narrower\smallskip\noindent
    +This paragraph will have narrower lines than surrounding paragraphs.
    +\smallskip}
    +
    + +

    Many of the commands in TeX are macros that are expanded into basic commands by the TeX interpreter. TeX allows users to create their own macros, and several macro packages for TeX have been published. LaTeX is one such macro package which enables authors to create structured document formats.

    + +

    LaTeX's author, Leslie Lamport, was a Scribe user who wanted to make LaTeX a sort for Scribe on top of TeX [Lamport 2003]. Many of features in LaTeX were copied from Scribe but, as LaTeX developed, some Scribe features were dropped and some new functionality was added. Here is a simple LaTeX fragment:

    + +
    \documentclass{book}
    +  \title{Comrades and Strangers}
    +  \author{Michael Harrold}
    +\begin{document}
    +  \maketitle
    +  \chapter{Red Carpet in Paradise}
    +\end{document}
    +
    + +

    The first line in the above example declares that the document will eventually become a book. Other document classes include: report, letter, article and slides. The choice of document class will influence the final presentation of the document, as well as the type of elements (or environments as LaTeX and Scribe calls them) that are available. For example, the chapter element, used further down, is available in a book but not in an article. The next two lines declare the title and author of the publication. The first part of the code – until the document itself starts – is called the preamble and is similar to the HEAD element in HTML.

    + +

    The document body is contained in the document environment. The \maketitle command is a common way to start documents; depending on the class of document and the meta-information declared in the preamble, a proper title will be generated. The last element in the above example is a chapter heading.

    + +

    There are many similarities between Scribe and Latex:

    + +
      + +
    • Like Scribe, LaTeX's functionality can be grouped into three: document classes (called document types in Scribe), commands and environments (also called formatting environments in Scribe).
    • + +
    • Many of the environment names are the same, for example: enumerate, itemize, quotation, description, verbatim, center, flushleft and flushright.
    • + +
    • Both languages are tied to a specific formatter and have not been proposed as candidates for standardization.
    • + +
    • Both Scribe and LaTeX provide a base set of document classes and environments that can be extended by local system administrators or authors.
    • + +
    • The ambitions of the two systems are roughly the same: It should be possible to author structured documents without having to describe the presentation of documents, while still having the documents printed neatly onto paper in the end.
    • + +
    + +

    There are also notable differences between the two systems:

    + +
      + +
    • The syntax is different; LaTeX uses different delimiters than does Scribe.
    • + +
    • LaTex offers access to TeX commands. This makes it possible to control the formatting of document at a very low level, but it also makes it difficult – if not impossible – to convert LaTex documents into other formats.
    • + +
    + +

    LaTeX has been a highly successful authoring system that has seen much use, primarily in academic environments. Due to its success, LaTeX has probably done more for structured documents than any other language, bar HTML. +

    + +
    +

    Open Document Architecture (ODA)

    + +

    Open Document Architecture is a set of ISO standards that describe formats for representing and exchanging structured documents. The efforts started out under the name Office Document Architecture in the 1980s, and the name changed to Open Document Architecture in the 1990s when results of the efforts were published as ISO standards [ODA][Appelt 1991][Rosenberg et al. 1991].

    + +

    Like ISO's OSI [OSI] model, ODA has been highly influential without having seen much use itself. ODA, along with the other systems described in this chapter, championed the idea of separating the logical representation of content from its physical presentation. However, ODA went several steps further than the other systems. Unlike SGML and XML, ODA also describes the presentation of documents. Compared with LaTex, Scribe and HTML, ODA goes further by, for example, also standardizing image formats.

    + +

    ODA was developed by an industrial consortium where, among others, IBM, DEC, Unisys, Bull and Unisys were members. Also, many researchers in academic institutions took part in the development of ODA. Around 1991 the community was highly optimistic about the future of ODA [Sherman 1991]:

    + +
    ODA is one of the application-layer standards in the OSI model that is starting to grow and flourish. ODA is being adopted in a variety of other standards to meet an enlarging set of needs.
    + +

    However, ODA never became the success that its proponents hoped for, and was never used beyond pilot projects. There are several reasons for this. First, ODA is a complex set of specifications. It is difficult to understand the specifications and it is difficult to write software to support them. Second, ODA and SGML were perceived to be in competition with each other and the structured documents community never fully backed ODA. The difference in scope between ODA and SGML is significant: ODA is a document format that describes the syntax, structure and presentation of documents, while SGML is a system for defining the syntax of markup languages. Still the two were perceived to be in conflict with each other [Watson&Davis 1991]. Below is a retrospective remark made by the chair of the committee (ISO JTC1 SC) which defined the SGML standard [Mason 2001]:

    + +
    The SGML/ODA Wars occupied entirely too much of our time and promoted an atmosphere of paranoia on the parts of several of our members. In the long run, ODA died and SGML won, but by then the forces that led to XML were already pushing people out of SC34. The technical effect on SGML was mixed: it brought us both CONCUR and Architectural Forms. The human effect was much more harmful.
    + +

    The fact that ODA has never been used makes it difficult to review. Few ODA documents have been created because the software to do so was never written. Unlike the other systems described in this chapter, ODA uses a binary encoding and examples are therefore hard include in textual descriptions of the standards. Also, ODA is hard to review since the specifications are not freely available.

    + +

    Instead of attempting a scholarly review of ODA, I note its role in history and challenge researchers after me to do the review I believe ODA deserves.

    +
    + + +

    Standard Generalized Markup Language (SGML)

    + + +

    As mentioned in the previous section, the Standard Generalized Markup Language (SGML) is not a document format. Instead, SGML is a system which is used to create new document formats. In other words, SGML is not – despite its name – a markup language in itself, but is used to define other markup languages.

    + +

    The first working draft of SGML was published in 1980 [SGMLUG 1990] and SGML became an ISO standard in 1986 [SGML 1986].

    + +

    SGML is based on GML (Generalized Markup Language) which was developed at IBM over a period of years in the early to mid 1970s [Furuta, et al. 1982]. In [SGMLUG 1990] the people and motivation behind GML is described:

    + +
    Together with Edward Mosher and Raymond Lorie [Charles Goldfarb] invented the Generalized Markup Language (GML) as a means of allowing the text editing, formatting, and information retrieval systems to share documents
    + +

    GML became available for general use in 1978 [Furuta, et al. 1982]. A GML document looks quite different from an SGML document due to the former not using the now familiar angle brackets to denote tags. Here is a simple fragment from [Furuta, et al. 1982]:

    + +
    :body.
    +:h2.The Formatting Problem
    +:p.In order to discuss formatters and their functions...
    +
    + +

    One of the GML creators, Charles Goldfarb, continued the work towards SGML [SGMLUG 1990]:

    + +
    After the completion of GML, Goldfarb continued his research on document structures, creating additional concepts, such as short references, link processes, and concurrent document types, that were not part of GML but were later to be developed as part of SGML.
    + +

    It is noteworthy that none of the SGML features mentioned in the above quote has seen much use. One of them, the LINK feature (described below), was motivated by the need to compete with ODA by offering a way to attach presentational information to documents.

    + +

    SGML is a complex standard and it is beyond the scope of this thesis to give an overview of all features. Below is a description of three features that are interesting in the context of style sheets; all three features can potentially carry stylistic information. + +

    + +

    Document Type Definition (DTD)

    + +

    A Document Type Definition (DTD) is a set of rules defining the syntax of a markup language. DTDs are central to SGML and all SGML-based markup languages have a DTD which describes elements, attributes, and entities – and the relationship between them. Here is a simple fragment from the HTML4 DTD:

    + +
    <!ELEMENT UL - - (LI)+>
    +
    + +

    In the above example, the UL element is declared to require start and end tag (the two dashes, respectively), and the content model is set to (LI)+. The content model describes what kind of content is allowed within the declared element. In the above example, the plus sign indicates that UL elements can contain one or more LI elements. The fragment below adds more information about the LI element:

    + +
    <!ENTITY % inline "A | #PCDATA">
    +<!ELEMENT LI - O (%inline)*>
    +
    + +

    The first line of the above example declares an entity referred to in the second line: the LI element must have a start tag, but the end tag is optional. The LI element contains inline content, which – according to the first line – is A elements or #PCDATA. #PCDATA means textual content.In HTML4, the content model for the LI is slightly more complex.

    + +

    The DTD is also used to declare attributes on elements.

    + +

    The HTML4 DTD uses entity names like heading, inline and block to group various elements. These names, however, do not signify any meaning; from SGML's perspective they are random strings. In the minds of the DTD creators, however, the names have a meaning that conveys logical roles as well as presentational information.

    + +

    Although DTDs, by design, only convey information at a syntactical level, one could easily envision adding presentational information there. For example, this extended syntax would describe the content model, along with information about preferred fonts:

    + +
    <!ELEMENT UL - - (LI)+ 11pt sans-serif>
    +
    + +

    The Scribe system, as discussed above, takes this approach when defining new environments. Also, the SSP style sheet proposal, discussed in Chapter 4, combines presentational and syntactical information in one.

    + +

    Processing Instructions

    + +

    A Processing Instruction (PI) is a syntactic construct in SGML that can be used to hold information about how the document should be processed, including how it should be formatted. In a message to www-talk [Connolly 1994b], Dan Connolly proposed to use PIs to describe the formatting of HTML documents:

    + +
    I suggest we introduce a whole set of processing instructions so that folks can mark up the formatting of their document without affecting the structure. For example, rather than the <BR> element, I'd suggest a <? linebreak> processing instruction, and a &br; entity as a shorthand form.
    + +

    SGML puts few restrictions on the content of processing instructions, and a wide range of processing instructions are possible:

    + +
    <? the next element should be green  >
    +<? background=white >
    +<? p { color: black } >
    +
    + +

    A W3C Recommendation describes how PIs can be used to link to style sheets from XML documents. See the section on XML below.

    + +

    LINK

    + +

    The SGML specification defines two types of LINK features: implicit LINKs and explicit LINKs. The latter are poorly understood and the discussion in this section pertains only to implicit LINKs.

    + +

    Like processing instructions, the LINK feature was added to aid the processing of SGML documents. Like PIs too, one of the uses for the LINK feature is to add formatting information to SGML documents. There are, however, several differences between PIs and LINKs:

    + +
      + +
    • LINKs are placed in separate external link declarations, rather than being embedded into the document.
    • + +
    • LINKs define the processing of a certain element, rather than just being a placeholder for any processing information.
    • + +
    + +

    The main purpose of the LINK mechanism is to attach attributes to elements. Here is a simple excerpt from a link declaration:

    + +
    <!LINK #INITIAL  table [ ALIGN="right" ]>
    +
    + +

    The link declaration above would add the ALIGN="right" attribute to all table elements. +

    + +

    A slightly more advanced example shows how LINKs can be used to add attributes in a contextual manner:

    + +
    <!LINK #INITIAL  ul  #USELINK uldef
    +                    ol  #USELINK oldef>
    +<!LINK uldef     li  [ mark="bullet" ]>
    +<!LINK oldef     li  [ mark="digit" ]>
    +
    + +

    Consider this simple document:

    + +
    <UL>
    +  <LI>number unknown
    +    <OL>
    +      <LI>number one
    +      <LI>number two
    +    </OL>
    +</UL>
    +
    + +

    When the link declaration above is applied to the above document, it produces the following document:

    + +
    <UL>
    +  <LI mark="bullet">number unknown
    +    <OL>
    +      <LI mark="digit">number one
    +      <LI mark="digit">number two
    +    </OL>
    +</UL>
    +
    + +

    As can be seen from the example above, the LINK feature has some of the properties of a style sheet language (namely syntax and selectors, as described in Chapter 3). Also, the LINK feature is a generic mechanism that can be used to distribute any kind of information as long as the information can be represented in attributes. However, the LINK feature lacks a notion of formatting. For example, no properties, values or formatting model are proposed. Therefore, the LINK feature cannot be considered a style sheet language.

    + +

    SGML in context

    + +

    SGML is one of the standards that has most influenced the web, and both XML and HTML owe much of their design to SGML. SGML successfully brought important issues regarding document authoring, storage and exchange formats to the attention of the information technology communities. Especially, SGML emphasized:

    + +
      + +
    • logical markup, rather than procedural markup; and
    • + +
    • that information storage and exchange formats must be separated from software and hardware to ensure that data will survive computer systems.
    • + +
    + +

    Outside of a limited community, however, SGML never became the success that its proponents hoped for. This author believes there are several reasons for this:

    + +
      + +
    • The SGML standard became too complex. The SGML handbook, which is an annotated version of the SGML standard, has 664 numbered pages [Goldfarb 1991]. Though this includes tutorials and other non-essential texts, it is yet an indication of how the complexity of SGML. Only a handful of experts are able to read and understand the full SGML specification. In addition to not being understood, many of the advanced features were not supported by implementations.
    • + +
    • SGML only partially solved the problems for which its users needed solutions. It can successfully define markup languages, but few people actually do this. Rather, authors need a vocabulary of elements and ways to including graphics. SGML did not attempt to solve these problems.
    • + +
    • Lack of style sheet language. When SGML became an ISO standard in 1986, no standardized style sheet language was available to format SGML documents. The Formatting Output Specification Instance (FOSI; see the next chapter) soon became available but was considered a temporary solution while waiting for Document Style Semantics and Specification Language (DSSSL). It took approximately 10 years before DSSSL was finalized in 1996. A simple solution based on an expanded DTD or PI syntax, as discussed above, may also have made SGML documents more presentation-friendly.
    • + +
    + +

    It may be too early to pass judgement on SGML, but this author believes SGML's main achievement will be that it inspired HTML and XML.

    + +

    HyperText Markup Language (HTML)

    + + +

    The HTML specification is, along with HTTP and URL specifications, one of the basic building blocks of the web. HTML has had a far-reaching impact on how electronic content is authored, stored, transmitted and processed. The design of HTML is probably one of the main reasons for the success of the web.

    + +

    This section discusses HTML's design and development with regard to style sheets.

    + +

    HTML's original design

    + +

    The origin of HTML is described in W3C's document Some early ideas for HTML [W3C 2003]:

    + +
    [In 1989] many people were using TeX and PostScript for their documents. A few were using SGML. Tim realized that something simpler was needed that would cope with dumb terminals through high end graphical X Window workstations. HTML was conceived as a very simple solution, and matched with a very simple network protocol HTTP.
    + +

    Indeed, the original design of HTML was simple. The first publically available description of HTML was a document called HTML Tags [Berners-Lee 1991a], which was announced and annotated in one of the first messages [Berners-Lee 1991b] on the www-talk mailing lists in October 1991. I refer to this document as HTML-0. It describes 22 elements that make up the initial design of HTML. In order of appearance the elements are: TITLE, NEXTID, A, ISINDEX, PLAINTEXT, XMP (described indirectly), LISTING, P, H1, H2, H3, H4, H5, H6, ADDRESS, HP1, HP2, DL, DT, UL, MENU and DIR. Thirteen of these elements still exist in HTML4 [HTML4 1997], three elements have been deprecated (ISINDEX, MENU, DIR), and six elements have been removed (NEXTID, PLAINTEXT, XMP, LISTING, HP1, HP2). +

    + +

    It is noteworthy that HTML-0 did not include any presentational elements. That is, HTML-0 consisted only of logical elements. This crucial design decision is confirmed in a comparison of MIME's rich text feature [Borenstein 1994] and HTML [Berners-Lee 1992a]: +

    + +
    Comparing MIME's rich text and HTML, I see that we lack the characetr formatting attributes BOLD and ITALIC but on the other hand I feel that our treatment of logical heading levels and other structures is much more powerful and has turned out to provide more flexible formatting on different platforms than explicit semi-references to font sizes. This is born out by all the systems which use named styles in preference to explicit formatting, LaTeX or other macros instead of TeX, etc etc.
    + +

    Style sheets are mentioned once in HTML-0 in the description of the P element:

    + +
    This tag indicates a new paragraph. The exact representation of this (indentation, leading, etc) is not defined here, and may be a function of other tags, style sheets etc.
    + +

    Thus, the concept of style sheets was known to the designer of HTML. The program library libwww [Nielsen&Lie 1994] which was CERN's freely available implementation of HTTP and HTML, supported client-side style sheets. That is, style sheets were hard-coded in the client to support the presentation of HTML documents and were not considered to be resources to be put on the web. As such, style sheets played a minor role in the initial design of the web. +

    + +

    This view is supported by the fact that there was no discussion on style sheets on the www-talk mailing list from its inception in October 1991 until Robert Raisch put forward his proposal (RRP, which is discussed in the next chapter) in June 1993 [Raisch 1993a]. +

    + +

    +

    + +

    Structure versus style

    + +

    Although style sheets per se were not discussed on www-talk, the term styles was used a few times in the context of HTML design. In an early message to www-talk, Berners-Lee argued that a nested structure would have been preferable to the relatively shallow structure that HTML-0 offered [Berners-Lee 1991b]:

    + +
    In writing a new generic parser, I wondered whether your text object will store the nested structure of a document. At the moment, the document is a linear sequence of styles: you can't have lists within lists, etc. Ideally, it would be able to handle this - although its more difficult for a human writer to handle when formatting the document. I would in fact prefer, instead of <H1>, <H2> etc for headings [those come from the AAP DTD] to have a nestable <SECTION>..</SECTION> element, and a generic <H>..</H> which at any level within the sections would produce the required level of heading.
    + +

    This issue is reiterated in another message eight months later [Berners-Lee 1992b]: +

    + +
    So if we went for a nestable HTML which would be cleaner for those who apreciate recursion, we would have to have a hypertext editor which made the structure visible. I don't have experience enough to know whether real information providers (group secretaries, for example) would be into generating nested elements – maybe the styles are useful to keep as the current `user interface metaphor' of word processors.
    + +

    The statements above argue that elements in HTML should not generally be nestable, even if nestable structures are cleaner. One of the arguments against nestable elements is that they do not combine with a linear sequence of styles. Berners-Lee is making these statements after having implemented an HTML parser and formatter of the libwww [Nielsen&Lie 1994] library. The percieved conflict between nestable elements and styles is probably due to limitations in the implementation. CSS later addressed this issue by introducing contextual selectors. +

    + +

    HTML and SGML

    + +

    Like style sheets, SGML was known to the designer of HTML but played a minor role in the sense that HTML-0 was not formally specified in terms of SGML. To some extent, HTML-0 was incompatible with SGML [Berners-Lee 1991b]:

    + +
    <PLAINTEXT> is used to indicate that the rest of the file is in fact just ASCII. It turns off SGML parsing completely. It's a fudge for the moment, until we have the document format negociation.
    + +

    Berners-Lee also discouraged browser implementors from using strict formal methods when processing HTML documents [Berners-Lee 1993c]:

    + +
    I support Marc completely in his decision to make Mosaic work as best it can when it is given invalid HTML. The maxim is that one should be
    +- conservative in what one does
    +- liberal in what one expects.
    + +

    This author believes the above message was unfortunate. If Mosaic had been stricter in its parsing of incoming HTML, the markup on the web may have been much cleaner than it is today. +

    + +

    The philosophy of SGML was, however, a source of inspiration. In a document describing the design of HTML-0 titled Design Constraints, Berners-Lee writes [Berners-Lee 1992d]:

    + +
    It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.
    + +

    Unlike style sheets, SGML quickly became a topic of discussion on www-talk. Of 31 messages posted to the list in 1991 (the list was started in October of that year) eight mentioned SGML. In 1992, 466 messages were posted to the mailing list, of which 138 mentioned SGML.

    + +

    Dan Connolly initiated many of the discussions by arguing that HTML should be defined in terms of SGML. In June 1992 he published a DTD for HTML [Connolly 1992]. In the accompanying message he argued why this was necessary:

    + +
    We need an SGML DTD so that we can parse HTML using something besides the public implementation of WWW, and so that we can verify documents converted from other authoring systems such as GNU info, Andew's EZ, or FrameMaker.
    + +

    Almost two years later, Connolly reached the same conclusion in a message titled Toward Closure on HTML [Connolly 1994b]:

    + +
    The costs and benefits of basing using [sic] SGML to define HTML have been discussed at great length. Simplifications have been suggested [...] but at this point, it appears that there is a clear requirement that an HTML document shall be a conforming SGML document.
    + +

    Connolly's message generated heated discussions on www-talk and many resisted the idea of making SGML an integral part of the web. The resistance to SGML was based on two main arguments. First, SGML was perceived to be overly complex [Raggett 1993b]:

    + +
    I have a feeling that most people find the SGML DTD rather hard to follow in detail. Goldfarb's account of SGML almost seems to go out of its way to make life difficult for the newcomer.
    + +

    Second, it was argued that introducing SGML at this stage was unrealistic as it did not reflect the state of the web at the time [Davis 1994] :

    + +
    Dan, I don't intend this as a flame, but you need to face reality, by which I mean you need to look at what people ACTUALLY do, not what you WISH they did. As you observe, people don't use an SGML parser to validate their documents. There is no reason to think then that they will ever start. That's reality.
    + +

    Despite the controversy, HTML2 was formally defined in terms of SGML and was published as RFC 1866 in November 1995 [HTML2 1995]. +

    + +

    HMML, HTML+ and HTML3

    + +

    While HTML2 slowly moved towards becoming standardized, the www-talk community busily proposed new features for HTML. Among the most popular features was support for images and multimedia [Berners-Lee 1993a]:

    + +
    HMML is in fact already an extension of HTML for multimedia from O'Reilly. There are similar extenstions from NCSA. We just have to standardize on them for the next DTD which we define. HTML was checkpointed so as not to make a moving target. NCSA's (released) Mosaic for X handles embedded images in the hypertext, as does O'Reilly's (unreleased) Viola.
    + + + +

    The above quote raises several important questions about the development of markup languages for the web: who should be in charge of development, what features should be supported, and what should the language be called? The HMML acronym stands for HyperMedia Markup Language [Adie 1993] and mentioning this indicates a preference for a new language with better support for multimedia.

    + +

    A few days later, Dave Raggett announced that he was editing the next version of HTML [Raggett 1993a]:

    + +
    In a recent phone conversation, Tim Berners-Lee suggested I take over editing a new DTD for extensions to the current HTML spec. Don't get worried - the existing HTML tags will continue unchanged.
    + +

    Raggett expresses a preference for continuing to use the HTML name as well as the existing HTML elements. A month later he explains the name issue this way [Raggett 1993f]: +

    + +
    HMML is the name of an internal and experimental DTD developed by Pei Wei. However, things became confused when Tim Berners Lee started using "HMML" for the proposed replacement for the original HTML DTD. To avoid confusion I am calling the new DTD "HTML+" which also emphasises that it is a superset of the current format.
    + +

    Further, he emphasizes the need for backwards compatibilty with HTML in the sense that existing HTML elements would continue unchanged [Raggett 1993e]: +

    + +
    My main objective is backwards compatibility with existing HTML.
    + + +

    Dale Dougherty of O'Reilly wanted to create a new acronym and a new language [Dougherty 1993]:

    + +
    I'd like to see some discussion about HMML being backwards compatible with HTML. I think it's a mistake to set that up as a design objective. It also raises questions about how WWW parsers are going to work in the future. I would prefer to see HTML as a frozen thing; and HMML as the next generation.
    + + + +

    However, the discussion Dougherty had hoped for did not happen and Raggett published a backwards compatible specification in May 1993. The specification was referred to as HTML+ [Raggett 1993d] and this name was used until mid-1994 when the proposal was renamed HTML 3.0.

    + +

    HTML+ introduced several new concepts which later became part of HTML; the most important of which are tables and forms [HTML+ 1993]. Among the features that HTML+ proposed but which have not become part of HTML are mathematical formulae.

    + +

    HTML+ added several features to improve the presentation of documents. Here are some examples:

    + +
      + +
    • The proposed FIG element accepted the align attribute which allowed text to flow next to the figure.
    • + +
    • The FOOTNOTE element allowed footnotes to be marked up.
    • + +
    • The MARGIN element indicated side notes.
    • + +
    + +

    Most of the additional markup that HTML+ offered was logical in nature but came with a suggested presentation that had the potential to enrich the presentation of HTML documents.

    + +

    HTML+ did not support style sheets. However, in a A Review of the HTML+ Document Format [Raggett 1995a], Dave Raggett foresees that style sheets will be part of HTML+ in the future:

    + +
    Information providers are interested in making their documents appear in a particular style which differentiates them from other information providers. Work is under way to see how HTML+ could support style information without limiting platform independence. Style hints could be expressed as part of the document head and cover aspects such as font families, text color and size, and the use of whitespace around elements. The use of images, and the opportunity to set the color and texture of the background offer further ways of creating a unique style.
    + +

    As HTML+ progressed, it was renamed HTML 3.0. At this point, the work on style sheets for the web had progressed and HTML 3.0 introduced functionality for associating documents with style sheets [Raggett 1995b]:

    + +
    HTML 3.0 relies on linked style info to give authors control over the appearence of documents. Such info is placed in a linked style sheet, or as overrides in the HTML document head, using the STYLE element. The generic CLASS attribute can be used to subclass elements when you want to use a different style from normal, e.g. you might use <h2 class=bigcaps> for headers with enlarged capital letters.
    + +

    HTML+ and HTML 3.0 never became officially sanctioned versions of HTML, but the specifications pioneered functionality that, subsequently, has seen extensive use on the web.

    + +

    HTML 3.2

    + +

    Several implementors considered HTML 3.0 to be too far removed from their own implementations and wanted the next HTML specification to codify current behavior rather than engineering new solutions. This conflict was well-known from the development of HTML 2.0. The specification itself describes the development:

    + +
    HTML 3.2 aims to capture recommended practice as of early '96 and as such to be used as a replacement for HTML 2.0 (RFC 1866). Widely deployed rendering attributes are included where they have been shown to be interoperable.
    + + +

    HTML 3.2 also makes two references to the non-official HTML 3.0, but most of the novel features from HTML 3.0 were not included. The naming of the specification, therefore, became an issue: giving the specification a name in the 2.x series would probably have been technically more correct, but marketing a lower number would have been difficult. On the other hand, giving the specification a new major number (e.g. 4.0) would promise more than the specification could deliver. Therefore, a compromise solution was reached at 3.2.An excerpt from the minutes of the discussions in W3C's Editorial Review Board is included in the Acknowledgementes of this thesis.

    + +

    HTML 3.2 became a W3C Recommendation in January 1997, barely a month after CSS1 achieved the same status. The time gap was not long enough for HTML 3.2 to fully describe the impact of style sheets, but the DTD included a STYLE element that made it possible to validate documents that had style sheets in them [HTML 3.2 1997]:

    + +
    SCRIPT and STYLE are included to smooth the introduction of client-side scripts and style sheets. Browsers must avoid showing the contents of these element Otherwise [sic] support for them is not required.
    + +

    HTML 3.2 was the first HTML specification to be published as a W3C Recommendation. As such, it was an important test to see how well different W3C member organizations, including Netscape and Microsoft, could work together to achieve consensus on a technical specification.

    + +

    HTML 4

    + +

    HTML4 became a W3C Recommendation in December 1997 [HTML4 1997], less than a year after HTML 3.2 had achieved the same status. HTML4 added important functionality, especially in the area of internationalization.

    + +

    HTML4 is the first standardized version of the HTML language which describes how style sheets and HTML documents are combined. Three mechanisms are described:

    + +
      + +
    • the STYLE element
    • + +
    • the STYLE attribute
    • + +
    • the LINK element +
    • + +
    + +

    These mechanisms had previously been described in a separate W3C Working Draft [WD-style 1997] and to some extent in the CSS1 specification but, without an official recognition in HTML it was impossible for authors to use web style sheets while adhering to W3C Recommendations. +

    + +

    HTML in context

    + +

    HTML has developed significantly from the first version made available in 1991. Along the way, much functionality has been added while ensuring backwards compatibility. The principle of encouraging logical, rather than presentational markup has remained despite resistance from implementors and authors. As a consequence, style sheets became necessary and later found their place on the web.

    + +

    Also, HTML has resisted the temptation of climbing too high on the ladder of abstraction. Tim Berners-Lee describes the difficult balancing act in a message to www-talk [Berners-Lee 1993b]:

    + +
    HTML and HTML [sic] have a status in between a formatting language and a spacific application. As a delivery language for very wide use, the tags must be generic thimselves. STRONG emphasis or EMphasis is not a formatting instruction, it is semantic. But it is not as semantic as PROHIBITION or LOCSHELFNUMBER or MICASHEETTHICKNESS.
    +HTML+ must like HTML refrain from falling into eiter trap, of being too related to markup, or of being too related to a specific application.
    +
    + +

    (I believe he meant to write HTML and HTML+ in the first sentence.)

    + +

    This author believes that HTML has the right level of abstraction: high enough to support presentation on a wide range of devices, and low enough for people to grasp easily the meaning of elements. Unfortunately, however, HTML is often authored at a too low level of abstraction.

    + +

    HTML has had a profound impact on how electronic information is authored, stored, transmitted and processed. If HTML had not been successful, we might still have been living in the bad old days [Berners-Lee 1996]:

    + +
    Anyone who slaps a 'this page is best viewed with Browser X' label on a Web page appears to be yearning for the bad old days, before the Web, when you had very little chance of reading a document written on another computer, another word processor, or another network.
    + + +

    XML

    + +

    The use of HTML and the web grew rapidly around 1995. Many proponents of SGML argued that HTML was a temporary solution and that the future of web publishing was SGML. This excerpt from a message posted on the comp.text.sgml newsgroup is representative of this view [Nicol 1995]:

    + +
    ... eventually, HTML will be used primarily for publishing home pages and whatnot, and (SGML|RTF|PDF|whatever) will be used for everything else. Large documents with long lifespans will almost certainly be in SGML (or something similar)
    + + +

    However, many in the SGML community also realized that SGML, as described in [SGML 1986], was not suitable for use on the web. In June, 1996, W3C announced to its members the formation of a Web-SGML activity [Connolly 1996]. From the announcement:

    + +
    The overall goal of the activity is to work in collaboration with ongoing efforts in ISO/IEC JTC1, SGML Open, and the IETF to provide the pieces needed to complete the array of specifications that will enable Web publishing using generic SGML.
    + +

    The term generic SGML refers to generic markup that uses tags unknown to the recipient.

    + +

    The SGML Working Group charter

    + +

    In his first message to the SGML Working Group, the chair Jon Bosak listed three expected deliverables from the group [Bosak 1996b]. First, the group wanted to produce a form of SGML designed for Internet transmission:

    + +
    The specification of an application profile defining a form of SGML designed for Internet transmission and processing by user agents. For purposes of discussion, the format thus defined has been given the temporary working name of Extensible Markup Language (XML).
    + +

    Second, the group was to work on a specification of basic hypertext link types for XML [Bosak 1996b]. This work later turned into XLink [XLink 2001] and is not discussed further in this thesis.

    + +

    Third, the goal was to make DSSSL work in an Internet context [Bosak 1996b]:

    + +
    The specification of extensions and public text needed to make DSSSL work in an Internet context. For example, a mechanism needs to be added to DSSSL to enable text to flow around objects.
    + +

    It is noteworthy that the group was chartered to address all three areas. Previously, the SGML community had organized for work on each of these three areas to be done by different groups which had led to specifications not being synchronized. By assigning one working group to perform the work in all three areas, one coherent set of specifications could be produced in the same time frame.

    + +

    In the end, however, the work on linking and style sheets ended up in separate working groups and their respective specifications were finalized more than three years after XML became a W3C Recommendation [XSL 2001][XLink 2001].

    + +

    The XML specification

    + +

    The first public XML working draft was published in November 1996 [WD-XML 1996]. Line one of the abstract reads:

    + +
    Extensible Markup Language (XML) is an extremely simple dialect of SGML which is completely described in this document.
    + +

    Both parts of the sentence above are significant. The first part claims that XML is extremely simple. Compared with the SGML standard the first draft XML was relatively simple, but calling it extremely simple is misleading and this wording was changed in the final W3C Recommendation [XML 1998]:

    + +
    The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document.
    + +

    The second part of the sentence, which remained unchanged between the first draft and the Recommendation, claims that XML is completely described in this document. It was important for XML to set itself apart from SGML in the sense that knowing SGML was not a requirement for using XML. SGML is referenced in the XML Recommendation, but is not among the normative references.Since XML has six normative references it can be argued that XML is not completely described in this document as the Recommendation claims.

    + +

    The introductory sentence of the XML Recommendation also states the two main tasks of the XML Working Group; the group had to select which of SGML's features XML should support, and then describe the feature set in a readable manner. The first task was influenced by the needs of SGML users. Dan Connolly grouped the features into two: those that are architecturally solid, and those that are there for transition purposes [Connolly 2000]:

    + +
    My experience leads me to believe that parts of XML are solid architectural inrfastructure [sic] for the long term: tags and attributes, and namespaces. But other parts of it are there to manage the transition from the existing software base: DTDs, entities, processing instructions, and I don't recommend investing them unless you are constrained by existing software somehow.
    + +

    Namespaces, which Connolly included in the group of architecturally solid features, were not part of the XML Recommendation, but are described in a separate W3C Recommendation which trailed the XML Recommendation by a year [XML-names 1999].

    + +

    Tim Bray, one of the editors of the XML specifications, later proposed to use a similar grouping of XML features and to remove DTDs and entities from future versions of XML [Bray 2002]. One reason for keeping processing instructions (which Bray proposes) is that they are used to point to style sheets.

    + +

    XML and style sheets

    + +

    The XML Recommendation does not refer to style sheets in any way. In order to use style sheets with XML documents there needs to be a way of linking a document to a style sheet. In June 1999, W3C published a Recommendation called Associating Style Sheets with XML Documents [XML-stylesheet 1999] which describes how to achieve this using XML processing instructions. For example, to link to a CSS style sheet from an XML document, the following line can be placed in the document:

    + +
    <?xml-stylesheet href="mystyle.css" type="text/css"?>
    +
    + +

    The use of processing instructions for this purpose was somewhat controversial and the Recommendation included text to warn about the future of processing instructions:

    + +
    The use of XML processing instructions in this specification should not be taken as a precedent. The W3C does not anticipate recommending the use of processing instructions in any future specification.
    + +

    However, the Recommendation [XML-stylesheet 1999] is widely implemented and processing instructions are, therefore, likely to be part of any future version of XML.

    + +

    XML in context

    + +

    The stated goal of the XML Recommendation was to enable generic SGML to be served, received, and processed on the web in the way that is now possible with HTML [XML 1998]. Measured strictly by this goal, XML has not been a success; the use of generic SGML/XML on the web today is limited. Also, most documents on the web are exchanged in HTML and not in XML. That is, XHTML – which is HTML written according to the rules of XML – has not replaced traditional HTML.

    + +

    XML has been a success, however, but perhaps in an area that the creators did not expect. While the XML Recommendation describes XML documents, Dan Connolly noted at an early stage that XML could be used also for data exchange. When describing XML in W3C's newsletter in March 1997, XML was introduced as a markup language for structured document interchange, but he also noted [Connolly 1997]:

    + +
    Database interchange and structured data exchange between software components and agents are expected to be popular uses.
    +
    + +

    Indeed, the impact of XML on data exchange has been more significant than its impact on document exchange.

    + +

    The role of transformation languages

    + +

    A transformation language is a language that expresses transformations from one structure into another. In the context of structured documents, the structures are typically tree structures containing textual content. For example, a transformation language can transform a document written in a private XML vocabulary into an XHTML document.

    + +

    In this thesis, transformation languages are interesting for two reasons:

    + +
      + +
    • Transformation languages are used on the server side to convert content into content for the web. Typically, a transformation will only move content downwards on the ladder of abstraction; to move content upwards, information external to the document is necessary. It is important that flexible, powerful and efficient transformation languages exist so that content can be generated at the right level of abstraction.
    • + +
    • One school of thought in style sheet languages argues that the document formatting process can and should be expressed as a transformation. Style sheet languages in this tradition are transformation languages as well as being style sheet languages. In this thesis, they are referred to as transformation-based style sheet languages (TBSSL).
    • + +
    + +

    The latter point is the topic of this section. I argue that while treating formatting as a transformation has certain advantages, there are significant reasons for not adopting this approach on the web.

    + +

    Adorning the tree

    + +

    Most style sheet languages are not transformation languages. Instead of transforming the document structure into a presentation structure, these style sheet languages adorn the document structure with presentational information. For example, consider the following style sheet:

    + +
    H1 { color: red }
    +
    + +

    It expresses that all H1 elements should be red. The information about color (and other presentational properties) is attached to the H1 element. By way of various value propagation mechanisms, all elements in the document have values for all presentational properties. Examples of style sheet languages that use this approach are CSS, P94 and FOSI.

    + +

    Implementations of these style sheet languages may optimize memory structures so that not all values are stored on each element but, in principle, the knowledge of the value of each element/property combination should be known. Also, some implementations may choose to use two different tree structures internally, one for the logical structure and another for the presentational structure. Conceptually, though, this behavior is not necessary.

    + + +

    Transforming the tree

    + +

    Transformation-based style sheet languages do not adorn a tree, instead they transform the logical structure into a presentational structure. DSSSL and XSL are style sheet languages that fall into this category.

    + +

    Often, these languages are referred to as transformation languages rather than style sheet languages. In the case of XSL, the transformation language has been given its own name, XSLT (where T stands for transformation). Below is an example of how XSLT can be used to convert a XML element into an HTML element. Consider a XML element written in a private vocabulary:

    + +
    <ChapterHeading>The headline</ChapterHeading>
    +
    + +

    To transform the ChapterHeading element into an H1 element, this XSLT fragment can be used:

    + +
    <xsl:template match="ChapterHeading">
    +  <H1>
    +    <xsl:apply-templates/>
    +  </H1>
    +</xsl:template>
    +
    + +

    The output of the transformation is:

    + +
    <H1>The headline</H1>
    +
    + +

    Note that the resulting HTML is at a high enough level of abstraction that device-independence and accessibility are preserved. What is lacking is information about how to present it. XSL addresses this with formatting objects.

    + +

    Formatting objects

    + +

    In order for transformation-based languages also to be style sheet languages, a set of presentational elements is typically defined. The presentational elements serve as building blocks for presentational structure. In DSSSL, the presentational elements are called flow objects and in XSL they are called formatting objects. The DSSSL flow objects are discussed in more detail in the next chapter and the rest of this section focuses on XSL formatting objects (XSL-FO) [XSL 2001].

    + +

    XSL-FO is an XML vocabulary for describing the presentation of documents. A simple XSL style sheet which transforms the ChapterHeading element into a formatting object follows:

    + +
    <xsl:template match="ChapterHeading">
    +  <fo:block font-size="1.3em" margin-top="1.5em">
    +    <xsl:apply-templates/>
    +  </fo:block>
    +</xsl:template>
    +
    + +

    The output of the transformation is XSL-FO:

    + +
    <fo:block font-size="1.3em" margin-top="1.5em">
    +  The headline
    +</fo:block>
    +
    + +

    The resulting flow object is at a lower level of abstraction than the HTML element that was the output in the previous example. When transformed into HTML, the semantics of the XML element (ChapterHeading) is preserved since the H1 element is globally recognized as being a headline of level 1. When transformed into XSL-FO, the semantics is lost and replaced by presentational properties (font-size, margin-top, and margin-bottom which are borrowed from CSS) that are low on the ladder of abstraction.

    + +

    Extensive use of XSL-FO on the web would be a threat to accessibility. Consider one example from braille renderings. Since braille characters use much space, words are often contracted to fit more text on one page. However, some words – for example program variables – should not be contracted. HTML offers the ability to express this (using the VAR element) and this is crucial to improve braille renderings. XSL-FO, on the other hand, gives access to the text but without the information that can be used to decide if a word can be contracted or not.

    + +

    Retaining both semantics and presentation

    + +

    Transformation languages such as XSLT can be used also to generate output that retains the abstraction level while also containing presentational information. Below is an example wherein XML is transformed into an HTML element with associated CSS stylistic properties:

    + +
    <xsl:template match="ChapterHeading">
    +  <H1 STYLE="font-size: 1.3em; margin-top: 1.5em">
    +    <xsl:apply-templates/>
    +  </H1>
    +</xsl:template>
    +
    + +

    The output of the transformation is:

    + +
    <H1 STYLE="font-size: 1.3em; margin-top: 1.5em">
    +   The headline
    +</H1>
    +
    + +

    The result preserves both the semantics (in the form of HTML elements) and presentational information (as values on the STYLE attribute).When authoring with CSS, the stylistic rules would normally appear in a separate style sheet and not in a STYLE attribute as in the above example. Having separate style sheets eases web-site maintenance and makes documents smaller. However, both forms are valid and one can automatically convert between the two. +

    + +

    Yet even more semantics can be preserved by using the CLASS attribute of HTML. Consider this example:

    + +
    <xsl:template match="ChapterHeading">
    +  <H1 CLASS="ChapterHeading" 
    +      STYLE="font-size: 1.3em; margin-top: 1.5em">
    +    <xsl:apply-templates/>
    +  </H1>
    +</xsl:template>
    +
    + +

    The output of the transformation is:

    + +
    <H1 CLASS="ChapterHeading" 
    +    STYLE="font-size: 1.3em; margin-top: 1.5em">
    +   The headline
    +</H1>
    +
    + +

    In the example above, the CLASS attribute is used to store the semantics of the private XML vocabulary. Since this XML vocabulary is not universally understood, the addition of the CLASS attribute does not raise the document's abstraction level on the web. However, the CLASS attribute makes it possible for the author to transform the HTML document back to the original document.

    + +

    Style versus transformation

    + +

    As discussed above, transformation-based style sheet languages take a different approach to the formatting process than do other style sheet languages. Instead of adorning a logical document structure, these languages transform documents downward on the ladder of abstraction into a presentational structure of formatting objects. In the context of the web, the transformation can take place either on the server side or on the client side. Each option has a significant drawback:

    + +
      + +
    • If the transformation takes place on the server side and formatting objects (for example XSL-FO) are transmitted over the web, there will be a loss of semantics since the transmitted content is at a lower level of abstraction than if the content had been transmitted in HTML.
    • + +
    • If the transformation takes place on the client side, the browser will not be able to support progressive rendering of content where content is displayed in small chunks as the document is downloaded. Since the transformation may specify that the last element in the logical structure should come first in the presentational structure, the whole document must be downloaded before the transformation can take place.
    • + +
    + +

    In a traditional publishing environment where printed material is the output, however, the above features are not necessarily drawbacks and the transformation-based approach can make sense. There are three reasons for this:

    + +
      + +
    • Authors will often submit material in different formats that need some form of transformation before formatting.
    • + +
    • Since the final result is on paper, the loss of machine-readable semantics is inherent in the medium.
    • + +
    • Progressive rendering is not an issue when paper is the final result.
    • + +
    + +

    Hence, transformation-based style sheet languages may be suitable in traditional publishing environments, but not on the web. It should be emphasized that the discussion in this section pertains to transformation-based style sheet languages, not to transformation languages in general.

    + +

    Summary and conclusions

    + +

    Structured document systems have been an area of research and development since around 1980. The concept of separating structure from presentation is now firmly established. Style sheet languages are a requirement for the presentation of structured documents but several of the structured document formats were developed without an accompanying style sheet language. As a result, the benefits of structured document formats have been limited.

    + +

    The ladder of abstraction is proposed as a way of measuring abstraction levels of structured document formats. A document format's level of abstraction is an important factor when determining the format's suitability for use on the web: formats that are high on the ladder typically require more processing – including transformations and styling – before presentation. Document formats that are low on the ladder of abstraction require little processing, and may be unsuitable for use on the web for accessibility reasons. Since the style sheet language is an important part of the processing of documents before presentation, the level of abstraction is very relevant in determining the suitability of a particular style sheet language/document format combination.

    + +

    Several structured document systems were developed in the 1980s and 1990s. Scribe, LaTex, ODA, and SGML were developed prior to the web and none of them have seen much use on the web. HTML and XML were developed for the web and are still seeing active development. HTML is the most popular structured markup language for the web, and – when used correctly – is a media-independent document format that is recognized by all web browsers. As such, HTML has established a layer of universal semantics for web documents. One important feature of HTML is that it does not need extensive client-side transformations before presentation. Browsers, therefore, can support progressive rendering of documents.

    + +

    An alternative to HTML is to use generic XML, i.e. a private XML vocabulary. Depending on the format, the document may require extensive transformation on the client side. This makes the presentation more flexible (e.g., elements can be reordered) but progressive rendering becomes impossible. Also, the document is no longer universally understood. Transformation-based style sheet languages are therefore not suitable on the web.

    + +

    Different document formats serve different purposes and different audiences. There is no document format or level of abstraction that will be ideal for all purposes and the web must be hospitable to a range of formats. The challenge is to find a format that is high enough on the ladder to be useful in many contexts while not requiring too much effort by the author, nor too much transformation in the user agent. HTML, when used correctly, comes close to being an ideal format for a wide range of documents.

    + +

    Having established the need for style sheet languages in order to present documents, style sheets are the topic of the next two chapters.

    +
    + +
    +

    Style sheets prior to the web

    + +

    One of the most attractive features of structured documents is that the content can be used in many contexts and presented in various ways. A variety of different style sheets can be attached to the logical structure to serve different needs. However, the flexibility that structured documents offer comes at a price since some kind of style sheet mechanism is needed to make the content available for users.

    + +

    In order for content in structured documents to be presented, a set of stylistic rules – describing for example, colors, fonts and layout – must be applied. A collection of stylistic rules is called a style sheet. Style sheets in the form of written documents have a long history of use by editors and typographers to ensure consistency of presentation, spelling and punctuation. In electronic publishing, the term style sheet is mostly used in the context of visual presentation rather than spelling and punctuation. In this thesis, style sheet is defined as a set of rules that associate stylistic properties and values with structural elements in a document, thereby expressing how to present the document.

    + +

    Style sheets have been referred to by other names in the past. P94 calls them presentation schemas. Interleaf and Xerox Star refer to them as property sheets. Microsoft Word refers to them as styles. FOSI and DSSSL use the term characteristic to mean what CSS calls property, while P94 sometimes calls it a parameter. Because various proposals use different terms to mean the same thing and, in order to facilitate a comparison, this thesis uses CSS terms in the discussions.

    + +

    In this chapter are discussed three seminal style sheet languages that were developed before the web. Two of them (FOSI and DSSSL) were developed by standards committees for use with SGML. The third (P94) was developed by a research project for experimental purposes. The three systems were chosen since they:

    + +
      + +
    • contribute novel features to the concept of style sheets;
    • + +
    • separate style sheets from the document;
    • + +
    • can, in principle, be used with different types of structured document systems;
    • + +
    • are not tied to any particular application or formatter;
    • + +
    • were developed before the web. Although the development of DSSSL and P94 in part took place after the web was launched, the style sheet languages do not exhibit any influence from the web.
    • + +
    + +

    This chapter does not cover proprietary style sheet systems (such as Microsoft Word, FrameMaker, Interleaf, Panorama, Lector, ViewPort and ReportLab's RML2PDF), nor does it discuss systems that have been been described in articles but not used in practice (such as [Brüggemann-Klein&Wood 1992] and [Weitzman&Wittenberg 1994]). Also, two authoring systems (Scribe, LaTex) that also have style sheet languages associated with them are discussed in the previous chapter instead of here.

    + +

    Each review starts with a short description of the historical context of the language, followed by a technical review. The reviews are not exhaustive but give a general overview of each language and discuss points of interest along the way. Document and style sheet fragments are used extensively in the discussions since I believe style sheet languages are best understood by looking at examples.

    + +

    Components of a style sheet language

    + +

    Before evaluating the style sheet languages themselves, it is necessary to establish common criteria by which the languages will be judged. I suggest that a style sheet language has six required components: +

    + +
      + +
    • Syntax: a style sheet language needs a syntax in order to be expressed in a machine-readable manner. All languages reviewed in this dissertation have a text-based syntax to make them easier for humans to read and write. Furthermore, the syntax of the style sheet language can be specified in a standardized syntax (FOSI is written in SGML), borrowed from other languages (DSSSL is based on the Scheme programming language), or inspired by other syntaxes (SSP, which is discussed in the next chapter, is inspired by X11 resources [X11]).
    • + +
    • Selectors: selectors specify which elements are to be influenced by the style rule. As such, selectors are the glue between the structure of the document and the stylistic rules in the style sheets. Some languages express selection only through selectors (CSS, SSP), while other languages also perform selection in declarations associated with potential elements (DSSSL, FOSI, P94). In the latter case, a simple selector language based on element types is typically combined with an expression language.
    • + +
    • Properties: all style sheet languages have some concept of properties that can be given values to change one aspect of rendering an element. The font size and font weight are typical examples of properties. Some languages group properties (e.g. all font-related properties) into categories (FOSI) or allow several properties to be set in some shorthand syntax (CSS). Properties to set white space and borders can be relative to the writing direction (before/after/start/end), or absolute (top/bottom/left/right and inside/outside). Most style sheet languages have properties of both types (paragraph indentation is always relative, and page margins are typically absolute) but tend to favor one kind of property.
    • + +
    • Values and units: properties change the rendering of an element by being assigned a certain value. The value can be a string, a keyword, a number, or a number with a unit identifier. Also, values can be lists or expressions involving several of the aforementioned values. A typical value in a visual style sheet is a length; for example, 3.1cm which consists of a number (3.1) and a unit (cm). Units can be absolute (e.g. cm) or relative to some other measurement (e.g. em, which is relative to the font size). Some languages also allow expressions as values.
    • + +
    • Value propagation mechanism: to avoid having to specify explicitly all values for all properties on all elements, style sheet languages have mechanisms to propagate values automatically. The main benefit of value propagation is less-verbose style sheets. Inheritance, initial values and cascading are examples of value propagation mechanisms.
    • + +
    • Formatting model: all style sheet languages support some kind of formatting model. All style sheet languages discussed in this thesis has a visual formatting model and some also support an aural formatting model for accessibility reasons. + +

      In a visual formatting model logical elements are turned into formatting objects in the formatting process. Most often, the formatting objects are rectangular boxes that are laid out one after the other or nested inside each other. Different visual formatting models have different kinds of formatting objects; for example, generated by block-level, inline, floating and various table elements. Visual formatting models can be classified as box models (where hierarchies of boxes fit inside each other) or as sequence models (where areas are placed in sequence in the layout area). Further, formatting can be outside-in (where parent elements set the size of their children) or inside-out (where child elements determine the size of their parent).

      + +

      Formatting to an aural device is very different from visual formatting, but the concepts of style sheets, properties, values and units are still applicable.

      +
    • + + +
    + +

    The above components are present in all style sheet languages. Many style sheet languages also contain functionality in these optionaly components:

    + +
      + +
    • Generated content: more-advanced style sheet languages have ways of adding text and other content to the document presentation. Style sheets do not contain substantial content and generated content is limited to short passages including: simple strings, quote marks, counters, cross-references, headers/footers, horizontal rules and table of contents.
    • + +
    • Linking mechanism: in order to take effect, a style sheet must be linked to a document. The linking can be specified in the document, in the style sheet, or by the human user. The linking mechanism is often not part of the style sheet language itself but is still described in style sheet language proposals. Some style sheet languages have ways to import one style sheet into another.
    • + +
    + +

    Formatting Output Specification Instance (FOSI)

    + +

    SGML (as discussed in Chapter 2, Structured documents) defines the syntax for specifying the structure and content of a document. However, SGML does not describe the presentation of documents. Around 1986, when SGML became an ISO standard, users typically relied on proprietary systems to produce human presentations of SGML documents.

    + +

    In 1987, the US Department of Defense (DoD) organized a committee to study how SGML could address the need for document interchange. A year later DoD adopted SGML as the documentation component of the CALS (Continuous Acquisition and Life-cycle Support) initiative.The acronym CALS originally stood for Computer-Aided Logistics Support, then for Computer-aided Acquisition and Logistics Aupport until it was changed to the current Continuous Acquisition and Life-cycle Support For the next decade, CALS was an active proponent of SGML-based technologies [SGMLUG 1990] [Goldfarb et al.1997].

    + +

    In addition to representing structure and content – which SGML addressed – CALS also needed a vendor-neutral way of presenting SGML documents. Where the standards did not exist, CALS created its own.One of them, the CALS Table model, was influential for the HTML table model [Bingham 2000][Raggett 1995c]. In [Kidwell&Richman 1997], the history is told in this way:

    + +
    Because SGML is independent from presentation, some means of describing presentation to a document composition system was needed. Unfortunately, the language that the international standards community was developing to satisfy this requirement, called the Document Style Semantics and Specification Language (DSSSL), was first published in draft form in late 1994, and was published as an official ISO standard in late 1995 - eight years after the CALS requirement was identified. During that time, the DoD elected to establish an interim capability for CALS, based upon SGML, that addressed composition.
    + +

    The interim capability is the Output Specification described in [FOSI 1997]. A style sheet written according to the Output Specification is called a Formatting Output Specification Instance, FOSI for short. The specification is also commonly referred to as FOSI and this term is used in this thesis although the specification refers to itself as OS.

    + + +

    For almost 10 years, FOSI was the only vendor-neutral method of specifying the presentation of SGML documents. The FOSI specification went through three major revisions during that period and matured along the way. As with all specifications in this area, FOSI contained ambiguities that led to non-interoperable implementations [Harvey 2000][ManTech 1997], and some of the advanced features were not widely supported. By the time the specification matured, still well before DSSSL became a standard, there were only two implementors left: Arbortext and Datalogics [Harvey 2002].

    + +

    For these reasons, FOSI was controversial. In 1994, the United States Postal Service issued a solicitation for a system to edit technical manuals, and to print hard copies of manuals in various sizes and formats or to generate electronic media copies through the use of an electronic handbook feature [USPS 1994]. The solicitation specified that SGML was to be used for content and FOSI style sheets were to be used to render the content. Expressing a strong belief in a future DSSSL, the solicitation stated that FOSI defines the appearance of an SGML document by determining the format of each tag described in a DTD. FOSI is ... the recognized government standard for format until [Document Style Semantics and Specification Language (DSSSL)] is approved as the superseding international standard. Interleaf, an SGML software company, protested against several aspects of the solicitation, including the requirement for a solution to support FOSI. Interleaf claimed that FOSI is not a standard; interpretation is system-dependent and is effectively proprietary. Also, Interleaf claimed that the USPS would require highly trained and technical personnel to construct FOSIs because the process is detailed, and non-intuitive. The USPS defended the use of FOSI and the protest was rejected [USPS 1994].

    + +

    FOSI is still (as of 2004) in use and supported by commercial implementations. I have not had access to a FOSI implementation when performing this review but have had helpful discussions with Paul Grosso and Pamela Gennusa who have been central in the development of FOSI. The initial FOSI specification, called MIL-M-28001, was originally issued in February, 1988; versions MIL-M-28001A and MIL-M-28001B were issued in July, 1990 and June, 1993, respectively. The technical review below is based on the latest version of the FOSI specification, MIL-PRF-28001C, published in 1997 [FOSI 1997].

    + + +

    Syntax

    + +

    A FOSI style sheet describes the presentation of an SGML document. It is also written in SGML. FOSI is, therefore, an early example of using a markup language to store data (i.e., stylistic rules) rather than documents. Here is a sample FOSI fragment:

    + +
    <e-i-c gi="h1">
    + <charlist inherit="1">
    +  <font size="14pt" weight="bold">
    + </charlist>
    +</e-i-c>
    +
    + +

    The e-i-c element (which stands for element in context) is FOSI's selector mechanism. In the example above all H1 elements are selected (gi is short for generic identifier which is SGML's term for element names).

    + +

    The next element is charlist which contains a list of stylistic properties and values for the h1 elements. The inherit attribute on charlist indicates whether or not property values should be inherited from the parent element. Boolean values are represented as 1 and 0 in FOSI. By default, inheritance is turned off. FOSI has an elaborate mechanism for inheritance and defaulting (described below), but in the simple example above all inheritable properties take their values from the the parent element with the exception of font size and font weight.

    + +

    Selectors

    + +

    Selectors in FOSI are expressed as attributes to the e-i-c element. In the simple example in the previous section, all elements of a certain type (h1) were selected independently of their context. Here is a more advanced example which selects elements in context (and thereby does justice to the e-i-c name):

    + +
    <e-i-c gi="li" context="ol">
    +   <charlist>
    +     <font posture="italic">
    +   </charlist>
    +</e-i-c>
    +
    + +

    The selector above expresses two requirements; for elements to match they must be of type li and have an ol element as parent. The context attribute expresses parental relationships, and can – by adding the asterisk character in the UNIX wildcard tradition – also express ancestor relationships.

    + +
    <e-i-c gi="li" context="* ol">
    +   <charlist>
    +     <font posture="italic">
    +   </charlist>
    +</e-i-c>
    +
    + +

    In the example above the li element must have an ancestor of type ol, but ol does not have to be the parent.

    + +

    The FOSI specification describes in detail how the specificity of a contextual selector is determined (determine which context path most specifically matches the current path in FOSI terminology). The strategy for determining specifictiy is similar to the one defined in CSS.

    + +

    The occur attribute adds more constraints to selectors by specifying that the element should be the only, first, last, middle (all elements but first and last), notlast, or notfirst sibling. Also, all (which is the default value) is allowed. Here is a simple example:

    + +
    <e-i-c gi="P" occur="first">
    + <charlist>
    +    ...
    + </charlist>
    +</e-i-c>
    +
    + +

    Elements can also be selected based on the existence, or value, of an attribute. FOSI does this in two stages: first the element is selected based on its name, thereafter the attributes are matched. Consider this example:

    + +
    <e-i-c gi="NOTE">
    +  <att>
    +    <specval attname="WARNING" attval="#ANY">
    +    <charsubset>
    +      ...
    +    </charsubset>
    +  </att>
    +</e-i-c>
    +
    + +

    In the example above, the att and specval elements indicate that only NOTE elements with a WARNING attribute should be selected.

    + +

    Properties

    + +

    FOSI has a rich set of properties that are grouped into categories. Each category is represented by an element, and each property is an attribute. Consider this example:

    + +
    <e-i-c gi="h1">
    +   <charlist inherit="1">
    +     <font size="14pt" weight="bold">
    +     <textbrk startln="1" endln="1">
    +     <presp minimum="4pt" nominal="6pt" maximum="8pt">
    +     <postsp minimum="14pt" nominal="18pt" maximum="18pt">
    +   </charlist>
    +</e-i-c>
    +
    + +

    The categories in the example above are font, textbrk, presp and postsp. Categories are always children of charlist. Besides being a container for the categories, the charlist element also determines if inheritance should be turned on for its children. FOSI's concept of inheritance is discussed in more detail below.

    + +

    FOSI has some properties that are relative to the writing direction, and some that are absolute. The properties to set vertical margins on elements (called presp and postsp, short for prespace and postspace, respectively) are relative, while the properties to set horizontal margins are absolute (leftind, rightind).

    + +

    Some properties are interdependent. In the above example presp and postsp will only take effect when startln and endln are set on the textbrk element.

    + +

    Table 4 gives an overview of all FOSI categories.

    + +
    +

    FOSI's categories.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CategoryPropertiesCorresponding CSS functionality
    fontstyle, famname, size, posture, weight, width, smallcap, offsetCorresponds roughly to the font- properties in CSS.
    leadinglead, forceCorresponds roughly to line-height in CSS.
    hyphen (hyphenation)lang, hyph, zoneCSS2 has no functionality for hyphenation. The lang attribute of HTML and XML can express language.
    wordsp (word spacing) and lettersp (letter spacing)minimum, nominal, maximumCorresponds to word-spacing and letter-spacing in CSS, but CSS can only express nominal values.
    sentxsp (sentence spacing)minimum, nominal, maximumNo similar functionality in CSS since it is very hard to programmatically determine what a sentence is.
    lettersp (letter spacing)minimum, nominal, maximum, kerntype, kernpairSome effects can be achieved with the letter-spacing property in CSS.
    indentleftind, rightind, firstlnSimilar effects can be achieved with margin and text-indent in CSS (but see page model below for a discussion of differences).
    quaddingquad, lastquadRoughly similar to text-align in CSS.
    highlt (highlight)reverse, scoring, scorewt, scoreoff, scorechron, scorechr, bckclr (background color), fontclr (font color), bckpct, forpct, allcap, scorespcSimilar effects can be achieved with color, background, and text-decoration in CSS.
    chgmark (change marks)literal, barthick, baroffset, join, type, cmclassThere is no similar functionality in CSS.
    prespace/postspaceminimum, nominal, maximum, condit, priorityThe same effects can be achieved with margin, padding, page-break-before, and page-break-after in CSS
    keepskeep, scope, widowct, orphanct, next, prev, floatsoutCorresponds to page-break-inside, widow, and orphan in CSS.
    vjinfo (vertical justification)presppr, postsppr, keepsprCorresponds to the vertical-align property in CSS.
    textbrk (textbreak)startcol, startpg, resumepg, pageid, newpgmdl, startln, endlnCorresponds to the page-break-before, page-break-after in CSS.
    spanspanThe span property describes how elements span several columns.
    borderbordnameThe bordname property points to the a border definition on a per page level.
    floatflidref (a reference to a float location), width, widowht, orphanht, scope, pagetype (same, facing etc.), inline, multirefnameThese properties describe how content can float to other parts of the document. For example, elements can float to the top of recto pages. There is no similar functionality in CSS.
    algroup (alignment group)refpoint (top, first, middle, last, bottom), postspaceThese properties are used to align elements next to each other, similar to the float property in CSS.
    suppresssupThe sup property has an integer value from 0-5 indicating a level of content suppression. In CSS, the none value on the display property can be used to indicate content suppression.
    boxingtoffset, boffset, loffset, roffset, trel, brel, siderel, leftgap, rightgap, thick, ttype, btype, ltype, rtype, inclr, inpct, outclr, outpctThese properties describe the boxing of content. This functionality is described in background, padding, and border properties.
    linksysid, targdocent, targid, endtargid, linktype, uselink, usetargid, useendtargidThese properties describe various aspects of links. There is no similar functionality in CSS.
    linkprocloprocess, exloproc, loconrule, liprocess, exliproc, liconruleThese properties describe various aspects of links. There is no similar functionality in CSS.
    resetresetlistSimilar to the counter-reset property in CSS
    enumerat (enumeration)increm, enumid, setvalueSimilar to the counter-increment property in CSS
    rulingthick, lentype, speclen, rellen, voffset, placemnt, ruleclr, rulepct, typeThese properties describe the look and placement of horizontal rules. CSS can only describe whether a horizontal rule should be present or not.
    puttextliteral, placemntThis functionality is similar to generated text in CSS2.
    putgraphgraphname, width, depth, placemnt, scalefit, hscale, vscale, hoffset, voffset, rotationCSS relies on markup to add external graphics.
    savetexttextid, conrule, placemnt, appendDescribes text content to be saved for use elsewhere. CSS does not have similar functionality.
    usetextsource, placemnt, userule, userparamDescribes what to do with text saved from some part of the document. There is no similar functionality in CSS.
    +
    + +

    In addition to the categories listed above, FOSI has several categories for table formatting. +

    + +

    Values and units

    + +

    Values in FOSI can be keywords, integers and lengths.

    + +

    The length units in FOSI are: pi (picas), pt (points), in (inches), mm (millimeters), cm (centimeters), em (em space). Notably missing is a pixel unit, and this indicates that FOSI is mostly targeted for printed output. The only relative unit is the em unit which CSS later adopted. The pica unit is called pi, not pc as in CSS.

    + +

    Values can contain simple expressions but relative and absolute units cannot be combined. Combinations of units are allowed. For example, to specify 5 picas plus 3 points one could write:

    + +
    5pi 3pt
    +
    + +

    The space separating the two values is optional. Subtraction can be achieved by adding a negative value:

    + +
    5pi -3pt
    +
    + +

    Integer values are used to represent boolean values [FOSI 1997]:

    + +
    Zero is defined as 0, false, no, and off. Non-zero is defined as 1, true, yes, and on.
    + +

    Some categories have properties to declare minimum, nominal and maximum values:

    + +
    <e-i-c gi="title" context="chapter">
    +   <charlist>
    +     <font inherit="1" size="14pt" weight="bold">
    +     <leading lead="16pt">
    +     <quadding quad="center">
    +     <presp minimum="4pt" nominal="6pt" maximum="8pt">
    +     <postsp minimum="14pt" nominal="18pt" maximum="18pt">
    +     <keeps next="1">
    +     <textbrk startln="1" endln="1">
    +     <span span="1">
    +   </charlist>
    +</e-i-c>
    +
    + +

    Value propagation

    + +

    FOSI has an elaborate model for inheritance and defaulting. Some properties in FOSI are inheritable, but even inheritable properties are not inherited unless inheritance is specifically enabled. Inheritance can be enabled on a per-category basis and inheritance is enabled by the inherit attribute:

    + +
    <e-i-c gi="TITLE">
    +  <charlist>
    +    <font inherit="1" size="20pt">
    +  </charlist>
    +</e-i-c>
    +
    + +

    In the example above, all properties in the font category use the inherited value except size which sets the value explicitly. By setting the inherit attribute on the charlist element, inheritance will be enabled for all inheritable properties:

    + +
    <e-i-c gi="h1">
    +   <charlist inherit="1">
    +     <font size="14pt" weight="bold">
    +     <textbrk startln="1" endln="1">
    +     <presp minimum="4pt" nominal="6pt" maximum="8pt">
    +     <postsp minimum="14pt" nominal="18pt" maximum="18pt">
    +   </charlist>
    +</e-i-c>
    +
    + +

    The inherit attribute on the charlist element effectively gives the default value for all inheritable categories therein, and then the individual inherit attribute on each inheritable category may override it.

    + +

    The specification also describes an envname attribute on the charlist element [FOSI 1997].

    + +
    If inheritance is not enabled for this category, the characteristics in this category that are not explicitly assigned values obtain their respective values from the environment indicated by the environment name (envname) attribute of the charlist.
    + +

    In practice, however, envname is never used in FOSI style sheets [Grosso 1993].

    + +

    Figure 2 is one of the few figures in the FOSI specification. It describes the information flow in the inheritance and defaulting mechanism.

    + +
    +

    Complex diagram showing inheritance and defaulting flow chart in FOSI

    + +

    Inheritance and defaulting flow chart in FOSI.

    +
    + + +

    Visual formatting model

    + +

    FOSI supports a rich formatting model, including tables, multi-column layout, headers and footers areas, and footnotes. Here is a simple example on how to set page margins.

    + +
    <pagedesc>
    +  <pagespec>
    +    <topmarg nomdepth="1.5in">
    +    <botmarg nomdepth="1.4in">
    +    <leftmarg width="1.5in">
    +    <rightmarg width="1.5in">
    +  </pagespec>
    +</pagedesc>
    +
    + +

    FOSI's formatting model is based on a sequence of areas being poured into the layout area. Normally, block-level elements are positioned relative to the layout area. However, FOSI also provides a way of referencing the position of the parent element to create the appearance of a box model [FOSI 1997]:

    + +
    The syntax for indents allows for specification [..] with respect to the text margin determined by the parent element's indent, for example, "@+2pi" or "@­2pi". The delimiter "@" can be used to specify that the indent is relative to the text margin established by the element's parent, including any indenting that may have been applied.
    + +

    Here is an example of using this feature:

    + +
    <e-i-c gi="BLOCKQUOTE">
    + <charlist>
    +   <indent firstln="*" leftind="@+1em" rightind="@+1em">
    + </charlist>
    +</e-i-c>
    +
    + +

    (In FOSI the indentation of the first line must be set explicitly to the special value * to give it the same indentation as the rest of the paragraph.)

    + +

    Elements are set to be block-level or inline with the textbrk category:

    + +
    <e-i-c gi="BLOCKQUOTE">
    + <charlist>
    +      <textbrk startln="1" endln="1"> 
    + </charlist>
    +</e-i-c>
    +
    + +

    The startln and endln properties indicate that there should be a line break before and after the element, respectively.

    + + + + +

    Linking mechanism

    + +

    Most commonly, FOSI style sheets are not directly associated with documents. Instead, the style sheet is associated with a DTD and documents refer to the DTD via the SGML doctype declaration. How the association between the DTD and the style sheet is established is implementation-dependent.

    + +

    Generated content

    + +

    FOSI has a developed system for generated content. Here is a simple example to add a string and a counter before an element:

    + +
    <e-i-c gi="H1">
    +  <charlist>
    +    <font weight="medium" size="20pt">
    +    <enumerat increm="1" enumid="chaptercounter">
    +    <usetext placemnt="before" source="\Chapter \,chaptercounter,\: \">
    +    </usetext>
    +  </charlist>
    +</e-i-c>
    +
    + +

    The generated content is specified on the source attribute of the usetext element. The \ characters are effectively quotes to delimit literal strings. The chaptercounter string is the name of a counter that is declared somewhere else.

    + +

    To give the generated text a distinct style, the subchars element can be used:

    + +
    <e-i-c gi="H1">
    +  <charlist>
    +    <font weight="medium" size="20pt">
    +    <enumerat increm="1" enumid="chaptercounter">
    +    <usetext placemnt="before" source="\Chapter \,chaptercounter,\: \">
    +      <subchars>
    +        <font weight="bold">
    +      </subchars>
    +    </usetext>
    +  </charlist>
    +</e-i-c>
    +
    + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    FOSI in context

    + +

    FOSI was the first style sheet language to be standardized and has, as such, been a pioneer in the area of style sheet languages. The FOSI specification is lengthy and difficult to read (for example, it lacks a table of contents), but FOSI style sheets can be remarkably intuitive, concise and powerful.

    + +

    Being a pioneer, FOSI shows innovation in many areas. Among the innovative features are:

    + +
      + +
    • The use of SGML as a syntactic foundation. It may be argued that SGML was meant to create markup languages and not style sheet languages, but the FOSI syntax is still friendly both to authors and readers.
    • + +
    • The inheritance/default mechanism. Though it is too complicated to be used in full, it is an early attempt to address the issue of multiple sources for stylistic information. As such it can be compared with cascading in CSS.
    • + +
    • The simple, yet powerful selector mechanism. (The syntax, however, is only readable to the initiated.)
    • + + +
    + +

    In addition to being innovative, the specification has a reasonably restricted scope. The properties have been carefully selected to produce common typographic effects without being excessive.

    + +

    On the negative side, some features described in the specification remained unimplemented and unused. Also, the number of implementations is limited and they support different subsets of the specification. For this reason, FOSI style sheets have a reputation for being non-interoperable [Harvey 2002].

    + +

    While the SGML community was waiting for DSSSL, FOSI actually did a decent job of printing SGML documents. If more efforts had gone into producing a more mature specification, trimming unused features, and addressing the issues of importance to the SGML community (e.g., multi-directional text) I believe FOSI would have prevailed.

    + + +

    DSSSL

    + + +

    When FOSI was adopted by CALS around 1989 it was perceived of as an interim solution [Kennedy 1997]. The SGML community expected DSSSL [DSSSL 1996] to be a permanent solution. For a permanent solution to be acceptable to the SGML community it would need to:

    + +
      + +
    • be approved by ISO, the same organization that published the SGML standard; and
    • + +
    • support multi-directional typography. For the CALS project this aspect of a style sheet language had not been important since all their documents were written in English.
    • + +
    + +

    The work on DSSSL started in 1986-87 overlapping with the final tweaking of SGML [Adler 2002]. DSSSL became an ISO standard a decade later in 1996 [DSSSL 1996]. Expectations were high when DSSSL was released. From [ManTech 1997]:

    + +
    It is our belief that the tremendous interest and anticipation for DSSSL in the SGML arena is not without reason, and we expect DSSSL to be the undisputed (likely and logical) specification of choice in SGML publishing for either paper or electronic delivery.
    + +

    DSSSL is the most complex specification reviewed in this thesis. The specification is difficult to read and has few examples. The DSSSL community, however, has produced a body of documentation on DSSSL and Paul Prescod's tutorial [Prescod 1997a] has been especially helpful when reviewing DSSSL.

    + +

    The DSSSL specification has two main parts: the style language and the transformation language. Only the style language is of concern in this dissertation, and the transformation language is not discussed.The style language in DSSSL can also be used as a transformation language with an extension that Jade [Clark 1998], a DSSSL implementation, supports. +

    + +

    Syntax

    + +

    DSSSL is based on the Scheme programming language and this is reflected in the syntax as well as functionality. Scheme is an example of a functional programming language that emphasizes the evaluation of expressions, rather than the execution of commands [Hutton 2002]. While most other style sheet languages are not Turing-complete DSSSL is a Turing-complete programming language. The DSSSL specification itself [DSSSL 1996] downplays this:

    + +
    The DSSSL specification languages are declarative. They are not intended to be complete programming languages, although they contain constructs normally associated with such languages.
    + +

    (The term DSSSL specification languages refers to the DSSSL style language and the DSSSL transformation language.)

    + +

    Jon Bosak explains how DSSSL is different from other programming languages [Bosak 1997]:

    + +
    It's a mistake to put DSSSL into the same bag as scripting languages. Yes, DSSSL is turing-complete; yes, it's a programming language. But a script language (at least the way I use the term) is procedural; DSSSL very definitely is not. DSSSL is entirely functional and entirely side-effect-free. Nothing ever happens in a DSSSL stylesheet. The stylesheet is one giant function whose value is an abstract, device-independent, nonprocedural description of the formatted document that gets fed as a specification (a declaration, if you will) of display areas to downstream rendering processes.
    + +

    Paul Prescod [Prescod 1997a] expands on the implications of being side-effect-free:

    + +
    DSSSL's "expression language" is a full featured programming language that can do most of the things other programming languages can do. It is, however, a side-effect free language. That means that you cannot read or write files, open or close windows, assign to variables or do anything other than transform or format an SGML document.
    + +

    The choice of Scheme as the basis for DSSSL was lauded by Erik Naggum [Naggum 1994]:The lack of normal capitalization in this quotation is the choice of the original author.

    + +
    the most obvious advantage of using Scheme is that the DSSSL team built on the decades of experience that went into Scheme, not having to invent their own language. the second most obvious advantage of using Scheme is that several of the large SGML vendors are already using languages from the LISP family in their products, if not Scheme itself, and it has an inordinately simple syntax that you learn in half an hour.
    + +

    There were few dissenters to the choice basing DSSSL on Scheme. Paul Prescod presented a couple of heretic ideas in a message posted to the DSSSL mailing list [dssslist] in May 1997. One of the issues was the syntax [Prescod 1997a]:

    + +
    Syntax less like Lisp? Maybe a CSS-like syntax? I'm strongly supportive of the existing DSSSL syntax for the full DSSSL constituency, but I don't want to turn off Dirty Perl Hackers.
    + + +

    At this point, however, DSSSL had already become an ISO standard and was not about to change.

    + +

    Here is a simple DSSSL fragment:

    + +
    (element H1
    +  (make paragraph
    +      font-size: 14pt
    +      font-weight: 'bold))
    +
    + +

    The above example declares that elements of type H1 are block-level with 14pt bold text. In DSSSL terminology, a Specification of a Sequence of Flow Objects (a.k.a. sosofo) is returned by the element construction rule whenever an H1 element is encountered in the source document. The sequence specified in the above rule only contains one flow object, namely the paragraph flow object.

    + +

    The rule above is composed of two parts:

    + +
      + +
    • the selector part (described in the Selectors section below);
    • + +
    • the construct expression, i.e. the make function which creates the flow object (described in the Properties section below).
    • + +
    + +

    Two properties are set in the above construct expression: font-size and font-weight. The first property takes a length value (14pt) and the second a keyword value ('bold) Keyword values in DSSSL are preceded by ' to indicate that they should not be evaluated further.

    + +

    Since DSSSL is a programming language, common operations can be abstracted into a separate function. Consider this example:

    + +
    (define (create-heading heading-font-size)
    +  (make paragraph
    +        font-size: heading-font-size
    +        font-weight: 'bold))
    +
    +(element h1 (create-heading 24pt))
    +(element h2 (create-heading 18pt))
    +
    + +

    In the above example, the create-heading function is defined. It takes one argument, namely the size of the heading. By calling the function with different arguments, h1 and h2 elements will have different font sizes, but both will be bold-faced.

    + +

    Although DSSSL's syntax is based on Scheme, DSSSL style sheets are technically SGML documents and need SGML's DOCTYPE to be recognized as such.

    + +
    <!DOCTYPE style-sheet system "style-sheet.dtd" >
    +
    +(element P
    +  (make paragraph
    +    first-line-start-indent: (* 2 (actual-font-size))))
    +
    + +

    Selectors

    + +

    Selectors in DSSSL are simple. Unlike CSS, much of DSSSL's logic for setting property values on a specific element is found in the declarations rather than in the selectors. Selectors form the first part of construction rules. There are five types of construction rules and each one is described below.

    + +

    For a given element in a document, only one construction rule can fire. This is different from CSS where several selectors can match one element. Like CSS selectors, DSSSL construction rules have a specificity to determine which construction should be used.

    + + +

    Element construction rule

    + +

    Element construction rules are the most common type of construction rules. Elements are selected based on their type:

    + +
    (element h1 (make paragraph ...))
    +
    + +

    Also, contextual selectors can be written as element construction rules:

    + +
    (element (ol li) (make paragraph ...))
    +(element (html body div h1) (make paragraph ...))
    +
    + +

    The first selector in the above example selects li elements that are children of ol elements. The second selector lists three elements that must be immediate ancestors of the h1 element in order to match.

    + +

    To write more complex queries DSSSL's Standard Document Query Language can be used along with conditional expressions. Here is an example that selects elements based on the existence of an attribute:

    + +
    (element NOTE
    +   (if (not (node-list-empty? (attribute "WARNING")))
    +     ...
    +     ...))
    +
    + +

    In the above example, NOTE elements with a WARNING attribute are selected. Here is another example which selects all P elements that are first children:

    + +
    (element P
    +   (if (absolute-first-sibling? (current-node))
    +     ...
    +     ...))
    +
    + +

    By combining the query language with the mathematical expressions offered by DSSSL, some interesting selectors can be constructed:

    + +
    (element TR
    +   (if (= (modulo (child-number) 2)
    +          0)
    +     ...   ;even-row
    +     ...)) ;odd-row
    +
    + +

    The example above will allow style sheets to set values on every other row in an HTML table.

    + + +

    Root construction rule

    + +

    The root construction rule selects the root element, independent of its name. Here is an example:

    + +
    (root (sequence
    +    font-family-name: serif-font-family))
    +
    + + +

    Default construction rule

    + +

    The default construction rule is used to set rules for all properties. Consider this example:

    + +
    (default (sequence
    +    font-family-name: serif-font-family))
    +
    + + +

    Query construction rule

    + +

    The query construction rule is not supported by the leading DSSSL implementation (Jade [Clark 1998]) and therefore is not widely used.The query construction rule should not be confused with the core query language which has been implemented and is in use. I have found only one code example (from [Martin 1999]) that uses query construction rules:

    + +
    (query q-class 'pi )
    +   (make paragraph
    +       literal "Processing instruction: "
    +       (node-property 'system-data
    +            (current-node))
    +   )
    +)
    +
    + +

    The above code would select all processing instructions (pi) in a document and print their names preceded by the string Processing instruction. Prescod states that ... you can use conditional expressions to do basically the same things with more work [Prescod 1997a]. See Element construction rule above for some examples.

    + +

    ID construction rule

    + +

    The ID construction rule is used to select elements based on their ID. Consider this HTML example:

    + +
    <P ID="x678y">An S-expression is a list
    +   of function calls and their arguments.</P>
    +
    + +

    The P element in the example above can be selected with this ID construction rule:

    + +
    (id ("x678y")
    +  (make paragraph))
    +
    + +

    Properties

    + + +

    DSSSL provides a comprehensive set of more than 200 properties (called characteristics in DSSSL terminology) to describe the rendering of content.This author has counted 213 properties altogether, excluding properties only used on the math flow objects.

    + +

    As in other style sheet languages, not all properties apply to all elements. In DSSSL, each type of flow object accepts a subset of the properties. For example, the paragraph flow object accepts all font-related properties (amongst others) while the simple-page-sequence flow object accepts properties to set page margins. Conceptually, DSSSL flow objects are similar to XSL formatting objects discussed in the previous chapter, but there is no XML syntax for DSSSL flow objects.

    + +

    In Table 5, the DSSSL flow objects are listed along with the properties they accept. It is beyond the scope of this thesis to describe the flow objects and associated properties in more detail, but the table will give an indication of the complexity of DSSSL. A question mark after a property name indicates that the property only accepts a true/false value.

    + +
    +

    DSSSL's flow objects and associated properties.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Flow objectProperties
    Sequencenone, this is a container for other flow objects
    Display-groupcoalesce-id, position-preference, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Simple-page-sequencepage-width, page-height, left-margin, right-margin, top-margin, bottom-margin, header-margin, footer-margin, left-header, center-header, right-header, left-footer, center-footer, right-footer, writing-mode
    Page-sequenceinitial-page-models, repeat-page-models, force-last-page, force-first-page, blank-back-page-model, blank-front-page-model, justify-spread?, page-category, binding-edge
    Column-set-sequencecolumn-set-model-map, column-set-model, position-preference, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Paragraphlines, asis-truncate-char, asis-wrap-char, asis-wrap-indent, first-line-align, alignment-point-offset, ignore-record-end?, expand-tabs?, line-spacing, line-spacing-priority, min-pre-line-spacing, min-post-line-spacing, min-leading, first-line-start-indent, last-line-end-indent, hyphenation-char, hyphenation-ladder-count, hyphenation-remain-char-count, hyphenation-push-char-count, hyphenation-keep, hyphenation-exceptions, line-breaking-method, line-composition-method, implicit-bidi-method, glyph-alignment-mode, font-family-name, font-weight, font-posture, font-structure, font-proportionate-width, font-name, font-size, numbered-lines?, line-number, line-number-side, line-number-sep, quadding, last-line-quadding, last-line-justify-limit, justify-glyph-space-max-add, justify-glyph-space-max-remove, hanging-punct?, widow-count, orphan-count, language, country, position-preference, writing-mode, start-indent, end-indent, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Paragraph-breakThe first-line-start-indent characteristic is applicable to the line following a paragraph-break flow object, and the last-line-end-indent characteristic is applicable to the line preceding a paragraph-break flow object.
    Line-fieldfield-width, field-align, writing-mode, inhibit-line-breaks?, break-before-priority, break-after-priority
    Sidelinesideline-side, sideline-sep, color, layer, line-cap, line-dash, line-thickness, line-repeat, line-sep
    Anchoranchor-keep-with-previous?, display?, span, span-weak?, inhibit-line-breaks?, break-before-priority, break-after-priority
    Characterchar, char-map, glyph-id, glyph-subst-table, glyph-subst-method, glyph-reorder-method, writing-mode, font-family-name, font-weight, font-posture, math-font-posture, font-structure, font-proportionate-width, font-name, font-size, stretch-factor, hyphenate?, hyphenation-method, kern?, kern-mode, ligature?, allowed-ligatures, space?, inline-space-space, escapement-space-before, escapement-space-after, record-end?, input-tab?, input-whitespace-treatment, input-whitespace?, punct?, break-before-priority
    Leaderlength, truncate-leader?, align-leader?, min-leader-repeat, inhibit-line-breaks?, break-before-priority, break-after-priority
    Embedded-textdirection, language, country, inhibit-line-breaks?
    Ruleorientation, length, color, layer, line-cap, line-dash, line-thickness, line-repeat, line-sep, position-point-shift, inhibit-line-breaks?, break-before-priority, break-after-priority, display-alignment, start-indent, end-indent, writing-mode, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    External-graphicdisplay?, scale, max-width, max-height, entity-system-id, notation-system-id, color, layer, position-preference, display-alignment, start-indent, end-indent, writing-mode, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?, position-point-x, position-point-y, escapement-direction, inhibit-line-breaks?, break-before-priority, break-after-priority
    Included-container-areadisplay?, filling-direction, width, height, contents-alignment, overflow-action, contents-rotation, scale, position-preference, display-alignment, end-indent, writing-mode, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?, position-point-x, position-point-y, escapement-direction, inhibit-line-breaks?, break-before-priority, break-after-priority
    Scoretype, score-spaces?, color, layer, line-cap, line-dash, line-thickness, line-repeat, line-sep, inhibit-line-breaks?, font-family-name, font-weight, font-posture, font-structure, font-proportionate-width, font-name, font-size
    Boxdisplay?, box-type, box-open-end?, background-color, background-layer, box-corner-rounded, box-corner-radius, box-border-alignment, box-size-before, box-size-after, color, layer, line-cap, line-dash, line-thickness, line-repeat, line-sep, line-miter-limit, line-join, writing-mode, position-preference, inhibit-line-breaks?, break-before-priority, break-after-priority, start-indent, end-indent, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Side-by-sideside-by-side-overlap-control, position-preference, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Side-by-side-itemstart-indent, end-indent, side-by-side-pre-align, follows, side-by-side-post-align
    Glyph-annotationannotation-glyph-placement, annotation-glyph-style, inhibit-line-breaks?, break-before-priority, break-after-priority
    Alignment-pointnone
    Aligned-columndisplay-alignment, start-indent, end-indent
    Multi-line-inline-noteopen, close, inline-note-line-count, inline-note-style, inhibit-line-breaks?, break-before-priority, break-after-priority
    Emphasizing-Markmark, mark-distribution, mark-style, inhibit-line-breaks?, break-before-priority, break-after-priority
    Flow objectProperties
    Tabletable-width, table-auto-width-method, table-border, before-row-border, before-column-border, after-column-border, table-corner-rounded, table-corner-radius, position-preference, display-alignment, end-indent, writing-mode, span, span-weak?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Table-parttable-part-omit-middle-header?, table-part-omit-middle-footer?, space-before, space-after, keep-with-previous?, keep-with-next?, break-before, break-after, keep, may-violate-keep-before?, may-violate-keep-after?
    Table-columncolumn-number, n-columns-spanned, width, display-alignment, start-indent, end-indent
    Table-row(none, this is a container for other flow objects)
    Table-cellcolumn-number, n-columns-spanned, n-rows-spanned, cell-before-row-margin, cell-after-row-margin, cell-before-column-margin, cell-after-column-margin, cell-row-alignment, cell-background?, background-color, background-layer, cell-before-row-border, cell-after-row-border, cell-before-column-border, cell-after-column-border, starts-row?, ends-row?, line-cap, line-dash, line-thickness, line-repeat, line-sep, float-out-sidelines?, float-out-marginalia?, float-out-line-numbers?
    Table-borderborder-priority, border-alignment, border-omit-at-break?, color, layer, line-cap, line-dash, line-thickness, line-repeat, line-sep, line-miter-limit, line-join
    Flow objectProperties
    Scrollfilling-direction, writing-mode, background-color, background-layer, background-tile, start-margin, end-margin
    Multi-modemulti-modes, principal-mode-simultaneous?
    Flowdestination
    Marginaliamarginalia-sep, marginalia-side, marginalia-keep-with-previous?
    +
    + +

    Most properties in DSSSL are relative to writing direction, rather than being absolute. For example, the DSSSL margin properties on the paragraph flow object are called start-margin and end-margin rather than the margin-left and margin-right that CSS uses. However, page margins are set with absolute properties, including left-margin and right-margin.

    + + + + + +

    Values and units

    + +

    DSSSL offers a simple set of of values and units also found in other style sheet languages, as well as the ability to let values be lists and advanced expressions.

    + +

    The most frequently used DSSSL values are:

    + +
      + +
    • keywords (e.g. 'bold): keywords start with an apostrophe (') to indicate that no further processing should be performed;
    • + +
    • boolean values: true/false are represented by #t and #f, respectively; and
    • + +
    • length values: the base length unit for DSSSL is the meter, m. Pre-defined derived units are: cm, mm, in, pt, pica. +
    • + +
    + +

    Here is a simple example of a value and unit in DSSSL:

    + +
    (element H1
    +  (make paragraph
    +      font-size: 20pt))
    +
    + +

    In the above example, the font size of H1 elements is set to a fixed size.

    + +

    Notably missing from the list of units are relative units, e.g. the em unit used in FOSI (and later in CSS). Jon Bosak presents one way of supporting the em unit in DSSSL [Bosak 1996a]:

    + +
    (define %visual-acuity% "normal")
    +;; (define %visual-acuity% "presbyopic")
    +;; (define %visual-acuity% "large-type")
    +
    +(define %bf-size%
    +  (case %visual-acuity%
    +(("normal") 10pt)
    +(("presbyopic") 12pt)
    +(("large-type") 24pt)))
    +
    +(define-unit em %bf-size%)
    +
    + +

    In the example above, one em is set to be an absolute measurement equal to the height of a base font. The size of the base font depends on the visual-acuity variable. This definition of em makes it an absolute unit.

    + +

    Typically, however, the em unit is relative to the font size of the element itself or the font size of the parent element. This can also be expressed in DSSSL. Consider this example:

    + +
    (element H1
    +  (make paragraph
    +      font-size: (* 2 (inherited-font-size))))
    +
    + +

    The expression (* 2 (inherited-font-size)) refers to the font size inherited from the parent element and multiplies it by two before assigning it to the H1 element. This example shows that DSSSL turns to expressions for quite simple operations and that expressions can be very powerful. Expressions in DSSSL extend well beyond even the most advanced units. Consider this example:

    + +
    (element H1
    +  (make paragraph
    +      font-size: (+ 4pt (inherited-font-size))))
    +
    + +

    The example above sets the element's font size to be 4pt larger than the parent element's font size. These kinds of values are not possible without expressions.

    + +

    Value propagation

    + +

    DSSSL has a simple model for value propagation. Properties are classified as inherited or non-inherited. All inherited properties have an initial value, and all non-inherited properties have a default value which serves the same purpose. In general, DSSSL and CSS agree on on which properties are inherited.

    + + +

    Visual formatting model

    + +

    DSSSL has a rich formatting model with emphasis on producing printed output. A DSSSL style sheet can specify multi-column layout, footnotes, sidenotes, tables and other advanced constructs. Central to the DSSSL formatting model is the notion of flow objects and areas.

    + +

    Flow objects

    + +

    DSSSL defines the visual appearance of a formatted document in terms of property values attached to a tree of formatting objects, called flow objects in DSSSL. The first step in the DSSSL formatting process is to construct the flow object tree from the source document. This process is a tree transformation process, and it is no coincidence that DSSSL is also a tree transformation language.

    + +

    DSSSL defines around 35 types of flow objects (including flow objects for tables and online display, excluding mathematics). DSSSL's flow objects and their associated properties are listed in the Properties section above. Two commonly used flow objects are paragraph (seen in previous examples) and simple-page-sequence. Below is a simple example of using simple-page-sequence to set margins on pages:

    + +
    (root
    +  (make simple-page-sequence
    +        left-margin:            1in
    +        right-margin:           1in
    +        top-margin:             1in
    +        bottom-margin:          1in
    +(process-children)))
    +
    + +

    The example is from [Germán 1997]. More advanced flow objects allow content, for example, to be presented in a multi-column layout, to appear in side notes and to generate footnotes. One missing feature is that of floating images with surrounding text.

    + +

    A significant amount of work has gone into DSSSL to make sure the flow objects can support multi-directional text.

    + +

    Areas

    + +

    The second part of the DSSSL formatting process is to produce a sequence of rectangular areas from the tree of flow objects. The DSSSL specification claims to not fully describe areas (The nature of these areas is not fully specified by this International Standard [DSSSL 1996]), but they seem to be described at the level of detail comparable with other style sheet languages.

    + +

    Areas have a fixed width and height. There are two types of areas: inline areas that are part of lines, and display areas that are not part of lines. Typically, display areas are block-level containers for other content.

    + + + +

    Linking mechanism

    + +

    Neither SGML nor the DSSSL specification describe how to link style sheets to source documents. Typically, DSSSL implementations look for SGML processing instructions in the source document. For example, Jade [Clark 1998] recognizes two types of processing instructions:

    + +
      <?stylesheet href="sysid" type="text/dsssl">
    +  <?dsssl sysid>
    +
    + +

    In the above example, sysid is a system identifier which typically is a file name.

    + +

    Generated content

    + +

    DSSSL has strong functionality for generated content. Through expressions, several chunks of different styles can be associated with any element. Here is a simple example from [Prescod 1997a]:

    + + +
    (element note (make paragraph font-size: 12pt
    +    (make sequence
    +        font-weight: 'bold
    +        (literal "Warning:"))
    +    (process-children)))
    +
    + +

    The above example adds the string Warning before the content of the note element. +

    + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    DSSSL in context

    + +

    DSSSL was received enthusiastically by SGML experts when released in 1996. Erik Naggum wrote [Naggum 1994]:

    + +
    this is the best thing that happened to the world of SGML since SGML itself, maybe more than that [...] this is good stuff. this deserves to become an International Standard [...] DSSSL is a solid piece of work.
    + +

    However, the implementation experience and actual use of DSSSL has been limited [DuCharme 2001]. There are, I believe, two major reasons for this: the specification itself and the outside world.

    + +

    First, the specification itself is difficult to read unless you are an SGML expert. The terminology used in the specification is precise, but terse. One example of DSSSL terminology is the acronym sosofo, which expands to specification of sequence of flow objects.

    + +

    Also, the Scheme-based language used to express style sheets is unfriendly to non-programmers. The language uses nested parentheses extensively and in order to learn Scheme you need to get over your fear of parentheses [Radestock 2004]. Some SGML experts did not consider the syntax to be a problem [Milowski 1997]:

    + +
    The fact that perl succeed with a rather cryptic language syntax suggests that it is not the syntax but what the language can do that makes something succeed. If I can transform my documents with a few lines of DSSSL code with parenthesis galour, I win over some other language in which it takes me many more! (not intended to rhyme) This should be our goal for extending DSSSL–simple clear descriptions of what should be done–not a change of syntax.
    + + + + + +

    Second, when DSSSL emerged in 1996 after ten years in development the outside world had changed. Printing SGML documents was no longer the main challenge for structured documents. Instead, HTML and the web had arrived but DSSSL was not targeted for the web. It could not could not express common HTML presentations (e.g. the styling of visited and active links). A DSSSL profile targeted for the web was developed (called DSSSL Lite, which is discussed in the next chapter) but did not gain much momentum.

    + +

    Measured by usage, DSSSL did not succeed as a style sheet language. However, the DSSSL specification has been influential for other style sheet languages, especially in the area of multi-directional layout. The DSSSL community has since developed XSL [XSL 2001] inside W3C.

    + +

    P94

    + + +

    The P language was developed by Vincent Quint and Irène Vatton as part of their long-standing research on structured documents at INRIA in Grenoble [Thot 2001]. Together, the T language (for Transformation), the S (for Structure) and P (for Presentation) form the Thot languages. These are supported by a software library known as the Thot library. The purpose of the Thot library is to facilitate the creation of document centered applications based on the concept of structured active documents.

    + +

    The work on Thot started in 1983 and initial results were first published in 1986. Several industry collaborations followed and Thot formed the core of several commercial products, including Grif and Symposia. In 1995, INRIA became the European host of the World Wide Web Consortium, and Vincent Quint and Irène Vatton joined as W3C staff in 1996. The work on Thot continued in W3C's Amaya Web editor which uses the Thot library. Amaya is a test-bed application for W3C specifications, and CSS, XHTML, SVG, MathML and XML are experimentally supported by Amaya. Typically, Amaya adds support for a new specification by translating the external language into one of the internal languages (P, S or T). Amaya's formatter is built around the P language and the default formatting of the markup languages supported by Amaya is described in P. Also, Amaya supports CSS by generating P rules that are subsequently interpreted by the formatter.

    + +

    In order to support CSS in Amaya it was necessary to extend the P language in some areas. For example, all CSS length units are now supported in P and a set of properties have been added to support padding, borders and margins around elements. For research purposes, it is interesting to study the P language before the influx of CSS and the web. The discussion below is therefore based on the P language as it existed in 1994 and is referred to as P94 [Quint 1994].

    + + +

    Syntax

    + +

    Style sheets in P94 are called presentation schema. They have two main parts: declarations and rules. Here is a small, but quite advanced, style sheet in P94:

    + +
    PRESENTATION HTML;
    +COUNTERS
    +   H2Counter : Set 0 on H1 add 1 on H2;
    +DEFAULT
    +        BEGIN
    +        Size: Enclosing =;
    +        Weight: Enclosing =;
    +        END;
    +RULES
    +  H2:
    +        BEGIN
    +        Size: Enclosing + 4 pt;
    +        Weight: Bold;
    +        END;
    +END
    +
    + +

    The first line declares what kind of documents the style sheet applies to. The style sheet above applies to HTML documents. The HTML string is arbitrary; it is the job of the Thot system to associate the style sheet with the document.

    + +

    The above example only has one declaration; the COUNTERS section specifies that the counter called H2Counter is set to zero when an H1 element is found, and is incremented by one when an H2 element is found in a pre-order traversal of the document tree. (The counter is only declared in the above style sheet, and not actually used.)

    + +

    In the above example, there are two sections containing rules: DEFAULT and RULES. A block of rules starts with the word BEGIN and ends with END;. The first block contains two rules. One specifies that font size should be inherited from the parent element, and the second rule specifies that the font weight should be inherited from the parent element. Rules in the DEFAULT section apply to all elements unless overridden by other rules in the RULES section. In the example above, the RULES section contains rules that only apply to H2 elements. The first specifies that the font size should be 4pt larger than the parent element's font size, and the second sets the font weight to bold.

    + +

    P94 is a case-insensitive language. By convention, properties and values are written in initial-cap, while other parts of the language are written in uppercase.

    + +

    In several ways, the syntax of P94 is similar to the Pascal programming language [Munson 1996]. Emphasis is put on declaring values before using them (e.g. counters), and on enforcing a block structure (the Pascal keywords BEGIN and END are used).

    + + +

    Selectors

    + +

    As in DSSSL, selectors in P94 are simple. Only element names and attribute names/values can be used as selectors. Here is a simple example:

    + +
    H1: Size: 20 pt;
    +
    + +

    The selector in the above example is H1 which selects all H1 elements in the document and sets the font size to 20 points. (The BEGIN and END keywords used in the previous examples can be omitted since there is only one declaration associated with the H1 selector.)

    + +

    Selectors based on attribute names/values are written in the ATTRIBUTES section of the style sheet. For example, to set the font size of all elements with a warning attribute one could write:

    + +
    ATTRIBUTES
    +  warning:
    +    Size: 25 pt;
    +
    + +

    More complex queries can also be written in P94 but the logic is placed in declarations rather than in the selector. For example, to set values on all LI elements within an OL element, one could write:

    + +
    LI: BEGIN
    +  if within OL Size: 10 pt;
    +END;
    +
    + + +

    Properties

    + +

    P94 has two types of rules, those containing a presentation parameter and those containing a presentation function. Presentation parameters are similar to properties in CSS and are discussed in this section. Presentation functions are used to create presentation boxes and are discussed in the section on Generated content below.

    + +

    Table 6 gives an overview of the properties in P94.

    + +
    +

    Properties of P94.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    P94 propertyCorresponding CSS functionalityComment
    LineSpacingline-height
    Indenttext-indent
    Adjusttext-alignThe Adjust property also accepts a LeftWithDots value to generate leaders.
    Justifytext-alignBoolean property
    Breakwhite-space: nowrapThe Break property is boolean and tells whether the element can be broken across several lines/pages.
    NoBreak1widowsThe NoBreak1 property also accepts a length as a value (in addition to an integer).
    NoBreak2orphansThe NoBreak2 property also accepts a length as a value (in addition to an integer).
    Gather-The Gather property was introduced to handle large documents. Thot formats only a part of the document, roughly the part that is displayed on the screen. When the user moves around in the document, a new part is formatted and the resources used by the part that is no longer displayed are released. The issue is to decide how much has to be formatted when something new has to be displayed. For example, by associating the Gather property with an equation, one can tell the formatter when you start formatting an equation, format it all or don't format it at all, but do not stop in the middle. This functionality is not found in any other style sheet language discussed in this thesis.
    VisibilityvisibilityLevels of visibility can be attached to elements to selectively hide elements below a certain threshold.
    Sizefont-sizeThe legal values for the Size property are discussed in the Length units section below.
    Fontfont-familyOnly three values are accepted: Times, Helvetica, and Courier.
    Stylefont-style/font-weightStyle accepts the following keywords: Roman, Bold, Italics, BoldItalics, Oblique, BoldOblique.
    Underlinetext-decoration
    Thickness-Describes the thickness of the underlining and can either be thick or thin.
    Depthz-index
    Contentcontent
    VertRef-Positions the reference axis, which is used for positioning boxes, vertically.
    HorizRef-Positions the reference axis, which is used for positioning boxes, horizontally.
    VertPosmargin/padding
    HorizPosmargin/padding
    Heightheight
    Widthwidth
    +
    + +

    With just over 20 properties, P94's property set is much smaller than those of FOSI or DSSSL. Still, P94 is a highly functional style sheet language which, in several respects, offers more functionality than the other languages. There are several explanations for this seeming discrepancy. First, P94 often combines into one property functionality that others split into several properties. For example, the Style property in P94 describes both font weight and font posture. Second, P94's constraint-based box model is able to reduce the number of properties by expressing quite complex geometrical relationships as values. Third, some property-intensive functionality offered by other languages is not available in P94. Examples include element borders (beyond simple horizontal and vertical rules), foreground and background colors, word- and letter-spacing.

    + + +

    Values and units

    + +

    Values and units in P94 can be divided into a traditional part and a novel part. The traditional part comprises the keywords and length units that are similar to those used in other style sheet languages. The novel part is made up of the values that are able to express constraints between elements and the elastic values.

    + +

    Length units

    + +

    Length units (called distance units in P94) can be absolute or relative. The absolute length units are: centimeters (cm), inches (in) and typographic points (pt, 1/72 inch).

    + +

    P94 also has a relative length unit similar to the em unit in FOSI and CSS. This is expressed with a number without a unit identifier:

    + +
    H2: Width: 20;
    +
    + +

    The example above sets the width of H2 elements to be 20 times the height of the current font.

    + +

    On the Size property, which describes the font size of the element, a unit-less number has another meaning. Size accepts an integer value between 1-6 (inclusive) which points into a table of font sizes kept by the application.

    + +
    H2: Size: 3;
    +
    + + +

    P94 has no concept of initial values. The application is responsible for setting an initial value if no default value exists.

    + +

    Constraints

    + + +

    Constraints form an important part of values in P94. Most style sheet languages are able to express some form of constraints. For example, one simple constraint can set the font size of an element to be 50% larger than the parent element.

    + + +

    Another kind of constraint supported by P94 concerns the maximum and minimum values which is accepted on the Size property. Consider this example:

    + +
    LI: 
    +  Size : Enclosing - 2pt Min 7;
    +H1:
    +  Size : Enclosing + 2 Max 5;
    +
    + +

    The first rule in the example above states that the font size of LI elements is 2 points less than that of the parent element, but that it may not be less than 7 points. The second rule states that the font size of H1 elements should be two sizes larger than the surrounding text, but not larger than 5. In both examples, the values that come after Min/Max takes the same unit as the value before Min/Max.

    + +

    Elastic values

    + +

    P94 has a notion of authorizing the user to choose dimensions for certain elements. Length values can be influenced by the users and are called elastic values. The Width and Height properties accept the Userspecified keyword in addition to a length value.

    + +
    GraphElem: BEGIN
    +  Width: 2 cm Userspecified;
    +END
    +
    + +

    The example expresses that GraphElem elements have a 2cm width by default, but users may change the width.

    + +

    Elastic values can be considered a form of cascading; one style sheet explicitly hands over control of some aspect of document formatting to the user. However, elastic values are only used in a limited manner in P94. The control that the style sheet defers to the user is meant to be filled in by user interaction rather than a separate user style sheet.

    + +

    Value propagation

    + +

    P94 offers three mechanisms to avoid setting all values for all properties for all elements. First, the DEFAULT section of the style sheet contains declarations used by default. Second, inheritance can transfer values for textual properties from nearby elements. Third, geometrical constraints can be established between boxes and thereby transfer values from one box to another.

    + +

    Consider this example:

    + +
    DEFAULT
    +  Depth: 0;
    +  Size: Enclosing =;
    +
    + +

    The DEFAULT section in the example above contains two rules. The first rule sets the default value of Depth to be zero. The second rule sets the default size of all elements to be equal to the size of the parent (Enclosing in P94 terminology) element. That is, the rule declares that the Size property is inherited.

    + +

    P94 relies less on inheritance of property values than most other style sheet languages. No values are inherited automatically and inheritance can only be specified for certain properties (Justificy, LineSpacing, Font, Style, Size, Visibility, and Indent). Values can be inherited from the parent element (Enclosing) as well as the child element (Enclosed) and the older sibling (Previous).

    + +

    Inheritance in P94 follows the logical structure of elements, therefore, generated content cannot transmit any values by inheritance.

    + +

    Here is an example of inheriting a value from a child element:

    + +
    RULES
    +  PRE: Width: Enclosed . Width;
    +
    + +

    In the example above, the width of PRE elements is set be the width of its enclosed box. That is, the width of the PRE element will be determined by its content, so-called inside-out formatting. While the PRE element doesn't have any child elements in the logical structure of elements, the contents of the PRE element form a box which can be referred to.

    + + +

    Geometrical constraints between boxes is the third type of value propagation mechanism in P94. This mechanism uses some of the same keywords (Enclosing, Enclosed, Previous) as the inheritance mechanism and, therefore, can be confusing. While inheritance only works for textual properties, geometrical constraints are used to position boxes. Also, geometrical constraints can refer to Next and Referred elements.In a description of the P language from 1993 [Grif 1993], the value is spelt Refered. This spelling mistake is remarkably similar to the spelling of Referer in HTTP, with the exception that the mistake remains in HTTP to this day [HTTP 1999]. +

    + +

    For an example of a geometrical constraint, see the Visual formatting model below.

    + +

    Visual formatting model

    + +

    The P94 formatting model is based on a hierarchy of rectangular boxes. There are three types of boxes:

    + +
      + +
    • boxes corresponding to elements in the document structure;
    • + +
    • presentation boxes that are generated; and
    • + +
    • page layout boxes.
    • + +
    + +

    Boxes corresponding to elements in the document structure form a tree structure identical to the structure of the document. This tree expresses the inclusion relationships between the boxes: a box includes all the boxes of its subtree.

    + +

    Presentation boxes represent elements which are not found in the logical structure of the document but which are added based on the existence of logical elements. This corresponds roughly to the pseudo-elements in CSS. For example, a presentation box can be used to add Chapter before each H1 element. See the section on Generated Content.

    + +

    Page layout boxes are boxes created implicitly by the page layout rules. These rules indicate how the contents of a structured element must be broken into lines and pages. In contrast to presentation boxes, these line and page boxes do not depend on the logical structure of the document but, rather, on the physical constraints of the output devices: character size, height and width of the window on the screen or of the sheet of paper.

    + +

    The formatting model P94 supports advanced formatting features such as footnotes, change marks, tables, and mathematics. One missing feature is that of floating images with text around them.

    + + +

    Linking mechanism

    + +

    In the S language, a default style sheet can be specified for each type of document. When the user creates a new document of that type, the editor uses the default style sheet. The user can specify another style sheet, and the editor will reformat the document accordingly. When the user saves the document, the current style sheets are recorded in the document itself.

    + +

    Generated content

    + +

    P94 has rich functionality to generate content in addition to the content in the document. For example, here is the code to add the text Chapter x: before all H1 elements (where x is replaced by an incrementing chapter number):

    + +
    COUNTERS
    +ChapterNumber: set 0 on BODY add 1 on H1;
    +BOXES
    +ChapNumBox: BEGIN
    +  Content: (text 'Chapter ' value(ChapterNumber, Arabic) text':');
    +  ...
    +END;
    +RULES
    +H1: BEGIN
    +  CreateBefore (ChapNumBox);
    +  ...
    +END;
    +
    + +

    The box to be generated before each H1 element is described in the BOXES section in the above example. The creation of the box is initiated by the presentation function CreateBefore.

    + +

    In the example above, the chapter number is added before every H1 element. P94 offers a set of logical expressions to indicate that the presentation function should only be called in certain conditions. Consider this example:

    + +
    Column:
    +  BEGIN
    +  CreateBefore (VertRule);
    +  IF LAST CreateAfter(VertRule)
    +  Width: 2.8cm;
    +  Height: Enclosed.Height;
    +  VertPos: Top = Enclosing.Top;
    +  HorizPos: Left = Previous.Rightl
    +  END;
    +
    + +

    In the example above, the CreateBefore presentation function is called for every Column element, but the CreateAfter function is only called if the Column element is the last in a set of siblings. P94 offers around 30 other conditions which can be tested before calling a presentation function.

    + +

    Other formatting contexts

    + +

    Views

    + +

    Central to P94 is the notion of views. Views can be thought of as several style sheets in one, and one P94 style sheet can describe several views. Examples of commonly used views are formatted view, source code view and table of contents. For example, Amaya can show different views at the same time (e.g., the formatted document can be shown in one window, and the table of contents in another window), and the user can edit in all views.

    + +
    PRESENTATION HTML;
    +
    +VIEWS
    +   Formatted_view,
    +   Table_of_contents;
    +
    +COUNTERS
    +   H2Counter : Set 0 on BODY add 1 on H1;
    +   H2Counter : Set 0 on H1 add 1 on H2;
    +
    +DEFAULT
    +        BEGIN
    +        Size: Enclosing =;
    +        Weight: Enclosing =;
    +        END;
    +
    +H1:        BEGIN
    +        Size: Enclosing + 6 pt;
    +        Weight: Bold;
    +        IN Table_of_contents
    +                Size: Enclosing + 2 pt;
    +        END;
    +
    +H2:        BEGIN
    +        Size: Enclosing + 4 pt;
    +        Weight: Bold;
    +        IN Table_of_contents
    +                Visibility: 0;
    +        END;
    +END
    +
    + +

    The example above adds a second view. In addition to Formatted_view (which is the default since it comes first), a view called Table_of_contents has been added. In this view, the font size of H1 elements is 2pt bigger than the parent (as opposed to 6pt bigger than the parent in the normal view), and H2 elements are not visible. In Thot, views within a presentation schema are synchronized in semi-realtime: when you select an element in one view, the other views are scrolled automatically to show the same element.

    + +

    Also, it is possible to write many different presentation schemas for the same document [Quint 1994]:

    + +
    Recall that it is possible to write many different presentation schemas for the same class of documents or objects. This allows users to choose for a document the graphical appearance which best suits their type of work or their personal taste.
    + +

    Typically, a schema defines a consistent set of views that may be useful for performing a particular type of task. For performing different types of tasks (drafting an outline, writing, fine tuning presentation, reviewing, etc.) one would write different sets of views, hence different schemas.

    + +

    P94 in context

    + +

    P94 was a powerful style sheet language in 1994. Combined with the S and T languages, it formed a powerful package for processing structured documents. The P language offers a rich set of stylistic functionality based on simple relationships between elements. Among the style sheet languages described in this chapter, it comes closest to expressing layout in terms of constraints between elements.

    + +

    P94 was developed for one application (Thot) and was never standardized as a style sheet language for use by other applications. I believe P94 would have been a good style sheet language for SGML around 1990 and one that could have developed into a suitable style sheet language for the web. The language is simple enough to be understood by authors, yet powerful enough to express advanced typography. The syntax, which may not be intuitive, may have been an argument against the use of P94. However, the main reason why P94 never entered into the competition was that the creators of P94 never proposed the use of P94 outside of Thot.

    + + +

    The P language has evolved from where it was in 1994. P now has properties to describe borders around elements, foreground and background colors, bi-directionality, hyphenation and more. These properties have been added in order to support W3C specifications such as CSS and SVG. P continues to serve a useful purpose as part of a test-bed application for new specifications.

    + +

    Summary and conclusions

    + +

    All style sheet languages share a set of common components. I propose the following six components to be required in a style sheet language: syntax, selectors, properties, values and units, value propagation mechanism, and formatting model. Most formatting models are visual, but aural and tactile formatting models are also possible. Also, many style sheet languages support generated content and a linking mechanism.

    + +

    Style sheets existed before the web and this chapter has reviewed three seminal systems: FOSI, DSSSL and P94. The main purpose of these style sheet languages was for printing structured documents. All three systems fulfill the style sheet language criteria that were established at the beginning of this chapter.

    + +

    The next chapter discusses style sheet languages for the web and evaluate nine different proposals by the same criteria used in this chapter. + + +

    +
    + +
    +

    Style sheet proposals for the web

    + + + +

    The previous chapter described style sheet languages developed and used before the web. This chapter will look at style sheet languages that were proposed specifically for the web. Each proposal will be evaluated according to criteria established in the previous chapter. + +

    + +

    The web was launched without a style sheet language in place. CERN's libwww library [Nielsen&Lie 1994], which formed the basis for many of the early web browsers, had a notion of style sheets but these were hardcoded into the application and could not be changed by authors or users. In order to allow authors and users to influence the presentation of documents, a style sheet language is necessary. However, around 1993 there was no obvious candidate for a web style sheet language. As discussed in the previous chapter, DSSSL was still being developed, FOSI was only in limited use, and P94 was not actively proposed for use on the web. Unlike structured documents, where SGML had been the natural basis for the development of HTML a few years earlier, no style sheet language had achieved a similar status.

    + +

    The first proposal for a style sheet language for the web appeared in 1993 and since then the subject of style sheets was a recurring topic discussed on the www-talk mailing list. In the period 1993-1995, eight different style sheet languages were proposed in web forums, mainly on the www-talk [www-talk] mailing list. In 1996 one language was proposed in an academic paper [Munson 1996]. All nine proposals are reviewed in chronological order in this chapter. The reviews are based on the proposals themselves, discussions on www-talk and other mailing lists, and personal communication with the authors. Some of the proposals have been implemented, but I have not had implementations available when doing the reviews.

    + +

    In August 1997, W3C received a A Proposal for XSL from several of its members [NOTE-XSL 1997]. As a result of the submission, a working group on XSL was formed and XSL became a W3C Recommendation in 2001 [XSL 2001]. In Chapter 2, XSL was discussed briefly in the context of style versus transformation. However, XSL will not be analyzed further in this chapter because it falls outside the time frame of the other proposals. +

    + +

    Robert Raisch's proposal (RRP)

    + +

    This style sheet proposal [Raisch 1993a] was published in June 1993 by Robert Raisch of O'Reilly & Associates Inc. It was the first style sheet proposal that was specifically designed for the web. Part of the introduction was used to argue why the web needed a style sheet language:

    + +
    There is a need within the WWW to be able to specify rendering specific information along with the content tagging in a WWW document. It is not appropriate to use HTML for this purpose, since one of the first principles of HTML is to encode objects within a document, not how they might be rendered in a particular environment.
    + +

    RRP was included in full in the message sent to www-style. The text message is around 700 lines and includes – in addition to the description of properties and values – a sample style sheet for HTML and pseudo-code for an implementation of RRP. +

    + +

    Syntax

    + +

    The syntax of RRP is designed specifically for the proposal. It is compact (in order to minimize the time required to retrieve and interpret style sheets), but not easy to read for humans at first sight. Here is a fragment from the Example stylesheet which is provided in an appendix of RRP:

    + +
    @BODY fo(fa=he,si=18)
    +
    + +

    In the example above, two properties in the font (fo) category are set on the BODY element. The font family (fa) is set to helvetica (he) and the font size (si) is set to 18 points.

    + +

    The example above is typical for RRP and all statements follow the same pattern: a selector is followed by one or more property/value pairs. All categories, properties and keyword values are represented by two-letter codes.

    + +

    Selectors

    + +

    RRP has a simple selector mechanism which selects elements based on their name. Elements cannot be selected based on other criteria such as their context or attributes. Selectors take the form:

    + +
    @<element-name>
    +
    + +

    In addition to element names, there is one selector which sets default values:

    + +
    @DEFAULT fo(fa=ti,sp=pr,si=14,we=me,sl=ro,fo=in,bo=in,li=no,nu=1,fn='')
    +
    + +

    The possible namespace conflict between DEFAULT and a future HTML element with that name is not addressed. All selectors are written in uppercase in the examples given in RRP, but the case-sensitiveness of RRP is not defined. As such, RRP is immature but not more so than the first version of other style sheet proposals.

    + +

    Properties

    + +

    RRP defines 35 properties that are grouped into eight property categories. The properties span a wide range in functionality; they describe both basic formatting primitives (such as the font and colors of an element) and also support some advanced features. Table 7 shows the categories, their associated properties and RRP's descriptive title of the categories.

    + +
    +

    RRP's catetories and properties.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CategoryProperties
    font (fo)family (fa), spacing (sp), size (si), weight (we), slant (sl), foreground (fo), background (ba), line (li), number (nu), longname (lo)
    justify (ju)style (st), hyphen (hy), kern (ke)
    column (co)num (nu), width (wi)
    break (br)style (st), object (ob)
    mark (ma)object (ob), preceed (pr), before (be), replace (re), succeed (su), after (af)
    vert (ve)before (be), after (af), spacing (le), offset (of)
    indent (in)left (le), right (ri), first (fi)
    link (li)location (lo), mark (ma), line (li), number (nu), before (be), after (af), hide (hi)
    +
    + +

    Several property names (e.g., before, after) are used in different categories (e.g., vert, link, mark) and mean something different in each category. The grouping of properties is therefore necessary to disambiguate properties. Consider this example:

    + +
    @LI ve(af=10) ma(af=5) li(af=st)
    +
    + +

    Three properties, all named after are set in the above example. The first rule sets the vertical space after an LI element to 10 units (see below for a discussion on units). The second rule sets the distance between a mark (i.e., the list-item marker) and the text of the element. The third rule describes links appearing inside LI elements; the rule declares that links should have a star (*) after them.RRP lists many possible marks (among them the star). However, the proposal does not specify the two-letter keyword to refer to marks, and the st value in the example is, therefore, a guess. +

    + +

    The concept of grouping properties into categories in RRP is similar to the grouping found in FOSI. Table 8 lists all RRP categories along with similar FOSI categories, and Table 9 compares the font category in RRP and FOSI.

    + +
    +

    A comparison of categories in FOSI and RRP.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RRP categoryFOSI category
    fontfont
    justifyquadding
    columncolumn
    breaktextbrk
    markno similar category
    vertvjinfo
    indentindent
    linkno similar category
    +
    + +
    +

    A comparison of the font category in RRP and FOSI.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RRP property nameRRP valuesFOSI property nameFOSI values
    family (fa)times (ti), helvetica (he), system (sy), typewriter (ty)style (in font category)serif, sanserif, monoser, monosans
    spacing (sp)monospace (mo), proportional (pr)no equivalent property
    size (si)integersize (in font category)length value using one of these units: pi, pt, in, mm, cm, em
    weight (we)ultralight (ul), light (li), medium (me), demibold (de), bold (bo)weight (in font category)ultlight, exlight, light, semlight, medium, sembold, bold, exbold, ultbold
    slant (sl)roman (ro), italic (it), oblique(ob)posture (in font category)upright, oblique, bsobl (back-slanted oblique), italic, bsital (back-slanted italic)
    foreground (fo)Colors are specified as text names, (eg. black, white, magenta), or as RGB color values in hexadecimal (e.g. 0x000000, 0xffffff, 0xff00ff)foreground (in highlight category)black, white, red, orange, yellow, green, blue, violet, brown, gray
    background (ba)Colors are specified as text names, (eg. black, white, magenta), or as RGB color values in hexadecimal (e.g. 0x000000, 0xffffff, 0xff00ff)background (in highlight category)bblack, bwhite, bred, borange, byellow, bgreen, bblue, bviolet, bbrown, bgray
    line (li)none (no), under (un), through (th), over (ov)set with scoring offset property in highlight categorya positive value will place the score below the baseline, and a negative value will place the score above the baseline
    number (no)a numeric value indicating the number of linesscoring (in highlight category)a numeric value indicating the number of lines
    longname (lo)string describing a platform-specific font namefamname (in font category)string describing platform-specific font name
    +
    + + +

    There are several indications that RRP is influenced by FOSI. The grouping of properties into categories are similar and use some of the same names. Also, many of the names used for for properties and values often are identical.

    + +

    Values and units

    + +

    RRP has four different kinds of values:

    + +
      + +
    • two-letter keywords
    • + +
    • strings
    • + +
    • colors expressed as hexadecimal digits
    • + +
    • integers (called UNITS)
    • + +
    + +

    Here is an example which uses all four kinds of values:

    + +
    @P fo(fa=ti fo='black' ba=0xffffff) co(nu=2,wi=10)
    +
    + +

    First, three values are set in the font category. The font family is set to times (which is one of four different font family values), the foreground color is set to black (which is one of several color names mentioned in the proposal), and the background color to white (expressed in hexadecimal numbers). Thereafter, the number of columns is set to 2, and the column width is set to 10.

    + +

    The interpretation of the integer value depends on the property in question, as well as the kind of object that the value is describing. For example, in the description of the column width property, the proposal states:

    + +
    In the case of a text object, UNITS might represent characters, while in the context of a graphical object, UNITS could represent picture elements (pixels.)
    + +

    The motivation for using one integer value and automatically switching between different ways of interpreting the value is to simplify the syntax. For some properties this may be an acceptable solution, but for other properties where the number of different units (as per CSS terminology) is high, the solution is insufficient. For example, in RRP, font sizes can only be expressed in typographic points, while other languages offer a number of different units.

    + +

    Value propagation

    + +

    RRP provides three mechanisms for value propagation. First, style sheets can specify default rules for element/property combinations that are not specified explicitly. The sample style sheet contains this fragment to set default values:

    + +
    @DEFAULT fo(fa=ti,sp=pr,si=14,we=me,sl=ro,fo=in,bo=in,li=no,nu=1,fn='')
    +  ju(st=le,hy=0,ke=0) co(nu=1,wi=80) br(lo=af,ob=it)
    +  ma(ob=it,pr=no,be=0,re=no,su=no,af=0)
    +  ve(be=0,af=0,sp=0,of=0) in(le=0,ri=0,fi=0)
    +  li(lo=in,ma=no,li=un,nu=1,be=no,af=no,hi=0)
    +
    + +

    Second, each property has an initial value defined in the specification. Most values set in the above example are redundant since the values are set to their initial values.

    + +

    Third, inheritance can be specified on two properties: foreground and background. Consider this excerpt from the above example (with one minor spelling correction: bo has been changed to ba):

    + +
    @DEFAULT fo(fo=in,ba=in)
    +
    + +

    In the above example, the foreground and background colors are set to inherit. In effect, this turns the foreground and background properties into inherited properties. Surprisingly, the inherit value (in) is not allowed on properties other than foreground and background.

    + +

    RRP's concept of inheritance (non-inherited properties, with an explicit inherit value) is similar to FOSI's inheritance model.

    + +

    Visual formatting model

    + +

    RRP sketches a simple visual formatting model. The proposal is not complete enough to get a full understanding of how it works and there is not enough information to classify RRP into a either a box model or a sequence model.

    + +

    Various break-related properties can be set to describe where line breaks occur. This way, elements will appear as block-level or inline and the amount of space before and after the element can be set.

    + +

    One advanced feature offered by RRP is multi-column layouts. The column number and column width properties can, for example, be used to describe a two-column page:

    + +
    @BODY co(nu=2,wi=40)
    +
    + +

    There is, however, no way to set the space between columns. The proposal, therefore, is not able to describe common cases of multi-column layouts.

    + +

    Linking mechanism

    + +

    RRP suggests using the LINK element to point to external style sheets, thus offering authors the possibility to link their documents to style sheets of their own liking. Here is the proposed syntax:

    + +
    <LINK STYLE={URL}>
    +
    + +

    User style sheets were not part of the proposal and there is no discussion in the proposal about authors versus reader preferences. However, the proposal limits the role of style sheets to be hints or suggestions that might be used [Raisch 1993a]:

    + +
    Rather, this is really a set of HINTS or SUGGESTIONS to the renderer which might be used to display particular HTML objects in the fashion the author of a document originally intended.
    + +

    This policy leaves room for honoring user preferences in combination with author style sheets.

    + +

    Generated content

    + +

    Not proposed.

    + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    RRP in context

    + +

    RRP was the first proposal for a style sheet language specifically for the web. As such, the proposal is groundbreaking and deserves credit for its early date of publication. After the proposal was published in June 1993 it was briefly discussed on the www-talk mailing list. However, the proposal was not developed further and the author's own implementation was never published.

    + +

    RRP is ambitious in several areas. Advanced topics such as counters and multi-column layouts are described. However, the descriptions of these topics are not detailed enough to produce consistent implementations. Also, RRP is simplistic in its approach to styling web documents. The most serious problem is probably the lack of units on numerical values. As a first draft, however, the proposal is well worth considering.

    + +

    It seems clear that RRP was inspired by FOSI. The grouping of properties, the property names, and the similar concept of inheritance indicate that the author knew FOSI. FOSI is not referenced in the proposal, however.

    + +

    RRP appeared at a time when the Mosaic browser development team was very active. If it had been taken up by Mosaic at an early stage, it is likely that HTML's presentation-oriented elements (e.g. FONT and CENTER elements) would not have appeared. Instead, more properties and values would have been added to RRP's style sheet language. As such, it is unfortunate that RRP was not implemented by web browsers of the time.

    + + +

    Pei Wei's proposal (PWP)

    + +

    In October 1993, four months after Robert Raisch's proposal was published, Pei Wei published a brief proposal for a style sheet language on www-talk [Wei 1993a]. As the architect and programmer behind the ViolaWWW browser Pei Wei was in a good position to implement a style sheet language. The ViolaWWW browser was launched in 1992 [Wei 1992] and was among the first graphical web browsers.

    + +

    Like Robert Raisch, Pei Wei was employed by O'Reilly and it was natural for the community on www-talk to ask about the relationship between the two proposals [Andreessen 1993b]:

    + +
    +
    From: Marc Andreessen (marca@ncsa.uiuc.edu)
    +Date: Fri, 22 Oct 93 23:48:42 -0700
    +
    +What's the relationship between this and Rob Raisch's stylesheet
    +proposal from this summer? (Rob, are you out there? :-)
    +
    +Cheers,
    +Marc
    +
    +
    + +

    The above message shows that the Mosaic developers indeed were following the development of style sheets. Robert Raisch's reply [Raisch 1993b] to Marc Andreessen was that he had left O'Reilly and that further questions should be directed to them. Pei Wei sent this reply [Wei 1993b]:

    + +
    +
    +Well, after Rob left ORA I've basically inherited the stylesheet
    +problem– finish the design, prototype, and final implementation.
    +As Rob has done the good work of writing the initial proposal,
    +I will try to reuse as much of the collected material as possible.
    +But there were and will be changes since Rob presented the proposal
    +this past summer.
    +
    +
    +
    + +

    Indeed, as the screenshot in Figure 3 testifies, style sheets were implemented in ViolaWWW.

    + +
    +

    Viola screenshot

    + +

    The PWP sample document rendered in Viola.

    +
    + +

    The document [Wei 1993d] shown in Figure 3 illustrates how PWP is supposed to work. Along with the style sheets that describe its presentation, it is considered to be part of the PWP proposal in order to make the proposal more complete. It is referred to as the sample document. + +

    + +

    Syntax

    + +

    PWP includes a sample style sheet which is short enough to reprint in full:

    + +
    (HEAD,BODY              fontSize=normal
    +                    BGColor=white
    +                    FGColor=black
    +    (H1                 fontSize=largest
    +                    BGColor=red
    +                    FGColor=white)
    +    (H2                 fontSize=large)
    +    (P)
    +    (A                  FGColor=red)
    +    (CMD,KBD,SCREEN,LISTING,EXAMPLE fontFamily=fixed)
    +    (BOLD,EMPH,STRONG           fontWeight=bold)
    +    (I                  fontSlant=italic)
    +    (ADDRESS
    +        (P              fontSlant=italic))
    +    (OL
    +    (LI             numStyle=roman
    +        (LI                 numStyle=number
    +        (LI         numStyle=alpha)
    +        )
    +    )
    +    )
    +    (FOOTNOTE               fontSize=small
    +    (P)
    +    )
    +)
    +
    + +

    The most striking feature of the syntax is the use of parentheses. The syntax of PWP is, like DSSSL, based on Lisp with its multi-level parentheses. Unlike DSSSL, however, the multi-level parentheses in PWP do not express functions. Rather, they express contextual selectors in the document structure. While having contextual selectors is a powerful feature, human readability of style sheets arguably suffers when multi-level parentheses are introduced in the syntax. Also, writability suffers since the parentheses need to be balanced in order to write valid style sheets.

    + + +

    Pei Wei probably expected resistance to the proposed syntax and when asking for feedback the syntax was explicitly mentioned:

    + +
    Particularly, any problem with the the syntax of the style description language?
    + +

    The syntax issue was one reason why Steve Heaney wrote an alternative proposal (which is discussed next), but there were no other comments about the syntax on www-talk.

    + +

    Since a PWP style sheet outlines the structure of the document, it can perceivably also be used to prescribe the structure. For example, in addition to describing the styling of H1 elements inside BODY elements, the style sheet fragment above can express that H1 elements must only appear inside BODY elements. In SGML, DTDs are used to express structural constraints, but PWP comes close to being able to replace DTDs. This may be what the author refers to in the statement: The lone "(P)"s are there to engage the respective <P> tags to be in those particular contexts. [Wei 1993a]

    + + +

    Selectors

    + +

    As discussed above, selectors are intrinsically built into the PWP syntax. By using multi-level parentheses, contextual selectors can easily be expressed. In the sample style sheet above, list items are given numbering styles depending on their level in the structure: the first level is numbered in the roman style, the second in the number style, and the third in the alpha style.

    + +

    Although not explicitly described in PWP, it is clear that contextual selectors express ancestor relationships, not parent-child relationships. Consider this fragment:

    + +
    (BODY
    +    (BOLD,EMPH,STRONG           fontWeight=bold))
    +
    + +

    Given the structure of HTML, it is clear that BODY is an ancestor of BOLD, EMPH, and STRONG rather than a parent (even if BOLD and EMPH are not HTML elements).

    + +

    As seen above, selectors can be comma-separated lists of element names. There are no provisions for selecting elements based on criteria other than name and context.

    + +

    Properties

    + +

    One significant difference between RRP and PWP is the naming and grouping of properties. PWP uses longer, more readable property names, and properties are not grouped. This makes style sheets in PWP more readable.

    + +

    The initial proposal does not contain a list of properties but the following properties are used in the sample style sheet: fontSize, fontWeight, fontSlant, fontFamily, numStyle, BGColor, FGColor.

    + +

    The number of properties supported by Viola seems to have increased over time. In the style sheets describing the sample document (Figure 3), these additional properties are used: fontSpacing, align, border, BDColor, blink, blinkColorOn, blinkColorOff.

    + +

    The set of properties listed above are sufficient for a proof-of-concept implementation like ViolaWWW, but are not well-suited for a widely deployed style sheet language for the web. For example, there are no properties to describe margins and indentation, but blinking behavior is described (perhaps tounge-in-cheek) in three properties.

    + +

    Values and units

    + +

    PWP style sheets use only two types of values: keywords and integers.

    + +

    Keywords are by far the most common and the sample style sheet [Wei 1993a] uses only keyword values. For example, the keyword values represent font sizes (small, normal, large, largest), color names (red, maroon, grey70), and list number types (roman, number, alpha). In general, the keyword values are intuitively understandable. The list of color names is taken from X11 [X11].

    + +

    Integer values are used on two properties: border and blink. Consider this excerpt from [Wei 1993d]:

    + +
    (BODY,HPANE,INPUT,P
    +  (SECTION              border=1)
    +  (P                    blink=1000))
    +
    + +

    The proposal does not fully describe how to interpret these values. The value of border may represent the border width in pixels, while the value of blink may represent the blinking interval in milliseconds.

    + +

    As for properties, the set of available values would need further development.

    + +

    Value propagation

    + +

    PWP uses inheritance to propagate values from parent to child elements. From [Wei 1993a]:

    + +
    Note that properties are inherited down the tree, unless overridden. [..] Having this inheritance behaviour also helps to keep the description short, as lots of information can be derived by the context in the tree structure.
    + +

    In addition, each property probably has an initial value in the ViolaWWW implementation, but this is not described in the proposal.

    + +

    Visual formatting model

    + +

    The description of the visual formatting model in PWP is not sufficiently complete to review fully. However, some information can be gained by analyzing the rendering of the sample document in Figure 3. ViolaWWW uses a box-based model (the P elements inside the SECTION element are enclosed by the border attached to the SECTION element). Also, PWP is able to align text within block-level elements to the left or right side. It is unclear what makes block-level elements be narrower than their containing block (e.g., the blue box with the ADDRESS element in it). PWP does not describe how to classify elements as inline or block-level.

    + +

    Linking mechanism

    + +

    PWP uses HTML's LINK element to point to external style sheets. The proposal is undecided about where LINK elements should be allowed:

    + +
    A document uses a <LINK REL="STYLE" HREF="URL_to_a_stylesheet"> to associate to a stylesheet. It's an open question as to whether we should allow multiple stylesheets in a document, and where this link can be specified (once only, in the <HEAD>?).
    + +

    ViolaWWW allowed LINK elements to appear within the body of the document. Here is a (somewhat shortened) fragment from the sample document:

    + +
    <HTML>
    +<HEAD>
    +<LINK REL="style" HREF="../../viola/sgml/styles/HTML_sodium.stg">
    +</HEAD>
    +<BODY>
    +<H1>Simple stylesheets test</H1>
    +<LINK REL="style" HREF="../../viola/sgml/styles/HTML_address1.stg">
    +<P>Second stylesheet in effect starting from here. The text inside
    +the address paragraphs should be blinking.
    +<ADDRESS>
    +<P>wei@ora.com
    +<P>Digital Media Group, O'Reilly & Associates
    +</ADDRESS>
    +</BODY>
    +</HTML>
    +
    + +

    The purpose of having LINK elements interspersed in the content is to apply specific style sheets to particular parts of the document. The same results can be achieved in a cleaner but perhaps less convenient way by restructuring the document (e.g., by using DIV elements) and applying the style sheets to the resulting elements.

    + +

    When links to style sheets were added later to HTML, they were restricted to HEAD elements.

    + +

    Generated content

    + +

    Not proposed.

    + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    PWP in context

    + +

    ViolaWWW was the first web browser that supported style sheets linked from documents. This was quite an achievement, especially when considering that a single person did the design and programming. Subsequent style sheet languages used concepts pioneered by PWP, including the use of the LINK element to point to style sheets on the web. As is expected from an experimental application, not all aspects of PWP style sheets were successful and the proposal was quite immature when published in 1993.

    + +

    Based on the communication between Pei Wei and Marc Andreessen quoted earlier, one could conclude that PWP evolved from RRP. However, this does not seem to be the case. The proposals differ greatly. In particular, the syntax, the selector mechanism, value propagation, and then names of properties/values of each are fundamentally different.

    + +

    ViolaWWW never gained the widespread use achieved by Mosaic, but it was an influential application that inspired other developers. If style sheets had been supported by ViolaWWW when the browser was first released in 1992, Mosaic and other emerging browsers might have accepted the concept of style sheets at an earlier stage.

    + + +

    Steve Heaney's proposal (SHP)

    + +

    Four days after Pei Wei published PWP, Steve Heaney posted a message to www-talk [Heaney 1993] where he argued for reusing FOSI rather than re-inventing the wheel. Steve Heaney's proposal (SHP) consists of a style sheet that expresses approximately the same stylistic rules as the sample style sheet in PWP, but expressed in FOSI. Further, SHP discusses the benefits and downsides of using a subset of FOSI. It is a sketch rather than a full proposal, and the evaluation below is correspondingly limited, therefore.

    + +

    Syntax

    + +

    The sample style sheet in SHP is short enough to reprint in full:

    + +
    <outspec>
    +  <docdesc>
    +    <charlist>
    +      <font size="12pt" bckcol="white" fontcol="black">
    +    </charlist>
    +  </docdesc>
    +  <e-i-c gi="h1"><font size="24pt" bckcol="red", fontcol="white"></e-i-c>
    +  <e-i-c gi="h2"><font size="20pt" bckcol="red", fgcol="white"></e-i-c>
    +  <e-i-c gi="a"><font fgcol="red"></e-i-c>
    +  <e-i-c gi="cmd kbd screen listing example"><font style="monoser"></e-i-c>
    +  <e-i-c gi="bold emph strong"><font weight="bold"></e-i-c>
    +  <e-i-c gi="i"><font posture="italic"></e-i-c>
    +  <e-i-c gi="p" context="address"><font posture="italic"></e-i-c>
    +  <e-i-c gi="li" context="ol"><counter style="romanlc"></e-i-c>
    +  <e-i-c gi="li" context="ol li ol"><counter style="alphalc"></e-i-c>
    +  <e-i-c gi="footnote"><font size="10pt"></e-i-c>
    +</outspec>
    +
    + +

    The proposal included only a brief explanation of the syntax:

    + +
    (The e-i-c tag is element in context - I hope the rest are reasonably self evident).
    + +

    Most participants in the www-talk mailing list, however, were not familiar with FOSI, so the rest of the style sheet was not self-evident. For example, it is not intuitively clear what the role of the docdesc and charlist elements are. SHP mentions FOSI twice, but FOSI is not explained and there are no bibliographic references to the FOSI specification.

    + +

    SHP also lists the advantages and disadvantages of using a standardized SGML-based syntax. According to SHP, the advantages include validation, the use of existing tools, and expandability into full FOSI functionality. The main disadvantages are that it was less easy to read and less easy to write without assistance.

    + +

    Selectors

    + +

    Selectors in SHP are based on the name and the context of elements. In FOSI this is expressed in the gi attribute and the context attribute, respectively. FOSI can also express more advanced selectors (e.g., based on attributes), but these are not included in SHP.

    + +

    Properties

    + +

    SHP is a direct response to PWP. The former's sample style sheet uses only properties that are similar to those in PWP. Also, SHP lists some of the other formatting attributes that the FOSI DTD includes: presp, postsp, indent, boxing, textbrk, quadding. As such, SHP is primarily an argument for reusing a subset of FOSI rather than a proposal for functionality needed by the web.

    + +

    Values and units

    + +

    SHP's sample style sheet uses a subset of the values defined in FOSI. Most of the values used in PWP's sample style sheets are keywords for which equivalents exist in FOSI. For example, roman in PWP becomes romanlc in SHP. Some of the keywords cannot be translated; PWP's keyword values for font sizes (small, normal, large, largest) have been translated into length values (10pt, 12pt, 20pt, 24pt) in SHP.

    + +

    Adding keywords to represent font sizes in SHP would be simple, but SWP would no longer be a subset of FOSI.

    + +

    Value propagation

    + +

    Not discussed.

    + +

    Visual formatting model

    + +

    Not discussed.

    + +

    Linking mechanism

    + +

    Not discussed.

    + +

    Generated content

    + +

    Not discussed.

    + +

    Other formatting contexts

    + +

    Not discussed.

    + +

    SHP in context

    + +

    The response to SHP was mixed. One participant strongly endorsed the use of SGML as syntactic basis [Burnard 1993]:

    + +
    I'd like to endorse very strongly indeed the notion of using SGML as a notation for whatever style-sheet mechanism you eventually decide on. I don't particularly mind whether it's a FOSI-subset, or a DSSSL look-alike or a home-brewed dtd, but at least if it uses the SGML formalism ...
    + +

    Pei Wei's response [Wei 1993c] was more reserved:

    + +
    The idea was to do a quick style-hints sort of thing ASAP, rather than something as comprehensive as FOSI. But I suppose a very subset of FOSI can be that. Personally I still much prefer the simple semi LISP'ish syntax. But I see your points. ... If we go with FOSI now, someone should edit down the FOSI DTD. As is its got too much we can't use now.
    + +

    If someone had taken on the challenge to define a subset of FOSI and write a readable specification, FOSI might have been the basis for a style sheet language for the web. Unfortunately, no one did this.

    + + +

    Cascading HTML Style Sheets (CHSS)

    + + +

    In October 1994, I published a proposal for Cascading HTML Style Sheets [Lie 1994]. Over the course of several years CHSS developed into CSS, but the initial proposal (referred to as CHSS) is of historic interest and is discussed in this section. CHSS is not a complete proposal on its own. Rather, it referred to other proposals for a description of properties and values (e.g., it referenced RRP) and focused on describing novel features thought necessary in a style sheet language for the web. Among these are shared author/user influence, support for visual as well as non-visual media types, and environment variables.

    + +

    Syntax

    + +

    In its simplest form, the syntax of CHSS is a variation of X11 Resources [X11]. Here is a simple example:

    + +
    font.family = times
    +h1.font.family = helvetica
    +
    + +

    The first line in the example above sets the font family of all elements to times. The second line is a more specific statement that only applies to H1 elements; H1 elements should use the helvetica font family instead. Because the second statement is more specific than the first, it will override the setting for all H1 elements.

    + +

    The CHSS syntax does not distinguish between properties and elements; without knowing about properties and elements in advance, a parser will not be able to distinguish between them. The parser's job is further complicated when optional media types are added to the syntax:

    + +
    speech.em.weight = 40db
    +
    + +

    In the example above, speech is the media type, em is the element, and weight is the property.

    + +

    CHSS supports shared influence between authors and users. Each party can indicate a requested influence as a percentage of the total influence. Here is an example:

    + +
    h2.font.size = 20pt 40%
    +
    + +

    The rule in the above example asks for 40% of the influence over H2 elements' font size. User style sheets are given priority when influence is assigned, and author style sheets come second. The proposal foresees that the user [..] may request total control of the presentation, but – more likely – hands most of the influence over to the [author].

    + +

    The syntax of CHSS also includes logical expressions involving environment variables to determine when/if a rule should be applied. Environment variables are parameters from the user's environment, i.e., not from the document itself. The syntax for these expressions borrows from the C programming language [Kernighan&Richie 1978]. Here is an example:

    + +
    AGE > 3d ? background.color = pale_yellow : background.color = white
    +
    + +

    In English, the expression above can be written: if the document is older than three days, the background color should be pale yellow, otherwise the background color should be white.

    + +

    Thus, the simple syntax borrowed from X11 Resources has been extended in several ways to accommodate the CHSS concept of shared influence, media types, and expressions.

    + +

    Selectors

    + +

    CHSS offers a simple set of traditional selectors as well as more experimental selectors. Traditional selectors, which combine stylistic declarations with structural elements in the document, are based on element names:

    + +
    h1.font.size = 12pt
    +
    + +

    By omitting the element name, all elements are selected:

    + +
    font.size = 12pt
    +
    + +

    CHSS also offers two aliases to more easily select groups of elements:

    + +
    head.space.above = 15pt
    +list.space.first = 1cm
    +
    + +

    In the example above, head selects all headline elements (H1-H6 in HTML), and list selects all lists (UL, OL, and DL in HTML). The name space conflict between the head alias and the HEAD element is not discussed in the proposal.

    + +

    Experimental selectors offered by CHSS fall into two categories. First, the window selector attaches declarations to an element (i.e., the browser window) which is not part of the document:

    + +
    window.margin.left = 2cm
    +window.margin.right = 2cm
    +window.margin.above = 2cm
    +window.margin.below = 2cm
    +
    + + +

    Second, the media types and expressions act as selectors by putting additional constraints on when a rule should be used. These kind of selectors are meta-selectors in the sense that they work in conjunction with the traditional selectors, but at a higher level. Media types are discussed in more detail in the Other formatting contexts section below. Here are some examples of expressions:

    + +
    AGE > 3d ? background.color = pale_yellow : background.color = white
    +DISPLAY_HEIGHT > 30cm ? http://NYT.com/style : http://LeMonde.fr/style
    +RELEVANCE > 80 ? h1.font.size *= 1.5
    +
    + +

    The example above is taken from the CHSS proposal and shows that expressions can be diverse. AGE represents the time since the content was written and is used to give older content a pale yellow background. DISPLAY_HEIGHT is a feature of the output device, which the author has no way of knowing in advance. RELEVANCE is a number that represents how relevant a document is compared with the user's personal profile.

    + + +

    Properties

    + +

    The CHSS proposal states specifically that it is not a formal definition of the style sheet language and that the specific list of style values is less interesting than other topics. RRP is pointed to as a reasonable list of properties.

    + +

    The examples in CHSS use property names with dots in them. This naming scheme indicates a grouping of properties where, for example, font is the property group name and family and size are individual properties. This organization is similar to the grouping of properties in FOSI and RRP.

    + +

    Most property names describing space around elements are absolute rather than relative to the writing direction. Consider this example:

    + +
    space.left = 0pt
    +space.right = 0pt
    +space.above = 4pt
    +space.below = 4pt
    +space.first = space.left + 0.5cm 
    +
    + +

    In the example above, the first four properties use absolute names (left, right, above and below), while the last property (first) is relative to the writing direction.

    + +

    Values and units

    + +

    As noted in the previous section, CHSS does not contain a list of style values that can be compared with other proposals. Still, the examples and the prose describe several types of values:

    + +
      + +
    • numeric length values with unit identifiers (these units are suggested: pt, px, mm, cm)
    • + +
    • a numeric loudness value (discussed under Other formatting contexts below)
    • + +
    • keywords (e.g. bold, italics, and proportional)
    • + +
    • simple expressions
    • + +
    + +

    Expressions

    + +

    The expressions deserve some discussion. First, expressions can involve environment variables:

    + +
    window.height = REAL_HEIGHT - 50px
    +
    + +

    In the example above, REAL_HEIGHT probably refers to the height of the output device and the statement sets the window size to be 50 pixels less.

    + +

    Another type of expression involves the previous value of the same element/property combination:

    + +
    h1.font.size *= 1.5
    +
    + +

    To compute the font size of H1 elements, a user agent would first have to compute the font size as if the rule above did not exist and, subsequently, multiply the old value by 1.5 in order to find the new value. Also, the end result must be scaled according to the assigned influence of the rule. The benefit of this approach is that a rule can express a constraint relative to another, possibly unknown, rule. However, the algorithm for finding the actual value is complex.

    + +

    A third kind of expression involves references to other properties. Here is a simple example:

    + +
    space.first = space.left + 0.5cm 
    +
    + +

    In the example above, the indentation of the first line is set to be the same as the element's space on the left side plus 0.5cm. This is another example of describing a constraint which will be resolved in the future rather than setting a value directly. The constraint in the above example relies on space.left being computed before space.first to avoid circular constraints.The em unit in CSS offers a similar feature and restriction: em units are relative to a value determined in the future, and the font-size must be computed before other length units.

    + +

    Blending values

    + +

    The concept of shared influence over style is a fundamental feature of CHSS. In principle, any number of style sheets can demand, and be assigned, influence over any element/property combination. If more than one rule tries to influence a value, CHSS will calculate a median value based on a weighted average. The proposal describes some of the issues involved when blending values:

    + +
    For continuous values, e.g. the font size, mixing influences is not problematic – one simply calculates the weighted average if they differ. For discrete values, e.g. the font family, it may not be obvious how to mix 40% helvetica and 60% times. Some will argue that font families certainly can be parameterized and mixed, others that one should select the request with the highest influence. The issue deserves more research for which this proposal leaves room.
    + +

    The research mentioned in the last sentence has not yet materialized. For properties that accept numerical values, e.g. font-size, calculating weighted average values is easy. Even if the value is specified in relative terms (bigger than surrounding text) or as a keyword (huge), a numerical value fit for computations can be found. However, other properties accept other types of values which are more difficult to compute:

    + +
      + +
    • boolean values
    • + +
    • one-dimensional keyword values
    • + +
    • multi-dimensional keyword values
    • + +
    + +

    The above listed value types would have been more difficult to compute and even if algorithms for finding the computed value could have been devised, the results may have been neither beautiful nor intuitive. The proposal of blending style sheets at the property level was dropped, therefore, at an early stage in the development of CSS, while the concept of combining style sheets was kept.

    + +

    The difference between CHSS, CSS and other proposals on this issue can be described along a one-dimensional axis of granularity. CHSS is the most fine-grained proposal, allowing preferences to be computed on a sub-property basis (i.e., several sources may influence the computation of a single element/property combination). CSS is not as fine-grained and only allows shared influence on a per-property basis. Most other proposals are even more monolithic, allowing shared influence on a per style sheet basis (i.e., one among several style sheets is selected to describe the presentation of a document).

    + + +

    Value propagation

    + +

    CHSS offers two mechanisms for value propagation. First, rules can set default values on properties. Consider this example:

    + +
    font.weight = normal
    +
    + +

    By omitting the selector from the rule in the example above, the font weight is set to normal for all media/elements/property combinations.

    + +

    Second, CHSS introduces the notion of cascading which can be considered a value propagation mechanism. This is how cascading is described:

    + +
    The proposed scheme supplies the browser with an ordered list (cascade) of style sheets. The user supplies the initial sheet which may request total control of the presentation, but – more likely – hands most of the influence over to the style sheets referenced in the incoming document.
    + +

    In addition to style sheets from users and authors, the browser may also supply a style sheet. Typically, the browser will supply a base style sheet which includes conventional descriptions of HTML presentations. One such convention is that H1 elements are shown in larger fonts than text inside P elements.

    + +

    By relying on the browser having a base style sheet available, users and authors do not need to repeat all desired stylistic rules. Instead they can just describe the differences between the accepted conventions and the desired presentation. Thus, cascading reduces the length of style sheets since accepted conventions do not have to be repeated.

    + +

    Visual formatting model

    + +

    CHSS does not describe a complete visual formatting model. The sample code indicates that the white space around elements can be described in properties. However, there is no discussion of what kind of formatting objects the style sheet language supports nor how elements are classified into different formatting objects.

    + +

    Linking mechanism

    + +

    CHSS proposes to use HTML's LINK element to point to external style sheets:

    + +
    <LINK REL="style" HREF="http://NYT.com/style">
    +
    + +

    The LINK element is used to indicate the URL of the style sheet. Multiple style sheets can be referenced from the same document and will be appended to the cascade and merged as they are encountered.

    + +

    In the list of unresolved issues, it is noted that only allowing LINK elements in the HEAD of the document is a limitation. By having a way of adding and subtracting style sheets from within the document, different parts of the document could be styled differently. This idea is similar to the functionality found in PWP.

    + +

    Generated content

    + +

    Not proposed.

    + +

    Other formatting contexts

    + +

    CHSS emphasizes that the proposal can be used with both visual and non-visual media types. An example in the proposal sets property values for speech media:

    + +
    speech.*.weight = 35db
    +speech.em.weight = 40db
    +
    + +

    Likewise, the proposal contains examples with special rules for print media, for example:

    + +
    print.head.align.style = right
    +
    + +

    Just like head is an alias for the H1-H6 elements in CHSS, the print keyword is also an alias for two more specific media types: print_mono and print_color. By using the more specific media types directly, a style sheet can describe presentations of monochrome and color printers.

    + +

    CHSS in context

    + +

    The development of CSS was started on the basis of the CHSS proposal. Many of the ideas put forward by CHSS have not survived in CSS, for example, environment variables, selector aliases, and the blending of values. Also, the CSS syntax is quite different from that proposed in CHSS.

    + +

    However, three important aspects of CHSS are used in CSS. First, the C in CSS stands for cascading which was first described in CHSS. Although the cascading mechanism in CHSS is different from the one in CSS, the concept of shared influence is the same. Second, the ability to use information outside the document itself in the presentation of the document was introduced in CHSS. CSS does not have environmental variables, but the pseudo-classes are based on the same concept. Third, the notion of media types which is found in CSS2 was first proposed in CHSS. +

    + +

    Joe English's proposal (JEP)

    + +

    Joe English' proposal for Style Sheets for HTML [English 1994a] was announced to the www-html mailing list [English 1994b] in November 1994.The www-html mailing list had been created [Berners-Lee 1994] in May 1994 to host discussions on HTML-related matters. Style sheets were among the topics on the new list.

    + +

    The proposal is more extensive than any of the other web style sheet proposals, and it contains rich discussions on difficult topics. This indicates that the author had worked on the proposal for some time. However, when the draft was published the author also announced that it would be abandoned in favor of DSSSL Lite (which is discussed below) and, therefore, the proposal did not receive much discussion on www-talk.

    + +

    Syntax

    + +

    Here is a simple JEP style sheet:

    + +
    <stylesheet>
    +  <style gis = "body"
    +    fontfam = normal
    +    fontsize = normalsize>
    +  </style>
    +  <style gis = "h1"
    +    fontfam = heading
    +    fontsize = large>
    +  </style>
    +</stylesheet>
    +
    + +

    Like FOSI and SHP, JEP is written in SGML. Simple selectors are specified as values to the gis attribute, and each property is an attribute of its own. In the example above, the fontfam and fontsize properties are set on the BODY and H1 elements.

    + +

    The JEP properties and their values are quite readable in this syntax, but the selector attribute is not intuitive unless one is familiar with SGML terminology. Element names in SMGL are called Generic Identifiers (GI). Several GIs become gis. FOSI uses the gi attribute for the same purpose.

    + + +

    Selectors

    + +

    The gi attribute in the example above is a simple way of selecting elements based on their names. It accepts a space-separated list of element names as value:

    + +
    <style gis = "h1 h2 h3"
    +  fontfam = heading>
    +</style>
    +
    + +

    In the example above, the fontfam property is set on all H1, H2, and H3 elements.

    + +

    JEP also describes two mechanisms for selecting elements contextually, i.e., based on their position in the document structure. The first is to have style sets be applied by the useset property. Style sets can be thought of as style sheets of their own. Consider this example:

    + + +
    <styleset id=inheading> 
    +  <style gis="em" fgcolor=red></style> 
    +</styleset>
    +<style gis="h1" useset = inheading></style>
    +<style gis="em" fgcolor=blue></style>
    +
    + +

    In the example above, EM elements are red when inside an H1 element, and blue otherwise. This is due to an indirection: the useset property on the H1 element declares that the inheading style set is to be used within the H1 element.

    + +

    The second, and more conventional, mechanism for contextual selectors is to use a pattern-matching syntax similar to the one in X11 [X11]:

    + +
      <style context = "h1 * em" fgcolor=red></style>
    +
    + +

    The syntax of this second method is similar to the approach taken by CHSS and SSP.

    + +

    Properties

    + +

    JEP includes a set of 28 properties. Combined, the properties are able to describe most of HTML 3.2's rendering conventions with the exception of tables and counters. Table 10 lists the JEP properties.

    + +
    +

    JEP's properties.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Property ValuesCorresponding CSS functionalityComments
    fontfamnormal, heading, fixed, alternatefont-familyThe generic font names can be mapped to an actual font through the fontdesc element (see below).
    fontsizetiny, small, normalsize, large, big, huge, 0, 1, 2, 3, 4, 5, 6, 7font-sizeThe keywords are taken from LaTex, the numbers are taken from Netscape.
    fontshapeplain, bf, it, bi, sc, ttfont-style, font-weight, font-variantThe two-letter values mean bold, italic, bold italic, small-caps, teletype (i.e., monospace).
    lmarginlength valuemargin-left
    rmarginlength valuemargin-right
    preskiplength valuemargin-top
    postskiplength valuemargin-bottom
    parskiplength value-(This property is left in the DTD by mistake [English 2002])
    parindentlength valuetext-indentIndentation of first line.
    presepreference to separatorpadding/border/margin
    postsepreference to separatorpadding/border/margin
    alignleft, center righttext-align and/or margin-left, margin-right
    xleadinglength valueline-heightIndicates extra leading.
    obeylinesobeylines, wraplineswhite-spaceIndicates if line breaks should be obeyed.
    obeyspacesobeyspaces, squeezespaceswhite-spaceIndicates if space characters should be obeyed.
    boxbox, noboxborder-style
    boxcolorcolorborder-color
    bgcolorcolorbackground
    fgcolorcolorcolor
    linenoline, underline, overline, strikethroughtext-decoration
    linecolorcolornone, the element's color is used
    foldcasenofoldcase, toupper, tolowertext-transform
    headfmtdisplay, runin, margindisplay/float
    iconan indirect reference to an image URLlist-style-imageApplies to heading.
    numfmtarabic, lcroman, ucroman, lcalpha, ucalphalist-style-type
    widthlength valuewidthDescribes the width of separators.
    thicklength valueborder-widthDescribes the thickness of separators.
    alignleft, center rightmargin-left/margin-rightDescribes the alingnment of separators.
    +
    + + +

    JEP's properties correspond roughly to those found in CSS1 [CSS1 1996]. Both CSS1 and JEP are able to describe basic styling with fonts, colors and spacing. Also, they can both draw boxes around elements and perform case transformations. None of them describes tables, counters, generated text or hyphenation. JEP's naming of properties and values is similar to FOSI (both use pre/right/post/left to describe what CSS calls top/right/bottom/left) and FOSI is referred to in notes (but not in the list of references).

    + +

    For some of the properties, the proposal describes the initial value. Also, JEP distinguishes between inheritable and non-inheritable properties.

    + +

    JEP has fewer and simpler font-related properties than most other proposals. The three font properties are fontfam, fontsize, and fontshape. The fontfam property only accepts one of four different keywords (normal, heading, fixed, alternate) which each express a logical font family. Similarly, the fontsize property (through keywords or, alternatively, integers from 0 to 7) expresses a logical size. Finally, the fontshape property accepts one of six keywords that describe the weight (normal or bold, slant (normal or slanted), variant (normal or small-caps), and glyph widths (proportional or monospace). The six keywords are plain, bf (bold), it (italic), bi (bold italic), sc (small caps) and tt (monospace). By only having six keywords there are many combinations that cannot be expressed. For example, it is impossible to select a bold monospace font, or an italic small-caps. The font strategy is described in the proposal:

    + +
    This scheme provides a limited logical palette of fonts for designers to choose from, and readers are able to select the actual typefaces and sizes to which the logical fonts map.
    + +

    Thus, the proposal envisions that the reader is given the final choice of font to be used by providing a mapping from the logical font to the actual font. The proposal also suggests a way of describing this mapping:

    + +
    <fontdesc fontfam=normal fontsize=normal fontshape=it> 
    +  <fontspec notation=XLFD> 
    +    -adobe-times-medium-r-normal–*-120-*-*-*-*-iso8859-1 
    +</fontspec>
    +
    + +

    By combining style sheets from the author side with FONTDESC elements from the reader, a simple form of cascading could be achieved. However, the proposal specifically notes that only one style sheet is allowed and that the FONTDESC element is meant for authors.

    + +

    Another reason for simplifying the font specification into three properties is that the proposal does not support cumulative font styles [English 1994a]:

    + +
    Some authors may expect bold and italic specifications to have a cumulative effect, i.e., that an italic phrase inside bold text should be rendered in bold italic. [[The utility of this has always puzzled me, but every Mac program, desktop publishing application, and even LaTeX2e seem to think that font selection should work like that. I think the notion that you can do arithmetic with fonts that way is misleading: Times Bold Italic is not just Times Roman plus bold plus italic.]]
    + +

    (The original author uses double square brackets to mark comments in the proposal.)

    + +

    JEP is, as it notes, quite alone in not supporting cumulative font styles. Most other style sheet languages support cumulative font styles by having independent, inheritable font properties. +

    + +

    Values and units

    + +

    Perhaps the most innovative parts of JEP is the lists of values and units. JEP supports three main kinds of values: length, color and keyword. Of these, the length values are especially interesting.

    + +

    Length values

    + +

    Unlike most other proposals, JEP barely mentions the possibility of absolute length values (pt, mm, cm etc.) but it describes a number of interesting relative length units. The relative length units fall into two categories: font-relative units and display-relative units.

    + +

    The font-relative units are:

    + +
      + +
    • em, en, ex. JEP defines em as the width of a capital letter M in the current font (while most other systems define it as the height of the current font). One interesting restriction on the em unit is that it may only be used in horizontal contexts.
    • + +
    • lh (line height): the unit is defined as the normal distance from baseline to baseline (including leading) of the current font.
    • + +
    + +

    The display-relative units are:

    + +
      + +
    • pcd (per cent of display): the unit is relative to the display size. The valid range is between 0 and 100 inclusive.
    • + +
    • nlh (normal line height): the unit is defined as the normal distance from baseline to baseline of the normal body font at the normal size. While 1lh may mean different things at different points in a document, 1nlh always refers to the same height regardless of the current font.
    • + +
    • p: A value of 1p (one p) represents the thickness of a hairline, i.e., the smallest amount of space easily visible to the eye.
    • + +
    + +

    With the exception of the commonly used em, en, and ex units, the relative length units described in JEP have not been taken up by any of the subsequent style sheet proposals. I believe this is unfortunate.

    + +

    As in FOSI, length values can refer to the margins of the containing block. This way, values can express more constraints. Consider this example:

    + +
    <style id=s1 lmargin="+3em" >
    +
    + +

    By prefixing the value with a '+' or '-' sign, the value is relative to the containing block rather than absolute (presumably w.r.t. the display area). To indicate a negative absolute value, JEP suggests using '='.

    + +

    Color values

    + +

    JEP requires style sheets to define any color names that are used. Here is a sample color definition and usage:

    + +
    <colors> 
    +  <color id=red rgb="#F00"> 
    +  <color id=green rgb="#00FF00"> 
    +  <color id=blue rgb="#000000000FFFFF"> 
    +</colors>
    +<style gis = "code kbd pre" fgcolor=blue>
    +</style> 
    +
    + +

    Thus, the color names serve as indirections to make style sheets more readable. Unlike most other style sheet languages, JEP has no predefined colors.

    + +

    Images

    + +

    Images representing list item markers are handled similarly to color names. Here is a simple excerpt from the proposal:

    + +
    <image id = kilroy
    +  url = "http://www.art.com/bitmaps/stupid-kilroy-gif.gif">
    +
    +<style gis="hr" icon=kilroy  preskip=2p postskip=2p>
    +</style>
    +
    + +

    By defining an image name with the image element, a user-friendly name can be used instead of a URL.

    + +

    Keyword values

    + +

    Keyword values in JEP are fairly traditional. Here is an example:

    + +
    <style gis = "h1"
    +  fontfam = heading 
    +  fontshape = bf
    +></style>
    +
    + +

    The first keyword used, heading, refers to a logical font defined somewhere else (several options are discussed in the proposal). By not allowing references to real font names as values, JEP does not need to make a distinction between string and keyword values, and this simplifies the syntax.

    + +

    The second keyword, bf, is shorthand for boldface. Many of the keyword values in JEP consists of two letters.

    + +

    Value propagation

    + +

    JEP has two main mechanisms for value propagation: inheritance and cascading. Both of them are different from inheritance and cascading in CSS; inheritance in JEP is more complex than in CSS, while cascading (JEP does not use this term) is simpler.

    + +

    Inheritance

    + +

    Inheritance is used to transfer values down from parent to child elements in the tree of elements. For some properties, JEP describes initial values (called default in JEP), but the proposal seems to expect that most initial values are set on the root element (or an element close to the root) and use inheritance to propagate the value:

    + +
    To specify initial or global style properties, designers may use a STYLE element applicable to the HTML or BODY element. Properties specified there will be inherited by all other document elements.
    + +

    In addition to inheriting property values from parent to child, STYLE elements can inherit values from each other to avoid duplicate declarations. Consider this example:

    + +
    <stylesheet>
    +  <style id=headings 
    +    fontfam = heading 
    +    fontshape = bf 
    +    align = left
    +  ></style> 
    +  <style gis="h1" inherit=headings 
    +    fontsize=huge
    +    align=center> 
    +  </style>
    +  <style gis="h2" inherit=headings 
    +    fontsize=big> 
    +  </style>
    +
    + +

    The inherit attributes on the last two STYLE elements declare that the declarations in the first STYLE element also should apply to H1 and H2 elements.

    + +

    The useset attribute described in the section on Selectors above is similar to the inherit attribute, and can be considered another value propagation mechanism.

    + +

    Cascading

    + +

    In addition to CHSS, JEP is the only proposal that proposes a mechanism to negotiate between author and reader preferences. JEP does not use the term cascading but the proposed mechanism is similar:

    + +
    Browsers are encouraged to provide users with the ability to configure the default style sheet. It is also desirable if users may selectively override parts of an external stylesheet without discarding the entire specification. To accomplish this, style sheets may specify a weight for each attribute. The weight is an integer from 1 to 3 for external stylesheets, and from 0 to 4 for user's configurations. A different weight may be specified for each style attribute.
    + +

    By allowing the user a wider range of weights, the user has the final word. This is a simple solution to a much-debated issue. The proposal does not, however, suggest any syntax for expressing weights.

    + +

    Visual formatting model

    + +

    JEP describes a moderately complex formatting model with emphasis on screen-based presentations. Several advanced topics (e.g., multi-column layout and table layout) are also discussed without proposing a solution. Table 11 shows how JEP sorts HTML elements into categories:

    + +
    +

    Categories in JEP.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CategoryHTML elements
    phrasesb cite code em i kbd samp strong tt var
    blocksaddress blockquote
    paragraphsdd li p
    listsdir dl menu ol ul
    inline displayimg input
    block displayoption pre textarea
    headingsdt h1 h2 h3 h4 h5 h6
    metainfobase isindex link meta nextid title
    divisionsbody form head html select
    floating elements-
    +
    + +

    Compared with CSS, JEP has more types of block-level elements: CSS1 distinguishes between block-level and list-item elements while JEP has blocks, paragraphs, lists, block display, headings and divisions. The names of the categories indicate that the motivation for sorting elements into the various categories is semantics. For example, knowing whether an element is a heading or not has semantic value, but should not – I believe – limit the presentation of the element. JEP, however, attaches different presentational capabilities to the different categories. For example, only heading elements can be shown run-in. This is similar to how different properties apply to different flow object classes in DSSSL.

    + +

    JEP describes a sequence model for elements rather than a box model. Margin values can refer to the edge of areas as well as the edge of the containing block. This is similar to the FOSI formatting model.

    + +

    JEP can describe advanced separators between elements, including bars and spacing. Consider this example:

    + +
    <sepspec id=chapsep>
    +  <hrule thick = 3p width = 100pcd align = center>
    +  <vspace vskip = 3p> 
    +  <hrule thick = 1p width = 100pcd align = center> 
    +  <vspace vskip = 4nlh> 
    +</sepspec>
    +<style 
    +  gis = "h1" 
    +  fgcolor = blue 
    +  presep = chapsep 
    +  postskip = 3nlh> 
    +</style>
    +
    + +

    The SEPSPEC element in the example above describes a separator which includes two horizontal rules (HRULE) with vertical space (VSPACE) between and underneath them. The separator is referred to in the presep property of the STYLE element so that all H1 elements will have a separator before them.

    + +

    Linking mechanism

    + +

    JEP proposes to link to external style sheets with the LINK element in the head of the document, or in an HTTP header found when retrieving the document. HTML and CSS later used the same approach when linking to style sheets.

    + +

    JEP also supports a way of directly referring to STYLE elements though the style attribute in the document. Here is a simple example

    + +
    In HTML, they are all marked up as <code
    +style=html-elem>CODE</code> elements, but
    +it would be useful...
    +
    + +

    In order for the style attribute to have an effect, the external style sheet would need to have a STYLE element with a corresponding ID attribute:

    + +
    <style id=html-elem 
    +  fontshape=tt 
    +  fgcolor=red>
    +</style>
    +
    + +

    Generated content

    + +

    JEP discusses requirements for generated text, but does not contain a concrete proposal.

    + +

    Other formatting contexts

    + +

    The proposal only describes a visual formatting context, but specifically requests feedback on how to support non-visual presentations.

    + +

    JEP in context

    + +

    JEP is both a traditional and innovative proposal for a web style sheet language. JEP is traditional in the sense that it uses an SGML-based syntax similar to FOSI. Also, the author references and borrow features from several existing languages, including DSSSL and LaTeX. JEP is also innovative. In particular, the length units relative to the display (pcd, nlh, p) is a valuable contribution.

    + +

    When JEP was published, the author wrote:

    + +
    I've been working on a stylesheet proposal on and off for several months now, and it's finally at the point where it's ready to publish. However, I'm probably going to abandon it now. There are other works in progress – particularly the DSSSL Lite proposal – which look much better.
    + +

    I must disagree with the author about the quality of his work: I personally find that JEP is a more suitable proposal than DSSSL Lite.

    + + +

    Sketch of Simple Formatting Primitives (SSFP)

    + +

    The title of this proposal suggests it is merely an outline of simple stylistic properties. Indeed, the proposal sketches, rather than fully defines, a simple set of formatting primitives, but it is not limited to primitives (which is SSFP's term for properties). SSFP outlines a complete style sheets language including syntax, selectors, properties, values and units. The author also has strong opinions on how style sheets should be linked to documents, and goes beyond most other style sheet proposals by describing link behavior. Therefore, despite the unassuming title, the proposal qualifies for discussion in this chapter.

    + +

    SSFP is dated September 1994 and was first published to the www-talk mailing list in November 1994 [Sperberg-McQueen 1994a]. The message that announced the proposal [Sperberg-McQueen_1994b] contains additional information that is relevant to the interpretation of the proposal. For the purpose of evaluating SSFP, the announcement message is considered, therefore, to be part of the proposal.

    + +

    Syntax

    + +

    SSFP states that notation is not specified here, but various options are obviously suitable. The proposal uses a LISP-inspired syntax in all examples. Here is a simple excerpt:

    + +
    (style a
    +    (block #f)     ; format as inline phrase
    +    (color blue)   ; in blue if you've got it
    +    (click (follow (attval 'href)))  ; and on click, follow url
    +
    + +

    The first line selects A elements, while the rest of the style sheet assigns values to properties. The selected elements are set to be inline, and are given a blue color. The last line describes hypertext behavior: if the element is clicked, the value of the href attribute should be followed. By describing hypertext behavior, SSFP – along with SSP – goes beyond the normal scope of style sheet languages.

    + +

    Selectors

    + +

    SSFP only supports one simple type of selector. The examples in the proposal select elements based on their name only. Here is an example:

    + +
    (style h1
    +    (block #t)
    +    (vspace '24pt '8pt)
    +    (shape 'centered)
    +    (font-size 'vlg)
    +    (font-style 'bold)
    +    (flow #f))
    +
    + +

    The author of the proposal is well aware of the need for more advanced selectors and the issue is discussed in the announcement message [Sperberg-McQueen 1994b]:

    + +
    Critical to making the logic useful is a reasonable set of primitive functions for querying one's location in the SGML document.
    + +

    The reason why more advanced selectors are not included may be that the proposal was specifically targeted for the relatively simple HTML language. This is supported in the accompanying message which states that the proposal only describes the behavior of HTML browsers as described in the HTML specification.

    + +

    Properties

    + +

    SSFP describes 13 properties and this is the simplest set of properties among the proposals discussed in this chapter. Table 12 lists the properties along with CSS equivalents.

    + +
    +

    SSFP's properties along with CSS equivalents.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyValuesCorresponding CSS functionality
    blocktrue/falsedisplay
    flowtrue/falsewhite-space
    vspacetwo length valuesmargin-top, margin-bottom
    marginstwo length valuesmargin-left, margin-right
    shapenormal-para, centered, flush-left, block-para, netnews-quote, indent-left, indent-twice-left-
    display-levelinteger where '0' means hide and positive integers mean display-
    font-familylist of font namesfont-family
    font-sizeinteger (representing the point size) or a keyword: normal, lg, vlg, sm, vsm, hugefont-size
    font-styleroman, ital, boldfont-style, font-weight
    treatmentnormal, underlined, relinedtext-decoration, color
    colorcolor name (the list of names is not defined)color
    contentconcatenation of one or more of: content(), attval(NAME), string literalcontent
    clicksee below-
    +
    + +

    Three of the properties in the table above offer functionality not found in any of the other proposals discussed in this chapter and deserve special mention:

    + +
      + +
    • The shape property is listed but not described in the specification. Judging from the list of keyword values, this property determines the horizontal margins of the elements, the text alignment within the element, and even quote marks in the element's margin.
    • + +
    • The display-level property is not described in detail in the proposal but, judging from the name, it seems similar to the Visibility property of P94 [Quint 1994]. Thus, it is a way of creating outline views of the document by, for example, giving headings higher values than paragraphs. By raising/lowering the display threshold, elements become invisible/visible.
    • + +
    • The click property describes link behavior. The proposal lists two ways of describing HTML's linking behavior for the A element: + +
      (style a (click (follow (attval 'href))))
      +(style a (click 'follow-URL 'HREF))
      +
      + +

      The click property is described in a section called Actions which also mentions the possibility of having a double-click property.

      +
    • + +
    + +

    The names of SSFP's properties do not disclose whether they are relative to the writing direction or not. Consider this example:

    + +
    (style address
    +    (margins '+10pica '0))
    +
    + +

    The margins property takes two values but it is unclear if the values are absolute (left/right) or relative to the writing direction. The values of the shape property use absolute names (e.g., indent-left, indent-twice-left), while the two values of the vspace property is described as vertical space before and after element. SSFP therefore seems to use a mixed model with no clear preference for either absolute or relative names.

    + +

    Values and units

    + +

    The values and units in SSFP are similar to those used in DSSSL:

    + +
      + +
    • keywords are prefixed by an apostrophe
    • + +
    • true/false values are represented by #t and #f, respectively
    • + +
    + +

    There are, however, some differences in values between DSSSL and SSFP:

    + +
      + +
    • SSFP length values are prefixed by an apostrophe; in DSSSL they are not
    • + +
    • SSFP color names are not pre-fixed by an apostrophe, in DSSSL they are
    • + +
    + +

    The list of length units is not defined anywhere in the specification but examples use the following units: pt, pica, and l. The last unit may refer to the line height but this is not described in the proposal.

    + +

    Value propagation

    + +

    SSFP has two mechanisms for value propagation: initial values (called default values), and inheritance.

    + +

    Although the specification only lists the initial value for four of the properties, it is reasonable to assume that a more developed proposal would list initial values for all properties.

    + +

    Inheritance does not happen automatically in SSFP. However, all properties accept the CURRENT value which specifies that the property should be inherited. INHERIT is offered as a synonym for CURRENT.

    + + +

    Visual formatting model

    + +

    Given that the proposal only describes 13 properties, the visual formatting model of SSFP is quite simple. Formatting objects are either block-level or inline. Block-level objects have:

    + +
      + +
    • a shape, as described in the section on Properties
    • + +
    • vertical space before and after the element
    • + +
    • margins on the each side of the element
    • + +
    + +

    Like FOSI and JEP, length values in SSFP can be prefixed by '+' or '-' signs. This indicates that SSFP supports a FOSI-like area model where prefixed values refer to the edges of the containing block and other values refer to the edges of the area. The text, however, does not discuss this matter.

    + +

    Linking mechanism

    + +

    The proposal argues strongly that style sheets should not be referenced from the document itself, but rather by using an HTTP header:

    + +
    I'd put the final point even more strongly: they should not be referenced from the HTML *document* at all; the link should be external to the document, established in the HTTP header, not within the HTML document.
    + +

    Generated content

    + +

    Despite its simplicity, SSFP supports generated content through the content property. The content property can take one of three values. The content() value refers to the content of the element itself and is the initial value. The attval(NAME) value names an attribute whose value will be used instead of the element's content. The string literal value allows the style sheet to set the content of the element. CSS2 has a property with the same name and similar values.

    + +

    SSFP also includes a discussion on how counters could be supported.

    + + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    SSFP in context

    + +

    SSFP is a simple proposal which borrows both from FOSI and DSSSL. The proposal shows concern for low-level web browsers and higher level implementations, presumably SGML-based products. It can be seen as an attempt to build a bridge between the web and SGML. +

    + +

    The main shortcoming of the proposal is that it is immature and incomplete.

    + +

    The main strength of the proposal is that it describes advanced functionality – notably counters, link behavior and generated text – in a simple proposal.

    + +

    Another noteworthy achievement of SSFP is that the proposal is still available from the URL that was published in 1994 (http://tigger.cc.uic.edu/~cmsmcq/style-primitives.html).

    + +

    DSSSL Lite

    + +

    In November 1994 the SGML '94 conference was held in Tysons Corner, Virginia, USA. At the conference, a group of people met to discuss the the feasibility of defining a subset of the Document Style Semantics and Specification Language (DSSSL). As discussed in the previous chapter, DSSSL is a complex specification and there was little hope of having web browsers support all of DSSSL. By defining a subset, dubbed DSSSL Lite, the goal was to create a style sheet language that would be simple yet powerful enough to provide a basis for style sheet interchange on the Web [Magliery 1994].

    + +

    In December 1994 the DSSSL Lite Announcement was sent to various web mailing lists and newsgroups [Magliery 1994]. It encouraged people to join efforts to create a subset of the DSSSL specification targeted for use on the web, and was sent out by Tom Magliery who was a programmer in NCSA's Mosaic team.

    + +

    James Clark wrote the first draft. The version reviewed in this chapter is dated November 24, 1994 [Clark 1994]. It is written for readers familiar with DSSSL and does not attempt to promote or teach DSSSL Lite to a wider audience.

    + +

    The stated intention of the work was for DSSSL Lite to be a subset of DSSSL [Magliery 1994]. However, there are several discrepancies between DSSSL Lite and the DSSSL standard. For example, several of the properties listed in the DSSSL Lite proposal do not exist in DSSSL. This is probably because the DSSSL standard was not yet finalized in 1994.

    + +

    The DSSSL Lite proposal does not contain any extended examples of how to use the language. Only small code fragments are shown, and this makes it difficult to review the proposal. I have tried to write the examples below according to the proposal. +

    + +

    Syntax

    + +

    DSSSL Lite is based on DSSSL and uses the DSSSL syntax. Here is a simple example:

    + +
    (element H1
    +  (paragraph font-size: 20pt))
    +
    + +

    In the example above, H1 elements are selected and turned into paragraphs with font size 20pt. A paragraph is one of 14 different flow objects in DSSSL Lite. Unlike DSSSL, DSSSL Lite does not require the make keyword before the name of a flow object. + +

    + +

    Selectors

    + + +

    DSSSL Lite offers four kinds of selectors:

    + +
      + +
    • type selectors select elements based on their type. The example in the previous section uses a type selector.
    • + +
    • contextual selectors select elements based on their type and ancestors. Here is an example which selects LI elements which are children of UL: + +
      (element (UL LI)
      +   (labeled-item)
      +
      + +

      Contextual selectors in DSSSL Lite are similar to those in CSS.

      +
    • + +
    • id selectors select elements based on their unique identifier (in HTML, this is the value of the ID attribute).
    • + +
    • the root selector selects the root element.
    • + +
    + +

    It is not possible to select elements based on their attributes. However, elements can be treated differently based on their attributes or ancestry by using the expression and query language: +

    + +
    (element NOTE 
    +  (if (attribute "WARNING") 
    +      font-weight: 'bold))
    +
    + + +

    The if statement is one of the expressions supported by DSSSL Lite. Other logical expressions, like and and or are also supported.

    + +

    The attribute function queries the attributes of the element. DSSSL Lite describes three functions for querying attributes:

    + +
      + +
    • attribute: returns an attribute of the current element, or false if the current element has no such attribute;
    • + +
    • inherited-attribute: returns an attribute of the current element or of the nearest ancestor for which the attribute is present; and
    • + +
    • ancestor-attribute: returns the attribute of nearest ancestor of a given type.
    • + +
    + +

    To handle counters, these query functions are defined:

    + +
      + +
    • child-number: returns the child number of the current element, that is, the number of preceding siblings of the same type returns the child number of nearest ancestor of a given type.
    • + +
    • ancestor-child-number: returns the child number of nearest ancestor.
    • + +
    • hierarchical-number: returns a list of child numbers for a given list of element types. For each element type, the returned list describes the youngest ancestor of the current element.
    • + +
    • hierarchical-number-recursive: returns a list of child numbers for a given element type. The length of the returned list reflects the number of elements of that type among the ancestors.
    • + +
    • element-number: returns the number of elements with the same type as the current element appearing before the current element.
    • + +
    • element-number-list: returns the element number for a given list of element types.
    • + +
    • first: returns true if if the current element has no preceding sibling of the same type.
    • + +
    + + +

    Properties

    + +

    The DSSSL Lite proposal lists 27 properties (called characteristics in DSSSL). Table 13 lists the properties in the order they appear in the proposal:

    + +
    +

    The properties of DSSSL Lite.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Property nameCSS properties with similar functionalityComment
    break-beforedisplay
    first-line-start-indenttext-indent
    break-afterdisplay
    space-beforemargin-topThese properties apply to block-level flow objects
    space-aftermargin-bottom
    escapement-space-beforemargin-leftThese properties apply to character-level flow objects
    escapement-space-aftermargin-right
    labellist-style-typeNot present in DSSSL.
    font-family-namefont-family
    font-weightfont-weight
    font-posturefont-style
    font-proportionate-widthfont-width
    font-sizefont-size
    scoretext-decoration?Not explained, DSSSL has several properties that describe scoring.
    placement-offset-Called alignment-point-offset in DSSSL.
    colorcolor
    start-indentmargin-left
    first-line-start-indenttext-indent
    end-indent-Called last-line-end-indent in DSSSL.
    quaddingtext-align
    display-alignmenttext-align, margin-left, margin-right
    verbatim??Not explained, not present in DSSSL.
    pre-line-spacingline-heightCalled min-pre-line-spacing in DSSSL.
    post-line-spacingline-heightCalled min-post-line-spacing in DSSSL.
    background-colorbackgroundApplies only to root element.
    keep-with-previouspage-break-before
    keep-with-nextpage-break-after
    +
    + +

    Values and units

    + +

    The proposal does not list values and units.

    + +

    Value propagation

    + +

    The proposal labels properties as inherited or not. The initial values of properties are not discussed.

    + +

    Visual formatting model

    + +

    DSSSL Lite describes a simple visual formatting model suitable for printed and screen presentations. The model is much simpler than DSSSL:

    + +
      + +
    • DSSSL Lite lists 14 flow objects compared with 35 in DSSSL (excluding DSSSL's flow objects for mathematical formulae); and
    • + +
    • DSSSL Lite list 27 properties compared with more than 200 in DSSSL (excluding DSSSL's flow objects for mathematical formulae).
    • + +
    + +

    The main limitations of DSSSL Lite compared with DSSSL are:

    + +
      + +
    • single column only;
    • + +
    • no footnotes; and
    • + +
    • headers and footers can only have one line.
    • + +
    + +

    The proposed flow objects for DSSSL Lite, in order of appearance, are: root, paragraph, labeled-item, character, rule, leader, external graphic, table, table-part, table-row, inline-table-cell, display-table-cell and iconify.

    + +

    In addition, a simple variant of the page-sequence flow object is discussed, but not named. Most likely, the work on DSSSL Lite resulted in the simple-page-sequence being added to DSSSL.

    + +

    Linking mechanism

    + +

    Like DSSSL itself, DSSSL Lite does not specify how style sheets are linked to documents.

    + + +

    Generated content

    + +

    Other formatting contexts

    + +

    Not proposed.

    + +

    DSSSL Lite in context

    + +

    The work on DSSSL Lite gained considerable support from key people in the web community. In January 1995, Dave Raggett added the STYLES element, the STYLE element, and the CLASS attribute to the HTML 3.0 draft being developed at the time. In the draft he wrote:

    + +
    A style sheet can be associated with the document using the LINK element, e.g. <LINK rel=stylesheet href="housestyle.dsssl">. Style overrides can be placed in the document head using the STYLES element, e.g. + +
    <styles notation=dsssl-lite>
    +  <style class=bigcaps>(dsssl-lite-stuff)
    +  <style class=para17>(more dsssl-lite-stuff)
    +</styles>
    +
    + + +
    + +

    In May 1995, Dan Connolly of W3C wrote a personal email to Tim Berners-Lee, David Raggett, and myself:

    + +
    DSSSL-Lite, from my research, appears to be exactly "as simple as possible, and no simpler." It is not at all clear what the advantage of the other proposals is.
    + +

    The other proposals are further described:

    + +
    From what I've seen of Bert Bos and Hakon Lie's proposals, they're re-inventing DSSSL using X resource syntax rather than lisp s-expressions.
    + +

    His conclusion is:

    + +
    So I suggest that further development on stylesheets be based on DSSSL-Lite. Spending resources for a mechanism that isn't compatible isn't justified.
    + +

    DSSSL Lite also had strong support in the SGML community. Joe English, the person behind the JEP proposal, which he dropped in favor of DSSSL-Lite, writes in a retrospective personal email [English 2002]:

    + +
    As to why I thought DSSSL-Lite would be the "winner" – the SGML community had been eagerly anticipating the DSSSL spec for years (literally!) with high expectations. As it turned out, DSSSL didn't take the world by storm, but at the time we all thought it would...
    + +

    Commercial vendors were also involved in the development of DSSSL Lite. At least one company announced plans to support it [EBT 1997]:

    + +
    GMUNDEN, AUSTRIA (SGML EUROPE '95) May 16, 1995 – In yet another example of its standards-based philosophy, Electronic Book Technologies, Inc. (EBT, Booth # 25) today announced plans to incorporate support for the Document Style Semantics and Specification Language (DSSSL) in the next major release of DynaText(tm), EBT's industry leading standards-based online publishing system. EBT also plans to support "DSSSL Lite," currently being proposed as the stylesheet language for the World-Wide Web (Web) ...
    + +

    In October 1995, the name of the effort to create a subset of DSSSL was changed from DSSSL Lite to DSSSL Online Application Profile, informally referred to as DSSSL-O. One of the reasons for dropping the DSSSL Lite name was that 'Lite' is the well-known name of a particularly insipid brand of beer [Bosak 1995].

    + +

    DSSSL-O was completed in 1996 around the same time that DSSSL became an ISO standard. James Clark was an architect and editor of both specifications and it seems clear that the work on DSSSL Lite and DSSSL-O influenced the final design of DSSSL.

    + + +

    DSSSL-O ended up being much more complex than the DSSSL Lite proposal reviewed in this chapter. Table 14 compares the number of flow object classes and properties in the three DSSSL specifications.

    + +
    +

    The number of flow object classes and properties in DSSSL Lite, DSSSL-O and DSSSL.

    + + + + + + + + + + + + + + + + + + + + + + + + +
    DSSSL LiteDSSSL-ODSSSL
    flow object classes142535
    +(not counting math flow objects)
    properties27157
    +(not counting properties for which all values can be ignored)
    213
    +(not counting properties only used in math flow objects)
    +
    + +

    The complexity of DSSSL-O may have been a reason why it was never implemented in any browser and has never seen any real use on the web. The DSSSL community has since developed XSL [XSL 2001]. + + +

    + +

    Stream-based style sheet proposal (SSP)

    + +

    In March 1995, Bert Bos published a proposal called Stream-based Style sheet Proposal (SSP) [Bos 1995]. The author emphasizes the need for a style sheet language that can present documents progressively as they are downloaded from the web into the browser, thus the name stream-based. The proposal starts by discussing how previous proposals perform against this requirement. Several of them, including RRP, PWP and CHSS, are able to render progressively. The only proposals dismissed for not being stream-based are DSSSL and DSSSL Lite.

    + +

    Another feature emphasized in SSP is the ability to apply style sheets to SGML documents in addition to HTML documents.

    + +

    Syntax

    + +

    Here is a sample SSP style sheet fragment:

    + +
    HTML.justify: full
    +*H1.justify: center
    +*OL.LI.label: A
    +
    + +

    Each line in the example above is a stylistic rule with a selector, property and value. The syntax is borrowed from X11 resource files [X11]. SSP argues that the X11 resource file syntax is straightforward, human read- and writable, and supports the addressing of tree-based structures. Also, software for parsing the syntax is already available.

    + +

    SSP distinguishes between element names and properties by case: element names are written in uppercase and properties (and media types) are written in lowercase.

    + +

    Selectors

    + +

    In the example above, the name of the element (e.g. H1) is preceded by an asterisk character (*) to match all elements in the tree. Without the asterisk, only the root element (HTML in the example above) is matched. This syntax emphasizes the structured nature of the target content and reminds authors that style sheets apply to structured documents. The approach is similar to the one taken by Pei Wei, arguably with a more readable syntax.

    + +

    Selectors can also express parental and ancestral relationships:

    + +
    *OL*OL.LI.label: A
    +
    + +

    In the example above, LI elements with an OL parent and another OL as ancestor are selected.

    + +

    SSP also proposes to extend selectors to express media types:

    + +
    b&w*A.textcolor: white
    +b&w*A.textbackground: black
    +monochrome*A.textcolor: black
    +monochrome*A.textbackground: gray80
    +
    + +

    In the example above, the first two rules apply to black-and-white devices, while the last two rules apply to monochrome devices. This method for supporting different media types is similar to CHSS.

    + +

    Selectors in SSP can also involve the value of ID attributes:

    + +
    *id: !ID
    +@p101.size: 1
    +
    + +

    In the example above, the first line establishes that for all elements, the id property finds its value from the ID attribute (the exclamation mark denotes an attribute reference). When it has been established that the ID attribute contains the value of the id property, selectors matching ID values can written with a preceding '@' character. The second line of the example above matches any element with this attribute: ID="p101"

    + +

    Thus, the simple X11 resource file syntax has been extended to express ID selectors. By introducing yet more symbols, the selector syntax could have been extended even further. SSP, however, chooses to add logical expressions in the declarations rather than in selectors. See the section on Values below. This approach is similar to P94 and DSSSL.

    + +

    Properties

    + +

    The properties proposed by SSP are listed in Table 15. The grouping of properties is done by this author.

    + +
    +

    Properties proposed by SSP.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyValueCorresponding CSS functionalityComment
    Font and text properties
    sizeinteger, optionally with '+' or '-' prefixfont-sizeThe value is an index into a table of font sizes. If a +/- prefix is present, the value is relative to the parent element's value, otherwise the value is the index itself.
    familyone of four generic font families: normal, alt, tt, symfont-family
    familynamespecific font family, e.g. Universfont-familyThis propoerty takes precedence over family, but only if the browser is able to provide the font.
    emphasisa number selecting the level of emphasis-See discussion below.
    slanttrue/falsefont-style
    boldtrue/falsefont-weight
    underscorethe number of lines under the texttext-decoration
    strikeouttrue/falsetext-decoration
    textcolorX11 color namecolor
    textbackgroundX11 color name, or 'transparent'background
    leadingnumberline-heightThe number indicates extra vertical space between lines relative to the default line height. Thus, 1.0 means double-spaced lines.
    obeyspacestrue/falsewhite-space
    nowraptrue/falsewhite-space
    justifyleft, right, full, centertext-align
    hyphenatetrue/false-
    Border properties
    rulebeforenumberpadding-top, border-topThis property causes a horizontal rule to be inserted above the element, followed by the given amount of whitespace.
    ruleafternumberpadding-below, border-belowThis property causes a horizontal rule to be inserted below the element, followed by the given amount of whitespace.
    rulethicknessnumber-This property describes the thickness of rules generated by rulebefore and ruleafter properties.
    frameany sequence of zero or more words from `left', `right', `top', `bottom', `border'. `border' is equivalent to `left right top bottom'border properties
    White space properties
    prebreaknumbermargin-topSee discussion below
    postbreaknumbermargin-bottomSee discussion below
    vmarginnumberpadding-top, padding-bottomExtra space to add above and below an inline object.
    hmarginnumberpadding-left, padding-rightExtra space to add left and right of an inline object.
    leftindentnumbermargin-left
    rightindentnumbermargin-right
    parindentnumbertext-indent
    noindenttrue/false-See discussion below.
    Vertical alignment properties
    valigntop, bottom, middlevertical-alignVertical alignment of an inline object.
    depthintegervertical-alignDepth below the baseline of an inline object, in pixels. This property overrides valign.
    raiseintegervertical-alignPositive values raise the text, negative values lower it. The exact positions in pixels are a property of the font.
    Box size properties
    textwidthnumberwidth
    widthintegerwidthWidth of an inline object in pixels.
    heightintegerheightHeight of an inline object in pixels.
    Properties for generated text
    insertbeforestring:before pseudo-element
    insertafterstring:after pseudo-element
    Properties for floating
    trackleft, right, normalfloatSee discussion in the Visual formatting model section.
    flushleft, right, fullclear
    Table properties
    tabletrue/falsedisplay: table
    tablerowtrue/falsedisplay: table-row
    tablecelltrue/falsedisplay: table-cell
    rowspaninteger-
    colspaninteger-
    captiontop, bottom, left, rightcaption-side
    Classification properties
    emptyboolean-See discussion below.
    titletrue/false-See discussion below.
    ismaptrue/false-Indicates whether an element is an ismap or not.
    stylesheetmerge, replace, override-See discussion below
    languageISO code for a language:lang selectorSee discussion below
    Link behavior properties
    inlineURL of something to display in-line at the start of the element-
    idan element ID-This value will nearly always be an attribute reference, such as !ID. See discussion below.
    targetelement ID-See discussion below.
    anchorURL-See discussion below.
    anchorshape-See discussion below.
    anchorcoords-See discussion below.
    Other properties
    labelA, a, 1, I, i, bullet, square, -, *, names of symbols (resp. auto-numbering uppercase letters, lowercase letters, Arabic numbers, Roman numerals, lowercase Roman numerals, bullets, squares, dashes, asterisks, WWW-icons).list-style-type
    hidetrue/falsevisibility
    minimizedtrue/false-See discussion below.
    +
    + +

    Some of the properties listed above deserve farther discussion:

    + +
      + +
    • emphasis: this property takes an integer value from zero and upwards to express levels of emphasis. The property does not say anything about how the level of emphasis is to be formatted, leaving this issue to the browser. Thus, this property says more about semantics than presentation. This is unusual in a style sheet language. When in conflict with other, more presentation-oriented properties, this property will be overridden.
    • + +
    • prebreak/postbreak: these properties indicate the minimum amount of white space above/below the element. The concept of minimum space (rather than exact space) is also used in CSS.
    • + + +
    • minimized: if true, this property indicates that the element is replaced by a marker. When clicked, the marker will show the content of the element. This feature is an example of interactive behavior which has not been taken up by other style sheet languages.
    • + +
    • noindent: This property suppresses first-line text indentation on the next paragraph. Typically, first-line text indentation is suppressed on paragraphs following a headline and, since it is easier to select headline elements than to select elements following a headline, this property simplifies the style specification.
    • + +
    • empty/id: the empty property indicates whether an element is empty or not, and the id property names the attribute that contains the ID of elements. In SGML, this information is stored in the DTD. SGML browsers have few other reasons for consulting the DTD than to find what elements are empty and what attribute is the ID attribute. By storing this information in a style sheet, SSP challenges the need for DTDs.
    • + +
    • title/stylesheet: these properties identify which elements contain titles and style sheets, respectively. By using these properties it is possible to turn any SGML element into HTML's TITLE or STYLE element. The values of the stylesheet property allow style sheets to be merged in various ways. This feature is further described in the Value propagation section below.
    • + +
    • target/anchor/anchorshape/anchorcoords: these properties identify anchors and targets in the source documents, thereby making hyperlinking possible. They go beyond traditional style sheets by describing the behavior of documents in addition to the presentation thereof.
    • + +
    + + +

    Values and units

    + +

    SSP offers a range of values from the very simple to the complex. In practice – where practice is defined by the sample style sheets in the proposal – the simple values cover most needs, while the advanced values solve specific problems.

    + +

    There are four different kinds of simple values (called explicit values) in SSP: integer, decimal number, keyword and string. Each property only accepts one kind of simple value. Consider this example:

    + +
    *H2.size: 1
    +*HR.rulethickness: 0.1
    +*H2.justify: left
    +*H2.familyname: Gill Sans
    +
    + +

    The first rule in the example above assigns an integer value to the size property on H2 elements. The size property only accepts integer values (which serve as indexes into a browser-defined table) and, therefore, there is no need for unit identifiers. The second rule assigns a real number (not an integer) to the rulethickness property. The value is relative to the line height. In the third rule, the justify property is assigned the value left. The value in the fourth rule is the name of a font family and since the list of font names is open-ended, the value is a string rather than a keyword. However, since the property only accepts one simple kind of value, there is no need to differentiate strings from keywords syntactically.

    + +

    In addition to the simple values, SSP has three advanced values: attribute references, property references, and the ifmatch function.

    + + +

    Attribute references

    + +

    Here is an example of how attribute references can be used:

    + +
    *IMG.width: !WIDTH
    +
    + +

    In this example, the width property is assigned the value of the WIDTH attribute of the IMG element. In HTML, the IMG element has a WIDTH attribute which takes an integer as a value. Since the width property in SSP also accepts an integer value representing pixels, the simple rule transfers presentational information from the markup to the style sheet language. A similar rule can be written for the height.

    + +

    The simplistic beauty of the above example, however, also imposes a serious restriction: only one type of value can be transferred (in this case pixels). The system is not able to handle percentage values which are also legal according to HTML.

    + +

    Property references

    + +

    Property references are described briefly in the proposal, but only an incomplete example is given. The following example is constructed by this author:

    + +
    PRE.width: $width
    +
    + +

    The value in the example above is the name of a property (width) preceded by a $ sign, which indicates that the value should be fetched from the parent element. The effect in the example is to make the width property inherit for PRE elements. +

    + +

    Built-in functions

    + +

    The most advanced value in SSP is the ifmatch built-in function. Consider this example (which is the only example using ifmatch in the proposal):

    + +
    *IMG.ismap: @ifmatch(!ISMAP, "ISMAP", true, false)
    +
    + +

    One purpose of the ifmatch function is to address the limitation of attribute references described above. The attribute reference (!ISMAP) only returns the value of an attribute. If the attribute value does not match exactly the values accepted by an element, they can be transformed by the ifmatch property. In the example above, the ismap property accepts true and false and this is what the ifmatch function returns. The function returns true if the value of the ISMAP attribute is equal to the regular expression given as the second argument to the function. Otherwise false is returned.

    + +

    The ifmatch function is a complex value, both for authors and for implementations. No other style sheet language uses regular expressions as values, and SSP's author later changed his mind on this topic [Bos 1998]. +

    + +

    Value propagation

    + +

    SSP relies on two familiar mechanisms for value propagation: inheritance and initial values. Also, there is a mechanism for combining several style sheets.

    + +

    For each property, the proposal specifies whether or not it is inherited. Non-inherited properties can be made to inherit by using property references, as described above. +

    + +

    SSP's stylesheet property declares that the element contains a style sheet. The style sheet contained in the element can either merge with other style sheets, replace other style sheets, or override other style sheets. This mechanism has some resemblance with cascading in the sense that it is able to combine stylistic rules from several different style sheets. However, merging is defined to mean that the two style sheets are simply concatenated, giving the first style sheet priority in case of conflict. Also, the mechanism has no notion of the origin of the style sheet (user/author/browser).

    + + +

    Visual formatting model

    + +

    Compared with the other proposals discussed in this chapter, SSP describes an advanced formatting model. In addition to basic inline and block-level elements, floating elements, tables and captions are discussed.

    + +

    SSP employs a box model where child elements are inside their parent.

    + +

    Surprisingly, there is no property that explicitly distinguishes between the two basic types of element: block-level and inline. Instead, some properties imply that an element is block-level. That is, if any of these properties (e.g., prebreak, ruleafter, leftindent) has a non-default value the element becomes block-level, otherwise it is inline.

    + +

    Floating elements are supported through the track and flush properties. SSP defines three tracksleft, center and right – into which an element can be put. When elements are put in the left or right tracks, the elements in the center track will flow around them. The flush property indicates whether an element can reside next to floated content or not. Here is an example of its use:

    + +
    *IMG.track: right
    +*H1.flush: full
    +
    + +

    Here, IMG elements are floated to the right while H1 elements will always be placed underneath a floating element. CSS has adopted the SSP model for floating elements, but uses different property names.

    + +

    Tables are achieved in SSP by classifying elements into rows, cells and the main table container:

    + +
    *TR.tablerow: true
    +*TD.tablecell: true
    +*TABLE.table: true
    +
    + +

    The example above maps HTML's table elements to SSP table formatting.

    + +

    Linking mechanism

    + +

    SSP provides a way to embed style sheets into documents. Consider this example:

    + +
    <DOCUMENT>
    +  <STYLE>
    +    *STYLE.stylesheet: true
    +  </STYLE>
    +</DOCUMENT>
    +
    + +

    Here, the rule inside the STYLE element declares that the STYLE element contains a style sheet. For the parser, however, the information in the stylesheet property comes too late – in order to understand the style rule, the parser must know that the element contains a style sheet.

    + +

    The proposal considers links to external style sheets to be outside its scope but, nonetheless, describes various ways of linking. The options discussed are:

    + +
    +
      + +
    • In the LINK tag of HTML. This is unsatisfactory for several reasons: (1) it is too late, the document has already started before the link is found; (2) it doesn't work for non-HTML.
    • + +
    • In a new header line of the HTTP protocol. This is better, but it relies on HTTP being used.
    • + +
    • As part of a MIME/multipart document.
    • + +
    • In the URL. A bad idea, not only because the style doesn't really `belong' to the document, but also because the URL would become too long.
    • + +
    • The other way round: a hyperlink contains not the URL of the document, but of its style sheet, which in turn references the document (in a new `document' property).
    • + +
    • As an attribute of A: <A HREF="doc.html" STYLE="doc.sty">
    • + +
    +
    + +

    Generated content

    + +

    SSP supports a simple way of adding text to the beginning and end of elements. Consider this example:

    + +
    *Q.insertbefore: `
    +*Q.insertafter: '
    +
    + +

    Two properties, insertbefore and insertafter, contain the text that should be added. There is no way to style the generated text differently from the content of the element.

    + +

    Other formatting contexts

    + +

    The proposal briefly discusses the possibility of supporting other output devices, but no mechanism is proposed.

    + +

    SSP in context

    + +

    Although SSP is a fairly short and simple proposal, it goes further than most other web style sheet proposals in two areas. First, it describes a relatively sophisticated formatting model including tables, floating elements and minimum (as opposed to exact) vertical margins.

    + +

    Second, SSP style sheets contain more non-stylistic information than other languages. For example, information about the content language, link behavior, which attribute contains the ID value, and whether or not an element is empty can be represented. To some extent, SSP challenges SGML's DTD by providing an alternative – and much simpler – syntax for the same information.

    + + +

    SSP is notably sparse in the number of units it suggests. Units are tied to properties and values, therefore, do not need unit identifiers. The length units are limited to ems, lines and pixels.

    + +

    The author of SSP, Bert Bos, later joined W3C to work with this author on style sheets. Thus SSP had an strong influence on the development CSS.

    + +

    Like SSFP, the SSP specification is still available from its original URL.

    + + + +

    PSL96

    + +

    PSL is a presentation specification language developed by Ethan Munson and his team at the University of Wisconsin-Milwaukee [Munson 1996] [Marden&Munson 1998]. The PSL language is inspired by – and builds upon – the P language discussed in the previous chapter. Unlike the other proposals described in this chapter, PSL was not put forward as a proposal to be discussed on the www-talk mailing lists. Instead PSL was, like P, described in research papers, and implementations were made available in the form of a source code library called Proteus.

    + +

    The PSL language evolved over time. The initial description of Proteus in a paper from 1992 [Graham, et al. 1992] described a presentation schema language but did not use the acronym PSL. The syntax of PSL in 1992 is very close to that of P, and the same syntax is used in Munson's PhD thesis of 1994 [Munson 1994]. However, a paper of 1996 [Munson 1996] describes an evolved syntax and PSL is proposed as a style sheet language for the web. To distinguish this language from earlier languages, the language reviewed will be referred to as PSL96. Another paper from 1998 [Marden&Munson 1998] further describes PSL96 and gives code examples. Also, the title of the 1998 paper (PSL: An Alternate Approach to Style Sheet Languages for the World Wide Web) promotes PSL96 as a style sheet language for the web.

    + +

    Both papers are written in a scientific style. This gives readers a quick grasp of the language but does not serve to make them complete proposals. For example, none of the papers gives a list of proposed properties. +

    + +

    Syntax

    + +

    PSL96, in its simplest form, looks similar to CSS. Here is a simple fragment:

    + +
    H1 {
    +  fontSize: 20;
    +}
    +
    + +

    This would have been a valid CSS style sheet if the property was font-size, and the value had a unit identifier (e.g. px).

    + +

    PSL96 uses curly brackets to indicate blocks where P94 uses begin and end keywords. As such, PSL96 resembles the C programming language while P94 draws upon Pascal. The newer PSL96 syntax is arguably easier to read and is also similar to CSS.

    + +

    The above example is not a complete style sheet on its own. A PSL96 style sheet consists of four sections: HEADER, DEFAULT, ELABORATIONS, and RULES. Here is a simple style sheet with a DEFAULT and RULES section:

    + +
    DEFAULT {
    +    lineHeight = Self.fontSize * 1.5;
    +}
    +RULES {
    +  P {
    +    fontFamily = "times";
    +    fontSize = 14;
    +  }
    +}
    +
    + +

    The rule in the DEFAULT section is applied to elements if no other rule sets the value for lineHeight. The rule expresses that the line height is the font size of the element itself (Self) multiplied with 1.5. This is an example of a constraint which expresses a relationship between two values on the same element. PSL96 can also express constraints between values on different elements, and geometrical constraints between the bounding boxes of different elements. Geometrical constraints have their own syntax:

    + +
    LI {
    +   VertPos: Top = LeftSib . Actual Bottom;
    +}
    +
    + +

    The example above expresses that the vertical position (VertPos) of an LI element is described by a constraint: the top (Top) of the element should be in the same place as the left sibling's (LeftSib, i.e., older sibling) actual bottom (Actual bottom) position. The distinction between actual and specified positions is one of the differences between P94 and PSL96.

    + + +

    Selectors

    + +

    PSL96, like DSSSL and P93, use simple element name selectors. Here is a simple example to style an A element like Mosaic [Mosaic] displays links:

    + +
    A {
    +  fgColor = "blue";
    +  underlineNumber = 1;
    +}
    +
    + +

    In HTML, only A elements with HREF attributes are links. This can be described in PSL96 by adding a logical expression within the block:

    + +
    A {
    +  if (getAttribute(self, "href") != "") then
    +    fgColor = "blue";
    +    underlineNumber = 1;
    +  endif
    +}
    +
    + +

    While curly brackets mark the outer block, the inner block is marked by keywords (then, endif).

    + +

    Properties

    + +

    PSL96 has a notion of schemas which may differ from one media to another [Munson 1996]:

    + +
    The grammar for all PSL schemas is the same, but the details (primitive types, attributes, and dimensions) change between media.
    + +

    Thus, PSL96 does not define a set of properties (called attributes in the quote above) but delegates this to the schema associated with a media type [Munson 1996]:

    + +
    For instance, Ensemble's text medium currently has 15 attributes controlling font (FontFamily, Size, Bold, and Italic), hyphenation (Hyphenate, MinHyph, MinLeft, MinRight), justification, indentation, line-spacing, visibility, foreground color, and background color.
    + +

    The Ensemble system [Graham 1992] also supports the video and graphics media, which have their own properties. For example, graphics has the StrokeWidth and Rotation properties [Munson 1996].

    + +

    Values and units

    + +

    As described above, PSL96 does not describe properties but leaves this to a presentation schema. For the purpose of this discussion, however, this author assumes that the text schema is part of the PSL96 language.

    + +

    Each PSL96 property accepts one of these values: boolean, string, real, or application-specific enumeration. The value can either be explicit, or can be an expression that returns a value.

    + +

    The explicit values in PSL96 are fairly generic. Here are some examples:

    + +
    HTML {
    +  fontFamily = "times";
    +  fontSize = 14;
    +  fgColor = "black";
    +  visible = No;
    +}
    +H1 { 
    +  fontFamily = "helvetica";
    +  fontSize = 18; 
    +  visible = Yes;
    +}
    +
    + +

    PSL96 does not support different length units. Only numbers are allowed as values and it is up to the application to interpret the value [Munson 2003].

    + +

    Expressions

    + +

    The expression language is what makes values in PSL96 interesting. Expressions in PSL96 are based on P94, but go further by allowing constraints between arbitrary elements to be described. The format of the expressions is:

    + +
      <property> = <node expression> . <property>
    +
    + +

    The purpose of the node expression is to identify an element from which a property value can be fetched. PSL96 provides a set of functions that can be combined to form a node expression: Parent, LeftSib, RightSib, FirstChild, LastChild, NthChild, Root, AncestorOfType, Creator, and AllChildren. Here are some examples:

    + +
    P { fontSize = Root . fontSize }
    +UL { Width = AllChildren . Width }
    +TD { HorizPos: Left = LeftSib . Right }
    +P { fontSize = FirstChild(LeftSib(Parent)) . fontSize }
    +
    + +

    The first example sets the font size of P elements to be equal to the root element's font size. The second example makes the width of the UL element equal to the width of all its children. The third example makes the left edge of a TD element equal to the right edge of its left sibling, thereby laying TD elements out horizontally. The fourth example shows how node expressions can become complex; P elements are set to use the same font size as their parent's left sibling's first child.

    + +

    PSL96 expressions can also include mathematical operators common to general-purpose programming languages including arithmetic, comparison, and boolean operators. Also, common mathematical functions (such as min, max, and round) and trigonometric functions are available. Here is an example which stacks LI elements on top of each other, except for the middle element which starts another stack of elements to the right of the existing one:

    + +
    LI {
    +   if (ChildNum(Self) == round(NumChildren(Parent) / 2 + 1)) then
    +      VertPos: Top = Parent.Top;
    +      HorizPos: Left = LeftSib.Left + Self.Width;
    +   else
    +      VertPos: Top = LeftSib.Actual Bottom;
    +      HorizPos: Left = LeftSib.Left;
    +   endif
    +}
    +
    + +

    Specified versus actual values

    + +

    PSL96 recognizes the difference between specified and actual values and allows geometrical constraints to refer to either. Consider these two rules:

    + +
      UL { Width = AllChildren . Width }
    +  UL { Width = AllChildren . Actual Width }
    +
    + +

    In the first rule, the width of the UL element is set to the specified width of its children (i.e., not taking their content into account). The second rule refers to the actual width of its children, which may be smaller since the content of the child elements may not fill the entire specified width.The above example also shows a difference between the formatting models of PS96 and CSS: block-level elements in CSS will, unless specified otherwise, fill the entire width of their parent element regardless of content. This does not seem to be the case in P94/PSL96. +

    + +

    Value propagation

    + +

    PSL96 has four mechanisms for value propagation. In descending order of precedence, they are:

    + +
      + +
    • geometrical constraints: expressions can declare explicit geometrical constraints between boxes and, thereby, propagate values;
    • + +
    • explicit default rules: these are the rules listed in the DEFAULT section of the style sheet; and
    • + +
    • implicit default rules: in cases where the explicit default rule fails or does not exist, the implicit default rule will be used. For example, the implicit default rule can set properties to be inherited by using a rule of the form: Property = Partent . Property.
    • + +
    + + + + +

    Visual formatting model

    + +

    The visual formatting model of PSL96 is similar to P94. Both are based on a hierarchy of rectangular boxes some of which correspond to elements in the source document.

    + +

    In addition to the capabilities of P94, PSL96 can do out-of-order rendering. It can be argued that out-of-order formatting is not a feature of the formatting model itself but, rather, the transformation between a logical structure and a presentation structure. However, in the case of PSL96, out-of-order formatting is so tightly integrated with the geometry of the visual formatting model that it deserves a discussion in this section.

    + +

    The role of transformation languages in the context of style sheets was discussed in Chapter 2. Style sheet languages, generally, can be split into two groups: those that are transformation languages and those that are stream-based. The major benefit of being a transformation language is that content can be reordered: content does not have to be presented in the order it is received. The downside to transformations is that progressive rendering no longer can be supported.

    + +

    PSL96 is an interesting midpoint between transformation languages and stream-based languages. PSL96 supports out-of-order presentation of content without becoming a fully fledged transformation language. This is achieved by placing geometrical constraints on elements. Consider the following:

    + +
    <TABLE>
    +  <CAPTION>The table's caption</CAPTION>
    +  <TR><TD>1</TD><TD>2</TD></TR>
    +  <TR><TD>3</TD><TD>4</TD></TR>
    +</TABLE>
    +
    + +

    The CAPTION element is the first child of TABLE. In some cases one may want the caption shown underneath the content of the table and this presentation can easily be achieved in PSL96:

    + +
    CAPTION { VertPos: Top = Parent . Bottom }
    +
    + + + +

    Linking mechanism

    + +

    Each PSL96 style sheet has a HEADER section that declares the kind of medium described by the style sheet describes (examples include Text and Mosaic), the name of the view and the document language to which the style sheet applies. Here is a sample HEADER section:

    + +
    MEDIUM mosaic;
    +PRESENTATION links FOR html;
    +
    + +

    In the example above, the medium is Mosaic (which, at one point, was synonymous with the web). The name of the view is links and the style sheet can be applied to HTML documents.

    + +

    Generated content

    + +

    PSL96 has rich support for generated content. The underlying model is similar to P94, but PSL96 uses different names and offers slightly enriched functionality. Generated content is called tree elaborations by PSL96 and the generated content is described in a section of the style sheet called ELABORATIONS. Here is an example:

    + +
    ELABORATIONS {
    +  linebreak : Markup ("<BR>") {
    +    visible = Yes;
    +  }
    +  arrow : Markup ("<IMG src=arrow-grey.gif>") {
    +    visible = Yes;
    +  }
    +  url : Content (getAttribute(creator, "href")) {
    +    visible = Yes;
    +    fontSize = 12;
    +  }
    +}
    +
    +A {
    +  if ( getAttribute(self, "href") != "" ) then
    +    visisble = Yes;
    +    fgColor = "blue";
    +    underlineNumber = 1;
    +    createRight (arrow, url, linebreak);
    +}
    +
    + +

    The style sheet above describes a presentation of links where the content of the A element is shown in blue, underlined text. The last rule of the style sheet creates a set of boxes to the right of the link text: first an arrow, then the URL and, finally, a line break. The arrow and the line break are described by inserting HTML markup into the presentational structure. The concept of generated markup rather than generated content gives PSL96 functionality normally associated with transformation languages without becoming a transformation language of its own.

    + +

    Other formatting contexts

    + +

    One of the goals of the research behind PSL is to investigate how style sheets can be used to describe presentations of different media. (The concept is similar to media types in CSS.) Munson [Munson 1994] describes how the Proteus system has been adapted to three different media types: text, two-dimensional graphics and digital video. In order to support a new media type, the elements of a medium must be known. According to [Munson 1994], the elements of a media type are: the set of primitive object types, a set of dimensions in which objects are laid out, and a set of parameterized formatting operations. This idea is further developed in [Munson&Pfeiffer 1999], which defines the MSPEC language for describing a media type. +

    + +

    PSL96 in context

    + +

    The PSL96 language was developed in a research environment over a decade starting about 1990. The language is closely related to the P language (of which the 1994 version is described in the previous chapter). It reuses all major parts of P94.

    + +

    PSL96 uses a more readable syntax than P94. Although not fully consistent, the use of curly brackets instead of keywords and the colon sign (which is overloaded in P94) makes PSL96 a more friendly language for humans. Also, PSL96 offers novel functionality compared with P94 and other style sheet languages:

    + +
      + +
    • PSL96 offers a node expression language which is used to declare constraints between arbitrary elements. This allows PSL96 style sheets to present content out of order without requiring a transformation language. However, out-of-order rendering makes progressive rendering difficult, if not impossible.
    • + +
    • Most style sheet languages support generated content, but PSL96 is the first to propose that the style sheet should be able to generate markup. This feature is another example of how PSL96 provides functionality normally associated with transformation languages, without actually being a transformation language.
    • + +
    • PSL96 recognizes the difference between specified and actual values and allows geometrical constraints to refer to either.
    • + +
    + + + + +

    In several publications, PSL96 was proposed as a style sheet language for the web [Munson 1996] [Marden&Munson 1998] [Marden&Munson 1999]. While PSL96 contains features that would be useful in a web context, the language has problems that would need to be resolved before it could be implemented interoperably on the web. The most serious problem is that PSL96 is more of a framework, for defining style sheet languages for different media, than a well-defined style sheet language for the web. PSL96 does not have a clearly defined list of properties and values from which implementors can start working. It leaves this to media-type schema. If the text schema is considered to be part of the PSL96 language (as the discussion above does), one is closer to having a complete proposal.

    + +

    The problem of extensibility remains yet. One of the features of PSL96 is that it can be extended: client applications can offer access to functionality that otherwise is not part of the PSL96 language. Most often, however, extensibility conflicts with interoperability since an extensible language will result in many different profiles of use. A style sheet language, which is generally used to express non-vital presentations, is probably better suited for different profiles than most other languages. To this author, though, it still seems a better idea to define functionality in a specification rather than leaving it up to applications.

    + +

    The PSL96 authors observe [Munson 1996] that while there is a long history of research on structured document editors, relatively little research has been done on style sheet languages (or presentation specification languages as PSL96 calls them). In another article [Marden&Munson 1999] this view is posed in stronger terms: Style sheet languages are terribly underresearched. While PSL96 has not seen much use outside the research communities, the research performed by – and provoked by – the PSL team has been a significant contribution to the understanding of style sheet languages.

    + + +

    Summary and conclusions

    + +

    In the period 1993-1996 nine different style sheet languages were proposed for the web, and HTML is the primary document language for all proposals. With the exception of PSL96, all proposals were either quite simple from the outset, or simplified subsets of style sheet languages developed before the web. (PSL96 is an exception since it extends P94, rather than simplifying it.) None of the proposed style sheet languages saw any real use on the web, but two of them (CHSS and SSP) formed the basis for CSS.

    + +

    This chapter has reviewed the proposals according to criteria established in the previous chapter. The next chapter illustrates how all style sheet languages reviewed so far, both those developed before and for the web, fulfill the requirements of the web. + + +

    +
    + +
    +

    Web requirements

    + + +

    In the previous two chapters, style sheet languages and proposals have been evaluated according to the criteria established in Chapter 3. These evaluations have established that the languages are, indeed, style sheet languages and that the proposals could be developed into style sheet languages. However, the suitability of these languages for the web has not been evaluated. Their evaluation is the topic of this chapter.

    + +

    Web characteristics formulated as requirements

    + +

    In order to evaluate suitability for web use, a set of requirements must be established. Six key web characteristics that are likely to influence the design of style sheet languages for the web are listed in the Chapter 1. These are revisited below and reformulated as requirements for web style sheet languages.

    + +
      + +
    • Later binding requires stream-based style sheets: On the web, the content and the style sheet can be combined into a presentation at a very late stage: in the user's computer. Current web browsers use progressive rendering to display information as it is downloaded from the web and it is important that the introduction of a style sheet does not slow down the presentation. Therefore, it is requirement that style sheets can be applied to documents as they are downloaded. One of the reviewed style sheet proposals has lent its name (Stream-based Style sheet Proposal) to this requirement.
    • + + +
    • Screen-centric publishing requires support for screen-based properties, values and units: Print and screen are both visual media types and they can reuse many of the same properties, values and units. However, in order to optimize presentations for computer screens, it is necessary to support some extra properties, values and units. For example, setting the background of a textual element is common in screen-based designs, and a pixel unit is required to ensure that (say) a border is exactly one pixel wide. + +
    • + +
    • Shared author/user influence requires negotiation between conflicting stylistic preferences: The added flexibility of later binding makes it possible for both users and authors to influence the presentation and it seems reasonable to make this a requirement for style sheet languages on the web. One way of supporting presentational negotiation is to combine style sheets from several sources.
    • + + +
    • Multiple outputs require media-specific style sheets: Web content is displayed on many types of output devices and style sheets must be able to express presentations for a range of such. For example, are there properties for non-visual media? Are units suitable for different types of output devices? Finally, can the style sheet indicate that it should only be applied to certain media types?
    • + +
    • Hyperlinked documents require link styling: Users have come to expect that browsers record those links they have visited in the past. One of the ways of differentiating between visited and unvisited hyperlinks is to style them differently. In order to present hyperlinks, the browser, therefore, must use information outside the documents and style sheets themselves.
    • + +
    • Uncertain delivery requires robustness. The internet is a medium prone to failure and style sheet languages should, like other web mechanisms, be designed with this in mind. If a style sheet fails to appear, the content should still be presentable to the user. Robustness is therefore a requirement. One way to achieve robustness is to have redundant presentational fallback values. Fallback values must go beyond simply having default values for each property. For example, default values are not able to distinguish between inline and block-level elements.
    • + + +
    + +

    When discussions on web style sheet languages started, these requirements had not been formulated in writing, as is typical before new standardization efforts are started. Writing the requirements retrospectively allows more experience to be used in their formulation. Calling them requirements, however, may be too strong. Indeed, none of the requirements are absolute in the sense that a style sheet language would be deemed unusable if not all requirements were fulfilled.For example, it is impossible to fulfill the last requirement for documents written in generic XML since the fallback mechanism typically is based on common knowledge which, by definition, does not exist for generic XML.

    + +

    Also, it may be argued that it is unfair to evaluate style sheet languages according to requirements for which they were not designed. For example, style sheet languages developed before the web do not need a mechanism to increase the robustness since the formatting process simply will not start until both the document and the style sheet is available. Thererfore, it should be noted that a style sheet language may be perfectly suitable for use outside of the web even if the requirements discussed in this chapter are not met.

    + +

    For the purpose of this thesis, however, it is necessary and important to evaluate the pre-web style sheet languages and the web style sheet language proposals according to the requirements of the web. This is done in Table 16. +

    + +
    +

    An evaluation of how different style sheet languages and proposals perform with respect to web requirements. Positive evaluations are marked by a shaded background.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Stream-basedScreen-based properties, values, unitsNegotiation between conflicting stylistic preferencesMedia-specific style sheetsLink stylingRobustness
    FOSITo some extent, FOSI can be considered stream-based. A carefully written FOSI style sheet which avoids some advanced features (including cross-references, floating, and generated text) and certain selectors (e.g., the middle and last values on the occur attribute) can be rendered progressively.No. For example, there is no pixel unit.No. FOSI style sheets are typically applied by authors/publishers, and users only see the printed output. There exists no mechanism for combining several style sheets.No, FOSI is primarily intended for printing documents and has no concept of media-specific style sheets.No, link styling is not supported.No, there is no mechanism to increase robustness.
    DSSSLNo, DSSSL is a transformation language at its core and requires a complete document in order to start processing.No. For example, there is no pixel unit.No, there is no support for multiple style sheets.No, FOSI is primarily intended for printing documents and has no concept of media-specific style sheets.No, DSSSL has no concept of linksNo, there is no mechanism to increase robustness
    P94Yes, P94 is a language for describing presentations and leaves the task of transforming the document to its sister language, TNo. For example, there is no pixel unit.No. Multiple style are supported by way of views, but the various style sheets cannot be combined.Yes, a P94 style sheet can define several views, e.g., a print view and a screen view.No, P94 has no concept of links.No, there is no mechanism to increase robustness
    RRPYes, RRP supports progressive renderingYes, the proposal is written with computer screens in mind. For example, it suggests how color values can be visualized on terminals which do not support color. There is no pixel unit per se, but some numeric values are interpreted as pixels.Multiple style sheets are supported, but only as a way for authors to replace one style with another inside a document.No, media-specific style sheets are not discussedYes. RRP has rich support for link styling, including what marks to put before and after the link. However, there is no way to style visited and unvisited links differently.The proposal stresses that a style sheet is a list of hints or suggestions. This implies that there will be another underlying mechanism to ensure that documents can be rendered when a style sheet is not available.
    PWPYes, PWP supports progressive renderingNo. PWP includes a set of properties to control blinking of text, but more basic features (e.g., the pixel unit) are lacking.Multiple style sheets are discussed in the proposal, and implemented by Viola. Like RRP, however, only authors are allowed to specify style sheets.No, media-specific style sheets are not discussed.No, link styling is not discussed.Like RRP, PWP does not explicitly describe a mechanism for increasing robustness but the Viola implementation was able to render documents without style sheets.
    SHPYes. SHP supports progressive rendering since those features in FOSI which would make progressive rendering impossible are not part of the subset.No, SHP lacks screen-based properties, values and units.No, unlike PWP, SHP does not discuss multiple style sheets.No, media-specific style sheets are not discussed.No, link styling is not discussed.Like RRP and PWP, SHP does not explicitly discuss robustness, but it seems likely that documents were meant to be rendered even if a style sheet was not linked from the document.
    CHSSYes, CHSS is stream-based.Yes, CHSS supports screen-based rendering. The pixel unit is one of several length units, and the size of the screen can be taken into account when selecting a style sheet.Yes, CHSS introduces the concept of cascading which combines several style sheets into one presentation.Yes, media-specific style sheets are part of the CHSS proposal.No, link styling is not discussed.Yes, the default style sheet in the browser allows documents to be rendered even if user/author style sheets are missing.
    JEPYes, progressive rendering is possible.Yes, screen-based design is supported. The pixel unit is lacking, but some novel features, including the pcd unit (percent of display) is supported.Although JEP does not support a generic mechanism for combining style sheets, it suggests two schemes for giving users influence: font mapping and weighted rules.JEP discusses how to write style sheets for different output media, but does not propose a syntax for doing so.The proposal discusses whether it should be possible to specify styles for anchors, but does not propose a syntax.Yes, the proposal describes a model where browsers have the capability to render HTML documents and can selectively choose to honor rules in a style sheet. For example, the proposal says a browser which highlights hypertext anchors by underlining them is encouraged to ignore any underline specifications in the stylesheet.
    SSFPYes, progressive rendering is possible.No. For example, there is no pixel unit.No, multiple style sheets are not discussed.No, media-specific style sheets are not discussed.No, link styling is not supported. (Link behaviors are described, however.)No. The proposal mentions specification of fallback processing as an issue which is not yet considered.
    DSSSL LiteNo. DSSSL-Lite is, like DSSSL itself, a transformation language.The proposal has one feature, the iconify flow object, which is only implementable on a dynamic display. The proposal does not list values and units.No, multiple style sheets are not discussed.No, media-specific style sheets are not discussed.The proposal mentions that objects/characteristics for linking are necessary, but they are not described.Not discussed.
    SSPYes. The proposal has stream-based in its name to emphasize the importance of this feature.Yes. Some properties interpret numeric values as pixels, and it is possible to set the background of elements. Some properties (including isman and minimized) only make sense in a screen-based environment.No, multiple style sheets is not supported.Yes, SSP sketches and discusses support for media-specific style sheets. One example in the proposal is to set different color values based on the type of display in use.No, there is no support for link styling. (Link behaviors are described, however.)Not discussed.
    PSL96PSL96 is an interesting midpoint between transformation languages and stream-based languages. PSL96 allows out-of-order presentation, and progressive rendering can therefore be impossible.PSL96 has been implemented in a screen-based browser [Marden&Munson 1997] [Marden&Munson 1998], but does not support screen-oriented properties, units or values. For example, the pixel unit is not supported.No. Multiple style are supported by way of views, but the various style sheets cannot be combined.Yes, PSL96 style sheets can define different views, e.g., a print view and a screen view.One of the possible views in PSL96 is the links view which, for example, can list all links along with their target URLs. However, it is not possible to style links based on external information, for example if a link has been visited or not.The proposal does not describe any mechanism to increase the robustness of renderings, but the authors' modified Mosaic browser is able to present HTML documents without attached style sheets.
    + + +
    + +

    As can be seen in Table 16, none of the style sheet languages evaluated so far addresses all web requirements. The one that comes closest is CHSS which only fails to address link styling. CHSS was subsequently developed into CSS and link styling was added in the process. CSS is the topic of the next chapter and an evaluation of CSS, similar to Table 16, can be found in Table 21.

    + +

    Summary and conclusions

    + +

    The web adds several new requirements for style sheet languages. In order for a style sheet language to succeed on the web it should:

    + +
      + +
    • be stream-based, so that content can be presented progressively;
    • + +
    • support screen-based properties, values and units;
    • + +
    • be able to combine multiple style sheets;
    • + +
    • support media-specific style sheets;
    • + +
    • offer link styling to distinguish visited links from non-visited links; and
    • + +
    • be robust, in case the linked style sheet does not appear.
    • + +
    + +

    It may be argued that the additional requirements added by the web change the design of style sheet languages to the extent that the term style sheets is no longer appropriate. Finding a new name might also lessen tensions between communities developing languages designed for the web and languages designed prior to the web. By now, however, style sheets is firmly established.

    + +

    None of the pre-web style sheet languages nor the style sheet language proposals fulfill every requirement described in this chapter. In order to fulfill these requirements, a new style sheet language had to be developed. The next chapter describes one such effort.

    +
    + +
    +

    Cascading Style Sheets

    + +

    In the previous chapters, style sheet languages before and for the web have been described. However, as the last chapter concluded, none of them comprehensively addressed the needs of the web. In this chapter Cascading Style Sheets is presented and evaluated according to the same criteria used to evaluate the other languages and proposals.

    + +

    CSS was developed in part by this author, along with Bert Bos, the W3C HTML and CSS Working Groups and the community at www-style. Two of the proposals discussed in Chapter 4, CHSS and SSP, formed the basis for CSS's development and many people contributed ideas along the way. +

    + +

    CSS is defined in W3C Recommendations. W3C has issued two major CSS specifications: CSS1 was released in December 1996, and CSS2 was released in May 1998. Both levels are based on the same core syntax and CSS1 is (with some minor exceptions) a subset of CSS2. Unless otherwise noted, the discussion below refers to CSS2.

    + +

    Syntax

    + +

    CSS uses a simple syntax. Here is an example:

    + +
    H1 { font-size: 2em }
    +
    + +

    The rule in the example above consists of two main parts: selector (H1) and declaration (font-size: 2em). The declaration has two parts: a property (font-size) and a value (2em). While the example above tries to influence only one of the properties needed for rendering a document, it qualifies as a style sheet on its own. Combined with other style sheets it will determine the final presentation of the document.

    + +

    Several declarations can be grouped in a declaration block:

    + +
    BODY { 
    +  margin: 3em; 
    +  font-family: "Gill Sans", sans-serif;
    +}
    +
    + +

    Declarations inside the declaration block (enclosed by curly brackets) are separated by semicolons. The last declaration is optionally followed by a semicolon. The first declaration in the example above sets the margin around the BODY elements to be 3em. The em unit refers to the font size of the element. In this case, the result is that the margins around the BODY element are three times wider than the font size of the BODY element. The margin property is an example of a shorthand property which sets values on several other individual properties at the same time (in this case, the margin-top, margin-right, margin-bottom and margin-left).

    + +

    The second declaration in the above example has a comma-separated list of font families as value. If the first value cannot be used (i.e., if the Gill Sans font is not available), the next value will be tried, and so forth. Only some CSS properties accept lists as values.

    + +

    Selectors can also be grouped in comma-separated lists:

    + +
    H1, H2 { 
    +  font-weight: bold;
    +}
    +
    + +

    In the example above, the declaration block applies to both H1 and H2 elements.

    + +

    Most of the logic in CSS is expressed in selectors. Here is a more ambitious example:

    + +
    DIV.ingress P:first-line {
    +  text-transform: uppercase;
    +}
    +
    + +

    In plain text, the rule above reads: the first line of all P elements inside DIV elements of class ingress should be transformed to uppercase. Advanced selectors like this one are described in more detail below.

    + +

    Forward-compatible parsing

    + +

    The CSS specifications describe two kinds of grammars. First, they describe the parsing rules for the respective level of CSS (i.e., CSS1 and CSS2). Second, they describe a grammar that is valid for all levels of CSS: past, present and future. The purpose of the forward-compatible parsing is to allow future levels of CSS to include new functionality while ensuring that older implementations can parse the new style sheets. The old implementation will not understand the new features but will know which parts of the style sheet it does not understand.

    + +

    In return for backwards compatibility, future levels of CSS must follow certain rules when adding new functionality. New selectors, properties and values can easily be added since the forward-compatible parsing rules instruct parsers to ignore rules with unknown parts. Here is an example:

    + +
      :foo { color: red }
    +  P { foo: red }
    +  P { color: foo }
    +  P { color: blue }
    +
    + +

    The first three rules are invalid in CSS1 and CSS2 (due to the selector, property and value, respectively). Conforming CSS1/CSS2 implementations will, due to the forward-compatible parsing rules, ignore each of the invalid rules and resume normal parsing after the right curly bracket (}). The last rule is valid and will have the normal effect.

    + +

    At-keywords

    + +

    The forward-compatible parsing rules also allow more advanced constructs to be introduced through at-keywords. An at-keyword starts with an '@' sign, immediately followed by the name of the keyword. The forward-compatible parsing rules state that an at-rule consists of everything up to and including the next semicolon (;) or the next block, whichever comes first [CSS2 1998]. This rule allows new syntactic structures to be introduced into CSS.

    + +

    CSS1 uses an at-keyword to import one style sheet into another:

    + +
    @import "mystyle.css";
    +
    + +

    CSS2 used the at-keyword extension mechanism and added four additional at-keywords:

    + +
    @charset "ISO-8859-1"; 
    +@font-face {
    +  font-family: "Robson Celtic";
    +  src: url("http://www.example.com/fonts/rob-celt");
    +}
    +@page { 
    +  size: 8.5in 11in;
    +}
    +@media print {
    +  BODY { font-size: 10pt }
    +}
    +
    + +

    The four at-keywords respectively describe: the character set used in the CSS style sheet; downloadable font resources, paged media, and media-dependent style sheets.

    + +

    The purpose of the forward-compatible parsing rules is to ensure that future levels of CSS can introduce new features without breaking older implementations.

    + + + +

    Selectors

    + + + +

    CSS has a rich set of selectors and most of the logic that can be expressed in CSS is written into selectors. Other languages, e.g. DSSSL, P94, and PSL96 have simple selector mechanisms, but more complex expressions.

    + +

    For example, when selecting an element based on its type (NOTE in the example below) and the existence of an attribute (WARNING), CSS expresses this in a selector:

    + +
    NOTE[WARNING] { ... }
    +
    + +

    DSSSL, on the other hand, will only put the element type in the selectors and express the attribute requirement inside an if statement.

    + +
    (element NOTE
    +   (if (not (node-list-empty? (attribute "WARNING")))
    +     ...
    +     ))
    +
    + +

    Two aspects of CSS selectors deserve further discussions: the notion of simple vs. contextual selectors, and pseudo-selectors. They are each discussed below, followed by an overview of the selectors in CSS1 and CSS2.

    + +

    Simple and contextual selectors

    + +

    CSS1 distinguishes between simple and contextual selectors. A simple selector is a selector that matches an element based on its type and/or attributes, but not the element's position in the document structure.

    + + +

    In contrast, a contextual selector is a selector that matches an element based on its position in the document structure. A contextual selector consists of several simple selectors.

    + +

    In order to support contextual selectors, browsers must keep a stack of open elements so that all simple selectors of the contextual selector can be evaluated. This task is further complicated when an element is present according to the DTD but the corresponding tags do not appear in the document. For example, this is often the case with the BODY element in HTML, and implementations must, therefore, have knowledge of the HTML DTD. Most early web browsers did not keep a stack of open elements and, therefore, could not support contextual selectors.

    + +

    One reason why the relatively advanced contextual selectors were present in the relatively simple CSS1 specification was to set borders around clickable images. The Netscape browser supported this feature through proprietary extensions and it was deemed, therefore, to be a required feature in CSS1 as well. Here is a quote from Appendix A of the CSS1 Recommendation:

    + +
    /* setting the anchor border around IMG elements
    +   requires contextual selectors */
    +
    +A:link IMG { border: 2px solid blue }
    +A:visited IMG { border: 2px solid red }
    +A:active IMG { border: 2px solid lime }
    +
    + +

    Another reason why CSS1 requires support for contextual selectors was to increase awareness among implementors that the tags in HTML represent document structure and not formatting instructions.

    + +

    In retrospect, it may have been a mistake to make contextual selectors part of the CSS1 specification. Implementations did not support this feature in an interoperable manner until several years later and this delayed the deployment of CSS1. On the other hand, by having contextual selectors, CSS contributed to the understanding of HTML as a structured markup language.

    + +

    CSS2 further extended the range of contextual selectors. See Tables 17 and 18.

    + +

    Pseudo-elements and pseudo-classes

    + +

    CSS1 introduces the concept of pseudo-elements and pseudo-classes which have their own selectors.

    + +

    The general model of CSS is to attach style properties to elements found in the source document. A CSS style sheet adorns the source tree with stylistic settings. This allows WYSIWYG editing of the document: the structures seen on the screen correspond directly to elements in the source document.

    + +

    This simple system of mapping source elements to display objects, however, excludes some common typographic effects as well as some dynamic effects that are useful in interactive documents. For example, there is no element that corresponds to the first line of text as formatted on the screen, and there is no attribute that describes if a link has been visited or not.

    + +

    CSS has two extensions to address these problems: pseudo-elements and pseudo-classes. A pseudo-element is a part of an element that does not correspond to a real element in the source document but corresponds to a display object. In CSS1 there are two pseudo-elements: the first-letter of an element and the first-line as it appears on the display.

    + +

    Pseudo-classes reflect the fact that the same element must sometimes be given different styling, depending on external information not found in the document. For example, a hyperlink is usually displayed in a different style after the user has visited the target, even though nothing in the source document has changed. CSS1 has three such pseudo-classes: link, visited and active.

    + +

    Pseudo-elements and pseudo-classes permit a designer to enrich the structure of a source document without having to use a full-blown transformation language. CSS2 has added both new pseudo-classes and new pseudo-elements.

    + +

    Selectors in CSS1

    + +

    Table 17 gives an overview of the selectors that are available in CSS1.

    + +
    +

    Selectors in CSS1.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PatternMeaning
    EMatches any E element (i.e., an element of type E).
    E FThis contextual selector matches any F element that is a descendant of an E element.
    E:link
    +E:visited
    Matches element E if E is the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited).
    E:active
    +E:hover
    +E:focus
    Matches E during certain user actions.
    DIV.warningThe same as DIV[class~="warning"] in CSS2.
    E#myidMatches any E element with ID equal to myid.
    +
    + +

    Selectors in CSS2

    + +

    In addition to the selectors in CSS1, CSS2 added several selector types. See Table 18.

    + +
    +

    Selectors added in CSS2.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PatternMeaning
    *The universal selector matches any element.
    E > FMatches any F element that is a child of an element E.
    E:first-childMatches element E when E is the first child of its parent.
    E:lang(c)Matches element of type E if it is in (human) language c (the document language specifies how language is determined).
    E + FMatches any F element immediately preceded by an element E.
    E[foo]Matches any E element with the foo attribute set (whatever the value).
    E[foo="warning"]Matches any E element whose foo attribute value is exactly equal to warning.
    E[foo~="warning"]Matches any E element whose foo attribute value is a list of space-separated values, one of which is exactly equal to warning.
    E[lang|="en"]Matches any E element whose lang attribute has a hyphen-separated list of values beginning (from the left) with en.
    +
    + +

    The selectors that were added in CSS2 add expressiveness and make CSS applicable to languages other than HTML.

    + +

    Properties

    + +

    CSS1 describes a basic set of properties for visual formatting. CSS2 extends the set by adding properties, especially in the areas of printing and aural presentations.

    + + +

    For some properties, CSS provides a shorthand syntax for setting several values in one declaration. Here is an example:

    + +
    P { font: 10px/12px sans-serif }
    +
    + +

    In the example above, the value of six individual properties (font-style, font-weight, font-variant, font-size, line-height, and font-family) are set through the use of one shorthand property (font). The benefit of shorthand properties is that they reduce the length of style sheets making them more readable. Also, shorthand properties provide a grouping of properties (similar to FOSI) that encourages designers to group related values.

    + +

    Shorthand properties are sometimes criticized for making it more difficult to write parsers. The '/' used in the example above is borrowed from traditional typography, but the character is not used in other properties. Therefore, CSS parsers must add a special code to handle the syntax of the shorthand properties. Also, with the introduction of DOM APIs [DOM1 1998] to read/write the value of CSS properties, the shorthand properties pose an additional problem.

    + + + +

    Table 19 lists all properties in CSS1. In the values column, a formal syntax is used to indicate the legal syntax of values: A bar (|) separates two or more alternatives, exactly one of them must occur; A double bar (||) separates two or more options; one or more of them must occur in any order.

    + +
    +

    Properties in CSS1.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyValues
    Font properties (6)
    font-family[[<family-name> | <generic-family>],]* [<family-name> | <generic-family>]
    font-stylenormal | italic | oblique
    font-variantnormal | small-caps
    font-weightnormal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
    font-size<absolute-size> | <relative-size> | <length> | <percentage>
    font[ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family>
    Color and background properties (7)
    color<color>
    background-color<color> | transparent
    background-image<url> | none
    background-repeatrepeat | repeat-x | repeat-y | no-repeat
    background-attachmentscroll | fixed
    background-position[<percentage> | <length>]{1,2} | [top | center | bottom] || [left | center | right]
    background<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position>
    Text properties (8)
    word-spacingnormal | <length>
    letter-spacingnormal | <length>
    text-decorationnone | [ underline || overline || line-through || blink ]
    vertical-alignbaseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage>
    text-transformcapitalize | uppercase | lowercase | none
    text-alignleft | right | center | justify
    text-indent<length> | <percentage>
    line-heightnormal | <number> | <length> | <percentage> <percentage>
    Box properties (26)
    margin-top<length> | <percentage> | auto
    margin-right<length> | <percentage> | auto
    margin-bottom<length> | <percentage> | auto
    margin-left<length> | <percentage> | auto
    margin[ <length> | <percentage> | auto ]{1,4}
    padding-top<length> | <percentage>
    padding-right<length> | <percentage>
    padding-bottom<length> | <percentage>
    padding-left<length> | <percentage>
    padding[ <length> | <percentage> ]{1,4}
    border-top-widththin | medium | thick | <length>
    border-right-widththin | medium | thick | <length>
    border-bottom-widththin | medium | thick | <length>
    border-left-widththin | medium | thick | <length>
    border-width[thin | medium | thick | <length>]{1,4}
    border-color<color>{1,4}
    border-stylenone | dotted | dashed | solid | double | groove | ridge | inset | outset
    border-top<border-top-width> || <border-style> || <color>
    border-right<border-right-width> || <border-style> || n<color>
    border-bottom<border-bottom-width> || <border-style> || <color>
    border-left<border-left-width> || <border-style> || <color>
    border<border-width> || <border-style> || <color>
    width<length> | <percentage> | auto
    height<length> | auto
    floatleft | right | none
    clearnone | left | right | both
    Classification properties (6)
    displayblock | inline | list-item | none
    white-spacenormal | pre | nowrap
    list-style-typedisc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none
    list-style-image<url> | none
    list-style-positioninside | outside
    list-style[disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none] || [inside | outside] || [<url> | none]
    +
    + + +

    It is noteworthy that a significant number of the properties (22 of 53) describe the boxes around elements (the margin/border/padding areas). The high number is a result of having separate properties for each area on each of the four sides of the box. Also, border styles and border colors can be described on each side and there are shorthand properties to set margins, borders and padding for all four sides at once.

    + +

    In other areas the number of CSS1 properties is kept to a minimum. For example, the background-position property, which describes a pair of coordinates, is a single property. An alternative solution where background-position is a shorthand property for (say) background-position-x and background-position-y, the number of properties would increase, but the values on the individual properties would be simpler to parse. By dropping the shorthand property altogether, parsing CSS would become simpler but style sheets would become longer and arguably more difficult to write.

    + +

    A number of properties were added in CSS2 and Table 20 lists all properties present in CSS2 that are not in CSS1. Also, the display and list-style-type properties are listed since their values were significantly extended in CSS2.

    + +
    +

    Properties introduced in CSS2.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PropertyValues
    border-collapsecollapse | separate | inherit
    border-spacing<length> <length>? | inherit
    caption-sidetop | bottom | left | right | inherit
    clip<shape> | auto | inherit
    content[ <string> | <uri> | <counter> | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit
    counter-increment[ <identifier> <integer>? ]+ | none | inherit
    counter-reset[ <identifier> <integer>? ]+ | none | inherit
    cursor[ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help ] ] | inherit
    directionltr | rtl | inherit
    displayinline | block | list-item | run-in | compact | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit
    empty-cellsshow | hide | inherit
    font-size-adjust<number> | none | inherit
    font-stretchnormal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit
    left<length> | <percentage> | auto | inherit
    list-style-typedisc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-alpha | lower-latin | upper-alpha | upper-latin | hebrew | armenian | georgian | cjk-ideographic | hiragana | katakana | hiragana-iroha | katakana-iroha | none | inherit
    marker-offset<length> | auto | inherit
    marks[ crop || cross ] | none | inherit
    max-height<length> | <percentage> | none | inherit
    max-width<length> | <percentage> | none | inherit
    min-height<length> | <percentage> | inherit
    min-width<length> | <percentage> | inherit
    orphans<integer> | inherit
    outline[ 'outline-color' || 'outline-style' || 'outline-width' ] | inherit
    outline-color<color> | invert | inherit
    outline-style<border-style> | inherit
    outline-width<border-width> | inherit
    overflowvisible | hidden | scroll | auto | inherit
    page<identifier> | auto
    page-break-afterauto | always | avoid | left | right | inherit
    page-break-beforeauto | always | avoid | left | right | inherit
    page-break-insideavoid | auto | inherit
    positionstatic | relative | absolute | fixed | inherit
    quotes[<string> <string>]+ | none | inherit
    right<length> | <percentage> | auto | inherit
    size<length>{1,2} | auto | portrait | landscape | inherit
    speak-headeronce | always | inherit
    table-layoutauto | fixed | inherit
    text-shadownone | [<color> || <length> <length> <length>? ,]* [<color> || <length> <length> <length>?] | inherit
    top<length> | <percentage> | auto | inherit
    unicode-bidinormal | embed | bidi-override | inherit
    visibilityvisible | hidden | collapse | inherit
    widows<integer> | inherit
    z-indexauto | <integer> | inherit
    +
    + +

    Most of the properties added to CSS2 extend the visual formatting model. For example, the position and z-index properties added absolute and relative positioned elements. Also, some properties were added to better support certain media types, in particular printing and aural presentations.

    + +

    Values and units

    + +

    CSS offers a rich set of values and units. In particular, the relative length units are powerful. There are six basic types of values:

    + +
      + +
    • keywords: All properties accept one or more keyword values. The keyword inherit is accepted on all CSS2 properties and most properties also have other keywords among the accepted values. Among the commonly used keywords are normal, none, auto, left, and right. CSS avoids binary keywords (like yes/no and true/false) to more easily have room for additional values in the future.
    • + +
    • strings: Strings are enclosed in double quotes or single quotes. String values are used when the namespace is unlimited and keywords, therefore, are too limited. The difference between keywords and strings is blurred by the fact that the font-family property accepts arbitrary font names without requiring quote marks around them.
    • + +
    • numbers (e.g., 3): Numbers can be either integer or real numbers. Some properties accept only integer values (e.g., the orphan property) while others accept both integer and real numbers (e.g., line-height).
    • + +
    • numbers with units (e.g., 3em): Numbers with units are most often used to express lengths, but they also express angles (e.g., 90deg), times (e.g., 10ms), and frequencies (e.g., 3kHz) on the aural properties. Length units are further described below.
    • + +
    • percentages (e.g., 30%): Percentage values are similar to relative length units in the sense that they are relative to another value. Each property that accepts a percentage value also defines to what other value the percentage is relative. Most percentage values refer to width of the closest block-level ancestor but some refer to other values, for example, the font size of the parent element. For this reason, percentage values have been criticized for being inconsistent and this is discussed further below.
    • + +
    • functions (e.g., counter(chapter)): Some advanced properties accept a functional notation for values. This is typically the case when the value refers to an arbitrary object and it is not possible or natural to use a string value. For example, the content property in CSS2 uses a function to refer to the name of an attribute. The string value cannot be used for this since strings have another meaning on the property.
    • + +
    + +

    Some properties accept several values, either space-separated (in cases where values are complementary) or comma-separated (in cases where values are alternatives).

    + +

    Length units

    + +

    CSS length units can be classified into absolute and relative units.

    + +

    The absolute units are:

    + +
      + +
    • in: inches
    • + +
    • cm: centimeters
    • + +
    • mm: millimeters
    • + +
    • pt: points (in CSS one point is equal to 1/72nd of an inch)
    • + +
    • pc: picas (1 pica is equal to 12 points)
    • + +
    + +

    The relative units are:

    + +
      + +
    • em: the font size of the current element
    • + +
    • ex: the x-height of the current element's font
    • + +
    • px: refers to pixels (see discussion below)
    • + +
    + +

    None of the length units is unique to CSS. The definition of the px unit, however, is novel. Although px refers to the term pixel, the unit is formally defined as a certain viewing angle from the user's perspective rather than the width of a pixel. The reason for not using the most simple and obvious definition is that the width of a pixel will vary considerably from one device to another. Also, as the resolution of output devices increases over time, style sheets should ideally not have to change accordingly.

    + +

    CSS, therefore, defines a reference pixel and prescribes that output devices, where pixels sizes are very different, adjust the px unit accordingly. The suggested reference pixel is the visual angle of one pixel on a device with a pixel density of 90 dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is about 0.0227 degrees.

    + +

    The CSS specification encourages the use of relative length units by stating that absolute length units are only useful when the physical properties of the output medium are known. By using relative length units, documents will scale better in different user environments.

    + +

    To some extent, CSS's lack of logical expressions (e.g., compared with DSSSL and P94) and general constraints (compared to PSL96) is compensated for by the repertoire of relative length values. However, the relative values have also been criticized for being irregular. PSL96's authors [Marden&Munson 1998] write:

    + +
    Nearly every CSS property has different rules for the values on its right-hand side and it is not much of an exaggeration to say that each property's right-hand side has its own specialized language. This point is illustrated by the line-height property. It does not accept the keywords that can be used with font-size and, in addition, percentages are interpreted relative to the font-size of the current element, rather than relative to the parent element's line-height. For example, this rule + +
      EM { line-height: 200%; }
    +
    + +specifies that the line height for elements EM should be twice as large as its font size. This is a natural way to specify line height, but it is not consistent with the treatment of percentages in other parts of the language.
    + +

    It is correct that percentage values in CSS refer to different values. For example, percentages can refer to the font size of the parent element (e.g., font-size), the font size of the current element (e.g., line-height), and the width of the containing block (e.g., margin-left). However, this author will argue that, most often, the referred values is the right choice and that the described limitation not has hindered, but rather helped, authors by making style sheets easier to write. +

    + +

    Value propagation

    + +

    CSS has three principal mechanisms for value propagation: cascading, inheritance and initial values. Together, the three mechanisms ensure that all element/property combination always have a value.

    + +

    The relative strengths of the three mechanisms are different. Cascading is the strongest: if the cascading process yields a value, it will be used. If cascading does not yield a value (or yields the inherit value) the parent element's value will be used. The initial value comes third and will only be used if neither of the other mechanisms yield a value (or if they yield the initial value).

    + +

    Cascading

    + +

    The cascading mechanism in CSS is multi-faceted and serves several purposes. This section will start by describing how the most basic function works, i.e., how the cascading mechanism chooses between several conflicting declarations for a given element/property combination. Further, two different ways of using the basic cascading mechanism are discussed: how conflicts between authors and users are resolved; and how partial style sheets are combined with the browser's default style sheet. +

    + +

    The basic cascading mechanism

    + +

    When more than one style sheet declarations are trying to set a particular property value on a specific element, the cascading mechanism will pick one winning declaration. The winning declaration will be given full control of the value in question.The cascading mechanism in CHSS was different; it proposed to blend several values into one resulting value.

    + +

    The challenge is to pick the right declaration. Whenever a conflict between declarations is detected, the winning declaration is found by comparing three factors: the origin, specificity, and order of appearence in the style sheet. The three factors are ordered in the sense that the specificity is only relevant if the origin does not yield a winning declaration, and the order is only relevant if the specificity does not yield a winning declaration.

    + +

    There are three possible origins in CSS: author, user and browser. By default, author declarations win over user declarations, and user declarations win over browser declarations. However, declarations may also be marked as !important and thereby win over other declarations. In the (somewhat contrived) example below, the first declaration will win over the second one due to being marked as !important:

    + +
    H1 { 
    +  font-size: 3em !important;
    +  font-size: 2em; 
    +}
    +
    + +

    When marked !important, user declarations win over author declarations and thereby give users the final say over the presentation of documents.

    + +

    The seemingly simple technical solution described above has caused much stir in the history of CSS. While the initial CHSS draft described a model where users would retain control, early CSS drafts contained a !legal construct which gave authors the final say [CSS draft1 1995]. The logic behind !legal was that there were situations where authors are legally obliged to present content in a certain way. Realizing that CSS never could make any guarantees about the final presentation of the content, the !legal construct was removed in CSS1. However, the author was still given the final say since author declarations marked !important win over user declarations marked !important in CSS1. After intense discussion inside the CSS Working Group, the order was changed in CSS2 so that users again have the final word. In practice, the change has had little effect on how documents are presented since the !important construct is not widely used, but giving users the final say was an important shift that emphasizes the difference between the web and traditional publishing environments.

    + + +

    If the origin does not yield a winning declaration, the specificity of the selector associated with the declarations must be computed. Consider this example:

    + +
    * { color: silver }
    +LI { color: red }
    +UL LI { color: blue }
    +LI.warning { color: green }
    +
    + +

    The four declarations in the example above each have an associated selector. The first selector (*) is the most general: it selects all elements in the document and is called the universal selector. It is intuitively clear that the second selector is more specific than the first since it only selects LI elements. The last two selectors each select a subset of LI elements; one selects the LI elements with a warning attribute, and the other selects LI elements with a UL ancestor. It is not intuitively clear which of these selectors has the highest specificity.

    + +

    CSS describes a formula for calculating the specificity of selectors:

    + +
      + +
    • count the number of ID attributes in the selector (= a)
    • + +
    • count the number of other attributes and pseudo-classes in the selector (= b)
    • + +
    • count the number of element names in the selector (= c)
    • + +
    • ignore pseudo-elements.
    • + +
    + +

    Concatenating the three numbers a-b-c (in a number system with a large base) gives the specificity. For the OL LI selector, the values are: a=0, b=0, c=2, and the specificity is 2. For the LI.warning selector, the values are: a=0, b=1, c=1, and the specificity is therefore 11.

    + + +

    If several conflicting declarations have the same specificity, the order that the declarations appear in the style sheets finally determines the outcome. Later declarations win over earlier ones. + +

    + +

    Multiple sources: User versus author style sheets

    + +

    In its most controversial role, the cascading mechanism serves as negotiator between user and author. The role is controversial since the two groups are often perceived to have opposing interests; users would like to retain final control of the presentation, and so would authors (or their respective editors and publishing house). This is a simplified view for two reasons. First, most users are happy to accept the presentation suggested by the author. Often, the presentation is an important part of the reading experience offered by the publication and not merely a wrapper around the content. Second, on the web users and authors are not two distinct groups. The web has lowered the threshold for publishing content and many of the users are also authors and vice versa.

    + +

    Still, there are situations when authors and users have different, opposing, interests. One example is the small print in contracts; the text has to be there for legal reasons, but the author does not necessarily want to bring it to the attention of the user. The user, on the other hand, may be particularly interested in reading what the author wants to hide.

    + + +

    Several browsers support user-defined style sheets and are able to combine them with author style sheets. However, few users write their own style sheets. There are probably several reasons for this: the mechanism has not been promoted; writing style sheets is challenging for most people; and it is almost impossible to write one user style sheet that cascades well with all author pages. The last problem can be addressed by allowing user style sheets on a per-site or per-page basis. The burden of writing style sheets for all possible sites and pages may be too big for a single user, but it may also be possible for users to share style sheets, for example on a peer-to-peer basis.

    + +

    The cascading mechanism is not necessarily tied to CSS style sheets. That is, a browser may offer a way for a user to set a preference (say, the preferred font size) through a Graphical User Interface (GUI) syntax but still use the cascading mechanism to resolve conflicts between user settings and (say) incoming style sheets from the author. By giving user preferences a well-defined place in the cascade, browsers can offer a predictable resolution of conflicts.

    + +

    Negotiating between users and authors may be the most well-known use of the cascading mechanism but it is used rarely compared with another negotiation role: combining style sheets from authors with the browser's default style sheet. +

    + +

    Combining partial style sheets with the browser's default style sheet

    + +

    In addition to style sheets coming from authors and readers, CSS acknowledges a third source of stylistic information, namely the browser. A browser that supports CSS has a default style sheet which is combined with style sheets coming from the author and/or reader. Sample default style sheet are listed in the CSS specifications and – with some minor variations – implementations use the sample default style sheet. This way, style sheets from the authors/users do not have to be complete. They can be partial. Authors and users can focus on describing the differences between the conventional presentation (as described in the default style sheet) and the preferred presentation.

    + + +

    Combining style sheets from authors with the browser's default style sheet is a widely used feature of cascading. A significant percentage of documents on the web currently uses CSS, but few of the style sheets used are complete. Thus, they rely on the cascading mechanism to combine the author's partial style sheet with the browser's default style sheet into one complete presentation.

    + + +

    Browsers already did this, at a very simple level, before CSS was proposed in 1994. For example, users of XMosaic could modify the presentation of documents by setting X11 resources. Combined with a hardcoded HTML style sheet, they formed the presentation of documents.

    + +

    It can be argued that all style sheet languages support the notion of partial style sheets since they all use initial values and inheritance. These two mechanisms make it possible to shorten style sheets and, thereby, make them partial. The cascading mechanism, however, is more powerful since values can be set on element types rather than on a per-property basis. This is an important increase in functionality on which web authors have come to rely. For example, the suggested default style sheet for HTML [CSS2 1998] includes a rule that renders STRONG elements in bold fonts. Since the author's style sheet is combined with the browser's default style sheet, the author does not have to specify the rendering of STRONG elements in all style sheets. Similarly, if the color of text is the only issue of importance for the author, being relieved of having to specify the value for the display property of every element is beneficial.

    + + + +

    Inheritance

    + +

    Like DSSSL, CSS properties are either classified as inherited or not-inherited. DSSSL and CSS mostly agree on which properties are inherited. All CSS properties accept the inherit keyword which explicitly specifies that the value should be fetched from the parent. If inherit is specified on the root element, the initial value is used instead.

    + +

    CSS distinguishes between specified, computed and actual values. Specified values are found in style sheets. Computed values are processed to the extent possible without laying out the document. Actual values are those actually used to render the document. As a general rule, it is the computed value of a property that is inherited. Properties may, however, specify that other sorts of values should be inherited instead. For example, the line-height property inherits the specified value if it is a number.

    + +

    Initial value

    + +

    Each CSS property has an initial value which becomes the resulting value when cascading and inheritance do not yield a value. Also, the initial value can be explicitly specified with the initial keyword which all properties accept.

    + +

    Visual formatting model

    + +

    This section gives the overview of, and rationale behind, the CSS visual formatting model (VFM). For the sake of readability, two assumptions are made to simplify the description. First, it is assumed that the document language is written horizontally, either left-to-right (e.g., the Latin script) or right-to-left (e.g., Arabic and Hebrew). The second assumption is that the output device is continuous, as opposed to paged media. The page model in CSS is described in the section on Other formatting contexts in this chapter.

    + +

    Although non-visual access to documents has been important in the development of CSS, it is still the case that most people – if they have a choice – prefer visual over non-visual presentations of text. Without a powerful visual formatting model CSS would not have succeeded.

    + +

    In the design process the led to the CSS VFM there were several requirements. Though not formally specified before the work on the VFM started, they have been formulated retrospectively.

    + +
      + +
    • The VFM has to offer authors visual richness beyond what could be achieved by using HTML alone.
    • + +
    • In order to convince browser vendors to implement CSS, the VFM has to be simple enough to be implementable within tight shipping deadlines.
    • + +
    • The VFM has to support progressive rendering.
    • + +
    • The VFM has to be implementable on a wide range of visual devices.
    • + +
    • The VFM has to support dynamic output devices (such as computer screens and projectors) as well as static output devices (such as printers).
    • + +
    • The VFM should be able to replicate common typographical effects. Ideally, one should be able to take any book or magazine and design a CSS style sheet to achieve the same layout.
    • + +
    • The VFM conformance requirements has to be specific enough to produce consistent results in different browsers.
    • + +
    • The VFM conformance requirements has to be loose enough to allow implementations on less-rich visual devices. For example, tty devices should be able to support margins.
    • + +
    + +

    To some extent, these requirements are conflicting. There are three main axes: simplicity vs. richness, pixel-perfection vs. device outreach, and short-term vs. long-term goals. As in most designs, the CSS VFM is a compromise between conflicting goals. +

    + +

    Creating boxes from elements

    + +

    The CSS processing model [CSS2 1998] describes how documents are processed from when they are downloaded in a browser to when they are presented in an output device. The process involves five distinct steps:

    + +
      +
    1. parse document, create document tree
    2. + +
    3. identify media type
    4. + +
    5. retrieve style sheets
    6. + +
    7. annotate every element
    8. + +
    9. generate the formatting structure
    10. +
    + +

    In practice, implementations can optimize processing by doing several steps in parallel.

    + +

    The various boxes that make up the document presentation are created in stage 5 of the process. The collection of boxes is referred to as the presentational structure. Often, the presentational structure will resemble the document tree created in stage 1. For simple documents, there may even be a one-to-one mapping between elements and boxes, but the mapping is typically more complex for several reasons:

    + +
      + +
    • an inline element that extends beyond the end of the line must be split into several boxes;
    • + +
    • similarly, block elements are often split into two boxes at page breaks;
    • + +
    • elements can be declared to be non-displayable (i.e., while they exist in the logical structure, they do not exist in the presentational structure); and
    • + +
    • CSS2 style sheets can specify generated content in addition to the content from the document tree. For example, the style sheet may specify that the string Chapter: is to be added in front of all H1 elements. Generated content will generate boxes of their own.
    • + +
    + +

    By supporting suppressed content and generated content, CSS is able to support transformation-like tasks. However, due to being stream-based, CSS is not able to reorder elements. As discussed in Chapter 2, other style sheet languages have taken a different route by basing formatting on a computationally complete transformation language.

    + +

    The box model

    + +

    A model of nested rectangular boxes forms the basis for VFM. In its simplest form, each element in the source document is turned into a block box or inline box in the output device. The content of the box is either text or graphics, and around the content there are three bands: padding, border and margin. See figure 4. +

    + +
    +
    margin + +
    border + +
    padding + +
    content
    + + 
    + + 
    + + 
    + +

    The CSS box model.

    +
    + +

    By adding padding or margin around an element, it will be set apart from the visual context and thereby emphasized. Similarly, adding a border will make the element stand out. The width of each of the three bands can be adjusted on a per-side basis. Thus, 12 individual properties and six shorthand properties can be set on each element. In practice, relatively few elements use the provided features and, therefore, it may seem excessive to support 18 properties on all elements.

    + +

    There are several alternate designs which could have kept the CSS box model simpler:

    + +
      + +
    • By only supporting one band per element, the number of properties could have been reduced by a factor of 3. The downside to this approach is that designs with several bands would require nested elements in the source document. This was the approach taken in early CSS drafts around July 1995 [CSS draft1 1995] [CSS draft2 1995].
    • + +
    • Support for three bands could have been limited to block-level elements. Inline elements could be simplified by (say) only supporting one band. This approach was taken in early CSS drafts from August-November 1995 [CSS draft3 1995] [CSS draft4 1995] [CSS draft5 1995] [CSS draft6 1995].
    • + +
    • Bands could be treated as generated content. That is, elements would not normally have bands around them, but one or more bands could be generated on demand. CSS1 does not support generated content and this approach was not pursued, therefore.
    • + +
    + +

    In CSS1, however, all three bands can be set on all elements. Designers are thereby given a rich mechanism for framing elements. Since relatively few elements use the non-zero padding, borders and margins, browsers can optimize how these properties are represented internally.

    + + + +

    Basic boxes: block and inline

    + +

    Two of the basic building blocks of a document are inline and block boxes. Inline boxes do not generate line breaks, while block-level boxes do. For example, block-level boxes are used to generate paragraphs and headlines, and inline boxes are used for emphasized text and hyperlinks. Both types of boxes use the same three-layered box model described above but some of the rules for laying out boxes differ.

    + +

    For block elements, the outer edge of the margin area defines the size of the element for layout purposes. That is, adjacent block elements will be pushed aside to make room for an element based on its margin edge. As a special rule, margin areas are allowed to collapse (i.e., overlap) vertically to not create excessive vertical gaps between boxes. Thus, the margin width represents the minimum vertical space to adjacent elements.

    + +

    Margin values can also be negative which results in boxes overlapping each other. This feature can be used to create special effects, for example, in advertising. Due to variations in font availability and font metrics, it is difficult to predict the visual result of overlapping text elements and the feature, therefore, is not much in use. Also, positioned elements (see below) provide another way to make elements overlap each other.

    + +

    Inline boxes are laid out somewhat differently. In order to preserve a uniform interline spacing, setting padding/border/margin will not influence the vertical layout of inline boxes. That is, the padding and border will be visible, but they will not push aside other content. The margin is, by definition, transparent and therefore will not have any effect vertically. Horizontally, all three areas will take up space.

    + +

    Outside-in versus inside-out formatting

    + +

    Another difference between block and inline boxes is the way their widths and heights are computed. Unless explicitly specified, the width of a block box will grow to fill all available horizontal space. Vertically, the height is determined by its content. That is, block boxes use outside-in width computation and inside-out height computation. The root element is constrained horizontally by the initial containing block (ICB) which typically corresponds to the width of the window or printing surface.

    + +

    The width of an inline box is, on the other hand, defined by its content. That is, the box will be as wide as necessary to have room for the content, but no wider. If further spacing is required, padding/border/margins can be used to make more room, but the width of the box cannot be changed. Height computations for inline elements are often based on the content of the box, but, typically, the inline boxes are a little taller than the text inside them. Comfortable reading demands more vertical space between lines than what the fonts themselves contain. Therefore, CSS has introduced a separate property (called line-height) to set the height of inline boxes. Typically, the value of line-height is a factor which, when multiplied with the font size, yields the height of the inline box. Thus, both the width and height are computed inside-out, the width strictly so, the height typically so.

    + + + + +

    Beyond the basic box model

    + +

    In addition to the basic block and inline boxes discussed above, CSS has several kinds of boxes that extend the visual formatting model:

    + +
      + +
    • Floating boxes: An element can be declared to be floating to the right or left edge of its containing block. The most interesting feature of a floating box is that other content may flow along its side.
    • + +
    • Marker boxes: List-item markers are placed inside marker boxes. In CSS1, marker boxes are automatically generated and cannot be positioned or sized.
    • + +
    • Run-in boxes: These were introduced in CSS2 to support run-in headings, that is, block elements where the heading is integrated into the first paragraph. Run-in headings can also be expressed in CSS1, but then an extra container element is required around the heading and the first paragraph. By having the run-in defined as a special box, the markup doesn't have to be changed to achieve the typographical effect.
    • + +
    • Compact boxes: These were introduced in CSS2 mainly so that the compact attribute on the UL, OL and DL elements could be deprecated in HTML4 [HTML4 1997]. The typographic effect of declaring an element to be compact is that the corresponding box is placed in the margin of the next block-level element, if possible. This kind of formatting is often used in dictionaries to save vertical space. Unlike run-in boxes, there is no way to achieve the typographical effect of compact boxes through other means.
    • + +
    • Absolutely-positioned boxes: These boxes are taken out of the normal flow and absolutely positioned relative to their containing blocks. Their position and size are set by the following properties: top, right, bottom, left, width, height. If the dimensions of an absolutely-positioned box are under-specified, the principles of inside-out formatting will be used to determine its size.
    • + +
    • Fixed-positioned boxes: These boxes are like absolutely-positioned boxes with the exception that they use the viewport as the reference for positioning (instead of the containing block). This way, certain elements can remain on the screen while the rest of the document scrolls.
    • + +
    • Relatively positioned boxes: Once a box has been laid out according to the normal flow, it may be shifted relative to this position through the top/right/bottom/left properties.
    • + +
    • Page boxes: To improve printing of web pages, the VFM has added the concept of page boxes to allow page margins and running headers and footers to be specified.
    • + +
    • Tables: Tables are used extensively for layout purposes on the web. Most pages using tables could be improved by using floating and positioned elements instead of tables, but tables also have legitimate use in documents. CSS2 introduced support for tables by borrowing the table model from HTML and adding more presentational features.
    • + +
    + +

    Inspiration from other formatting models

    + +

    In the early design phases of the CSS visual formatting model, other formatting models were frequently consulted for inspiration. In particular, TeX [Knuth 1984] was often brought up in white-board discussions.

    + +

    As one of its foundations, TeX has a well-defined box model wherein all objects, including individual glyphs, are contained in boxes. The spacing between the boxes can be controlled through TeX commands. In addition to optimal spacing between boxes, TeX also allows maximum and minimum spacing to be expressed. This is referred to as glue (although Knuth suggests that springs is a better term [Knuth&Plass 1981]).

    + +

    The visual formatting model in CSS is based on a box model, and all elements, both block-level and inline, are turned into boxes. Thus, CSS goes further than most other style sheet languages in creating boxes. For example, DSSSL and P94 do not use boxes for inline elements. However, CSS did not adopt TeX's glue. Although the issue was discussed, it was decided against in order to keep the VFM simple. Glue is very useful when breaking paragraphs into lines, but CSS leaves this problem to implementations. CSS allows, but does not demand, inter-paragraph line-breaking optimizations. Each box in CSS is, however, potentially richer than the boxes found in TeX since it can contain a padding, border and margin bands. CSS also borrows other features from TeX, including the em and ex units.

    + +

    FrameMaker [FrameMaker], a desktop publishing application later acquired by Adobe, was also consulted in the development of CSS. This author started using FrameMaker in 1987 and among the features that were borrowed is the concept of collapsing vertical margins.

    + + +

    Linking mechanism

    + +

    When CSS1 became a W3C Recommendation in 1996, the current HTML specification [HTML2 1995] did not specify how to link HTML documents to style sheets. Formally, it was outside the scope of the CSS specification to define the linking mechanism, but CSS1 showed a simple example of how it could be done:

    + +
    <LINK REL=STYLESHEET TYPE="text/css" 
    +   HREF="http://style.com/cool" TITLE="Cool">
    +<STYLE TYPE="text/css">
    +   @import url(http://style.com/basic);
    +   H1 { color: blue }
    +</STYLE>
    +
    + +

    The LINK and STYLE elements were later added to HTML4 [HTML4 1997] along with the STYLE attribute:

    + +
    <H1 STYLE="color: blue; background: red">
    +
    + +

    In addition to describing how to link to style sheets from HTML documents, CSS2 also describes how XML documents and style sheets can be linked:

    + +
    <?XML stylesheet type="text/css" href="bach.css"?>
    +
    + +

    Again, it is outside the scope of CSS to formally define the link and a W3C Recommendation [XML-stylesheet 1999] was later published for this purpose.

    + +

    Generated content

    + +

    Generated content was introduced in CSS2. Content can be added before and after elements in the document. This is done by setting the content property on the :before and :after pseudo-elements. Here is a simple example adding the string Chapter: before every H1 element:

    + +
    H1:before { 
    +  content: "Chapter: ";
    +  font-style: italic;
    +}
    +
    + +

    In the example above the generated content is also styled differently from the element to which it is attached. By default, the generated content will inherit the style from its host element.

    + +

    The content property accepts the following type of values:

    + +
      + +
    • strings: As shown in the above example
    • + +
    • URL: This value points to an external resource from where the generated content can be found;
    • + +
    • quotes: Four different keywords (open-quote, close-quote, no-open-quote and no-close-quote) provide special support for quote marks (these keywords point into a table kept by the quotes property in order to support nested quotes);
    • + +
    • counters: See below.
    • + +
    + +

    Counters

    + +

    Counters in CSS are initiated by the counter-reset property and incremented (or, possibly, decremented) by the counter-increment property. Here is a simple example which numbers the H1 and H2 elements:

    + +
    H1:before {
    +    content: "Chapter " counter(chapter) ". ";
    +    counter-increment: chapter;
    +    counter-reset: section;
    +}
    +H2:before {
    +    content: counter(chapter) "." counter(section) " ";
    +    counter-increment: section;
    +}
    +
    + +

    In the example above, the counter() function returns the value of the chapter and section counters.

    + +

    To support nested counters, each named counter can have a stack of open counters. This is important for elements that can be nested inside themselves to arbitrary depth. Figure 6 shows how a nested pair of lists (the markup is shown on the left side) is numbered differently. The two style sheets used for numbering the table are shown at the top.

    + +
    + + + + + + + + + + + + + + + + + +
    HTML code +
    <OL> 
    +  <LI></LI> 
    +  <LI> 
    +    <OL> 
    +      <LI></LI>     
    +      <LI></LI> 
    +      <LI></LI> 
    +  </LI> 
    +  <LI></LI> 
    +</OL> 
    +
    +
    CSS code +
      OL { counter-reset: item }
    +  LI:before { 
    +    content: counter(item);
    +    counter-increment: item;
    +  }
    +
    +
    +
      OL { counter-reset: item }
    +  LI:before { 
    +    content: counters(item, ".");
    +    counter-increment: item;
    +  }
    +
    +
    Formatted result +
     1
    + 2
    +   1
    +   2
    +   3
    + 3
    +
    +
     1
    + 2
    +   2.1
    +   2.2
    +   2.3
    + 3
    +
    + +

    Two different counter styles.

    +
    + +

    Other formatting contexts

    + +

    One main benefit of style sheets is that content can more easily be re-purposed for various media types. Most users on the web today use some kind of visual device for the presentations of web content (e.g., a computer screen or a printed page) while visually impaired users use aural devices, or perhaps a braille tactile feedback device. The range of devices used to display web content is expected to increase in the future and the demands on document formats and formatting systems, therefore, will increase.

    + +

    CSS makes efforts to support multiple formatting contexts, and CSS2 introduced two key features to support multimodal access to web content:

    + +
      +
    1. Aural CSS allow style sheets to express how documents should be rendered on an aural device. CSS is the only style sheet language reviewed in this thesis that has aural properties. For a description of the aural CSS properties, referred to as ACSS, see the CSS2 Recommendation [CSS2 1998] and T.V. Raman's description [Raman 1996].
    2. + +
    3. Media types allow style sheets to express to what kind of device a particular stylistic rule should apply.
    4. +
    + +

    Media types

    + +

    Media types for the web were first proposed by Dave Raggett in a message to www-talk in 1993 [Raggett 1993g]. Dave wrote in reply to Pei Wei's style sheet proposal:

    + +
    I read your style sheet proposal with great interest, and will add the "style" attribute to the LINK tag attribute definition in the DTD. + +

    Have you considered allowing multiple stylesheets to cover different uses? This would mean that you could specify one style for printing and another for online use. You might want to go further and distinguish between X windows, PC's and palmtops.

    + +

    My suggestion is that the LINK element takes another attribute which specifies the intended media, e.g.

    + +
    <LINK style="http://ora.com/styles/paper_a4" media="paper/A4">
    +<LINK style="http://ora.com/styles/paper_B5" media="paper/B5">
    +<LINK style="http://ora.com/styles/xwindows" media="xwindows">      
    +
    +
    + +

    The media attribute became part of HTML4 [HTML4 1997]. HTML4 defines nine different media descriptors: screen, tty, tv, projection, handheld, print, braille, aural, all. CSS2, which became a W3C Recommendation in May 1998, was almost aligned with HTML4 on this topic: the only differences are that CSS2 uses the term media types and adds the embossed media type.

    + +

    In principle, it would have been sufficient to only use the media attribute (which is also defined for XML documents [XML-stylesheet 1999] but having a notion of media types inside CSS style sheets allow one style sheet to describe the rendering on several different media types:

    + +
    @media tv {
    +  BODY { font-size: 14px }
    +}
    +@media handheld {
    +  BODY { font-size: 10px }
    +}
    +@media print {
    +  BODY { font-size: 12pt }
    +}
    +@media projection {
    +  BODY { font-size: 20px }
    +}
    +
    + +

    Browsers that support CSS2 will interpret the above example so that the rules within the curly brackets are applied only to the respective media types. Browsers that only understand CSS1 style sheets will skip all rules within the curly brackets due to forward-compatible parsing.

    + +

    The choice of names for media types has been somewhat controversial. The current names are descriptive of their intended use but do not clearly define the range of devices to which they apply. The need for a more specific query language was foreseen in HTML 4.0 and CSS2 and both specifications left room for future extensions.

    + +

    CSS in context

    + +

    When the work on CSS was started in 1994 it faced many challenges. By then the web had established itself as a viable medium for electronic publishing and authoring conventions had been established. Style sheets were not part of those conventions and many doubted whether style sheets could become part of web publishing. One commenter wrote [Suck 1996]:

    + +
    Tables in HTML might have less to do with page design and more to do with rows and columns of numbers if it weren't for the spectacular failure of style sheets. The cascade effect of the W3C's "Cascading Style Sheets, level 1" - unveiled a year too late last winter in that city of dreams, Paris, France - couldn't have been better planned. By then, page layout via tables and Netscapisms like FONT SIZE had become entrenched, making style sheets an excellent standards-committee product - not only in its simple elegance, but also in its superfluousness and redundancy.
    + +

    In order for CSS to succeed in face of the entrenched Netscapisms, it needed to be accepted by:

    + +
      + +
    • browser vendors: CSS had to be easy to implement, and offer compelling features that could make the next version of their browser compelling;
    • + +
    • authors: CSS had to be easy to learn in the same way HTML had been easy to learn, and provide stylistic features that could otherwise not be achieved; and
    • + +
    • users: Users have the least influence of these three groups, but disapproval from users can be problematic for new web technologies. For example, the use of frames [HTML4 1997] has been hindered by user resistance [Nielsen 1996].
    • + +
    + +

    Beyond short-term popularity needed to gain acceptance, CSS also had a longer-term ambition of rescuing HTML from turning into a visual markup language. This aspect of CSS is not emphasized in the specification itself, but is mentioned in Appendix E: The applicability and extensibility of CSS1 of the CSS1 specification [CSS1 1996]: +

    + +
    +
      + +
    • visual markup replacement: HTML extensions, e.g. "CENTER", "FONT" and "SPACER", are easily replaced with CSS1 style sheets.
    • + +
    • nicer markup: instead of using "FONT" elements to achieve the popular small-caps style, one declaration in the style sheet is sufficient.
    • + +
    +
    + +

    For CSS to overcome the challenges and fulfill the ambitions, some key design decisions were made:

    + +
      + +
    • Create a new language. At the time CSS was first proposed to the web community, ISO had been working on DSSSL for almost a decade. As discussed in Chapter 4, several people argued for a scaled-down DSSSL-lite to be applied to HTML documents. CSS took up certain ideas from from DSSSL (e.g., the naming of properties), but it was decided to develop a new language rather than build on DSSSL. There are several reasons for this. First, the DSSSL was work in progress and drafts were not generally available. Second, DSSSL had not been developed with the web in mind and did not have a way of combining style sheets from authors and users. Third, the Scheme-based syntax was considered to be unsuitable for non-programmers.
    • + +
    • Create a non-Turing-complete declarative language. Another design choice that was controversial at the time was to develop a declarative language expressing constraints, rather than a Turing-complete programming language. A programming language would have been a more powerful solution, but it comes at a cost; programs are difficult to read and expensive to maintain. Also, security – which is always a concern on the web – suffers.
    • + +
    • Support progressive rendering. In order to display content to the user as quickly as possible, browsers support progressive rendering of documents. Even if a document has not been fully downloaded, the first part of it may be displayed. Progressive rendering was considered an important feature that CSS should not break. CSS therefore has no way of styling an element based on its children or younger siblings. Also, elements cannot be reordered by a CSS style sheet and this makes it impossible to, for example, create a table of contents. XSL [XSL 2001] has taken a different approach by being a transformation language.
    • + +
    • Make CSS work with structured documents. CSS requires implementations to be aware of the structure in the document. More specifically, contextual selectors can match an element based on its ancestor and implementations, therefore, are required to keep a stack of open elements. Around 1995, most popular browsers did not keep a stack of open elements and CSS1 therefore imposed a major change to their architectures. In retrospect, it may have been a mistake to make contextual selectors part of the CSS1 specification. Implementations did not support this feature in an interoperable manner until several years later, which delayed the deployment of CSS1.
    • + +
    • Make CSS work with any structured markup language. Although HTML appeared in the title of the initial proposal, CSS was soon generalized to work with any structured markup language, of which SGML-based languages formed a particularly interesting subset. The cost of making the generalization was small, and the decision later proved important when new languages written in XML started to appear. This has worked both ways: people are more open to use XML given that it can be styled with CSS.
    • + +
    + +

    One important test of whether the above choices were correct or not is to determine how well CSS performs according to the previously established requirements of the web, just like other style sheet languages were evaluated in the previous chapter. Table 21 continues where table 16 left off:

    + +
    +

    CSS evaluated with respect to the web requirements.

    + + + + + + + + + + + + + + + + + + + + + + + +
    Stream-basedScreen-based properties, values, unitsNegotiation between conflicting stylistic preferencesMedia-specific style sheetsLink stylingRobustness
    CSS1Yes, CSS1 is stream-basedYes, CSS has a number of features to support screen-based design, including the pixel unit and blinking text.Yes, CSS can combine style sheets from different sources.Yes, CSS2 supports media-specific style sheets.Yes, CSS supports link styling.Yes, CSS is robust in the sense that documents with partial or no style sheets still can be presented. In particular, this is the case for HTML documents on the web.
    +
    + +

    CSS fulfills all web requirements for a style sheet language.

    + +

    Summary and conclusions

    + +

    CSS is a style sheet language that has been designed for use on the web. It developed mainly from two of the early proposals for web style sheets, namely CHSS and SSP. Some features from these early proposals were dropped in the course of developing CSS from proposal stage to W3C Recommendation stage.

    + +

    Compared with other mature style sheet languages, CSS has some distinct and innovative features:

    + +
      + +
    • Cascading allows several style sheets to influence the presentation of a document.
    • + +
    • Pseudo-classes and pseudo-elements allow information from outside the logical structure to influence the presentation.
    • + +
    • Forward-compatible parsing rules allow the language to be gracefully extended.
    • + +
    • Media types allow style sheets to be targeted for certain output devices.
    • + +
    • CSS puts more emphasis on selectors than do other languages; rather than having expressions in the style sheet languages, the expressions are built into selectors.
    • + +
    + +

    This chapter has described the design of CSS. The next chapter deals with problems experienced by CSS.

    +
    + +
    +

    Problems in CSS

    + + +

    Problems in, and related to, Cascading Style Sheets are discussed in this chapter. These problems range from simple spelling errors in the specifications, to more complex questions as to whether CSS fulfills its intended role. The chapter is loosely organized along an axis of complexity; the first part describes how simple errors have been handled, and the rest discusses real and perceived problems in CSS.

    + +

    The cascading mechanism plays an important – and complex – role in CSS and one section of this chapter is dedicated to problems in the cascading mechanism. Finally, the history of CSS implementations in browsers is outlined.

    + +

    Errors in the specifications

    + +

    As with any other specification, errors exist in the CSS specifications. As part of the specification maintenance process, the editors collect errors and publish them in accompanying errata documents. As the list of errors grows, it becomes unwieldy to read the original specification while always having to check the list of errata. Collapsing the two produces a new document which is easier to read.

    + +

    The CSS1 specification, which was first published as a W3C Recommendation in December 1996, was republished with all known errors corrected in January 1999. An appendix in the new document lists the changes and sorts them into three categories:

    + +
      + +
    • Spelling and typographic mistakes (12 listed). For example, a missing comma and right parenthesis were added.
    • + +
    • Errors (28 listed). For example, an invalid declaration (font-style: small-caps) was used in an example, and a section was referred to as 4.4 while 4.7 is correct.
    • + +
    • Structure and organization (6 listed). For example, the revised edition uses a new style sheet, and the appendix describing changes has been added.
    • + +
    + +

    A similar effort is planned for CSS2 but since it will also incorporate semantic changes (in addition to errors), it will most likely be given a new version number.

    + + +

    Problems with the specifications

    + +

    Fixing specification errors, as described in the previous section, is not very controversial. Identifying and correcting real and perceived problems in specifications is much more problematic. There are often conflicting interests between designers and implementors: a designer's solution can easily become an implementor's problem. A personal account of the problems in the CSS specifications as perceived by this author is given in this section.

    + +

    Missing functionality

    + +

    Authoring a technical specification is often a balancing act between functionality on one side and implementability on the other. The functionality must be sufficiently rich to address the needs of its users, and simple enough to be implemented interoperably.

    + +

    Traditionally, CSS has valued simplicity over functionality. For example, the abstract of CSS1 states that it is a simple style sheet mechanism. This author believes this has been a correct choice, but there are still some areas where CSS should have offered richer functionality:

    + +
      + +
    • color contrast: It is not possible to ensure a certain contrast between the text color and the background.
    • + +
    • font-size: It is not possible to specify the font size as a function of the element's width. The lack of this functionality makes it difficult to produce, for example, slide presentations that scale from one screen size to another.
    • + + +
    • line-height: It is not possible to set the line height to be a function of the element width. To increase legibility, line heights should become higher when elements grow wider.
    • + +
    • centering: It is not possible to center an element vertically relative to the screen.
    • + +
    + +

    In addition to the specific list above, there are some general areas where some extra effort would have been worthwhile:

    + +
      + +
    • user interface: CSS was primarily designed to present documents, not user interfaces. However, many of the components needed to describe a user interface are present, and some additional functionality could have made it possible to also design user interfaces. Most notably, it should have been possible to describe the presentation of navigation lists.
    • + +
    • multi-column: It is not possible to describe multi-column layout where content automatically flows from one column to another.
    • + +
    • headers/footers: It is not possible to describe headers and footers on pages.
    • + +
    + +

    Some of the above features are likely to be added in future versions of CSS, just like CSS2 added some frequently requested features:

    + +
      + +
    • roll-overs: In CSS1, it was not possible to describe presentation where color/background of an element changed as the pointer rolled over or hovered over an element. Instead, authors used JavaScript to achieve this effect. This functionality was successfully added in CSS2 through the :hover pseudo-selector.
    • + +
    • positioning: In CSS1, it was not possible to take elements out of the flow and place them over other content. CSS2 added the positioning of elements. The proposal was worked out by representatives from Microsoft and Netscape and published as a W3C working draft [WD-positioning 1997] before being integrated into CSS.
    • + + +
    • page breaks: CSS1 did not address paged media, and page breaks were among the features added in CSS2.
    • + +
    + +

    These additions are examples of changes in CSS due to feedback from authors and vendors.

    + +

    Excessive functionality

    + +

    Like missing functionality, excessive functionality can be harmful to a specification. Implementors can deem the specification to be too complex and may choose to implement only parts of the specification or ignore it altogether. The result is poor or missing interoperability.

    + +

    The features listed below are described in the CSS specifications but, arguably, could have been left out without significant loss. The features are relatively complex to implement and it has taken a long time to achieve interoperability.

    + +
      + +
    • first-line and first-letter: The first-line and first-letter pseudo-elements make it possible to style content based on the layout of the page rather than the structure of the document. These kinds of features are often referred to as being layout-driven. CSS1 included these pseudo-elements to be able to offer authors some features they could otherwise not achieve. However, the cost of implementing these features far outweighted the benefits of the visual effects they provided.
    • + +
    • box model: The box model of CSS includes padding, border and margin areas around all elements. For block-level elements, this makes sense. For inline elements, however, having three areas is excessive; having a padding area would be sufficient.
    • + +
    • contextual selectors: Contextual selector allow elements to be selected based on their place in the document's tree structure. Supporting contextual selector made it possible to, e.g., remove borders from images that where hyperlinks. This was perceived to be a requirements as one of Netscape's extensions could express it. However, supporting contextual selectors is complex unless implementations already kept a stack of open elements. Typically, this was not the case and contextual selectors were not interoperably supported until several years after the publication of CSS1. As such, contextual selectors delayed the deployment of CSS1. On the other hand, by having contextual selectors, CSS contributed to the understanding of HTML as a structured markup language.
    • + +
    + +

    It may also be argued that other parts of CSS2 are excessive since they have not been widely implemented. These parts include:

    + +
      + +
    • text-shadow: This property was added in CSS2 to generate shadow effects on text to deter authors from using images instead of text. The property is complex to implement and can only replace a limited set of the visual effects designers want to apply to text.
    • + + +
    • marks: In high-quality printing, cross marks are often printed in the page margins to align sheets of paper, and cut marks indicate where sheets should be cut. The marks property was added to CSS2 to toggle on and off the printing of marks. Turning these marks on and off may also be handled in the application's print dialog box.
    • + +
    • markers: Markers are typically used with list-items to mark the beginning of a new item. CSS1 allowed the type of marker to be described (for example, whether the list-item should be marked with a circle or a number). CSS2 offers a richer, more complex way of describing markers through pseudo-elements.
    • + +
    • downloadable fonts: Fonts are essential resources when presenting documents. Typical desktop computers have around 20 font families available and handheld devices have fewer. Being able to download fonts from the web has the potential of increasing the richness of presentations. CSS2 offers a mechanism for describing and selecting fonts from the web. However, the feature is not much used. Two major reasons for this might be: First, there is no universal font format which all vendors support; and second, font designer want to be compensated for their work and no suitable payment mechanism is available.
    • + +
    • the font-size-adjust property: This property addresses a problem which can occur when one font family is substituted for another. The legibility of the two fonts can vary considerably and the x-height value is often more important than the font size. The purpose of the font-size-property is for designers to indicate that the x-height of the font should be preserved rather than the font size.
    • + +
    + +

    Although none of the features listed above have been widely implemented, this author argues that all of them describe useful functionality in a sensible manner, and that the functionality will be used when/if implemented.

    + +

    Poor design

    + +

    Missing functionality can be added, and excessive functionality can be removed. Poor design, however, is often more difficult to fix at a later stage. Three design issues where CSS has been criticized for poor design are considered below.

    + + + +

    Overloaded properties

    + +

    CSS1 tried to be a compact language to enable implementations on small devices. In a few areas, however, too much functionality was compressed into a single property in order to save space. This is the case for the white-space property which describes both whether space characters should be collapsed, and whether line breaks should be honored. These are two separate issues and the property should, therefore, have been split into two properties. Similarly, the text-decoration property encodes several unrelated values. For example, it describes whether an element should be underlined and whether it should be blinking. As result, it is not possible to turn off blinking of elements without also affecting underlining.

    + +

    Positioning

    + +

    In January 1997, two months after CSS1 became a W3C Recommendation, the first Working Draft of a document called Positioning HTML Elements with Cascading Style Sheets was published by W3C. Listing authors from both Netscape and Microsoft, the document is a rare example of technical collaboration between the two competing companies. The proposal introduced several new CSS properties to allow authors to exercise greater accuracy in page description and layout. It is noteworthy that the description only refers to authors – not users – and thereby disregards cascading. Indeed, the positioning properties are not well suited for cascading (see the positioning problem below).

    + +

    Another problem with the initial positioning draft is the lack of counterpart properties to the proposed top and left properties. This indicates a certain slant towards western writing systems which typically are written from left to right and top to bottom. When positioning was integrated into CSS2, the right and bottom properties were later added to ensure that positioning can be used equally well with other writing systems.

    + + +

    XML syntax

    + +

    One common criticism of CSS is that it uses its own syntax rather than being written in XML. By using the XML syntax, it is argued, it would be easier to parse CSS and style sheets could be read and written by standard XML tools. Indeed, the choice of syntax is an important one and if the arguments for using the XML syntax, as stated above, are true, CSS could have benefited from using XML. There are, however, several reasons why CSS is not written in XML.

    + +

    First, when CSS was developed, XML was not available. XML became a W3C Recommendation in February 1998 [XML 1998], and switching syntax at that point would have incurred a considerable cost. SGML, however, was available, and some people argued that a SGML-based syntax should be used [Gramlich 1996]:

    + +
    We do not know how other vendors feel, but we are getting tired of having to implement a new parser every time something new comes out of W3C (PICS, PEP, CSS, HTTP-NG, etc.) It is clear that CSS has lavished a great deal of attention on coming up with an extremely textually compact way of representing style sheets. Unfortunately, we have little confidence that all vendors will properly implement the CSS parser and this will lead to serious style sheet interoperability problems. (If you do not agree, just think of how long it has taken to get most web clients to parse the HTML subset of SGML reasonably properly.) We have additional concerns about burdening the content providers, with yet another syntax in order to express style sheets in; SGML has a pretty awful syntax, but content providers have already mastered the ability to generate it.
    + +

    In the end, human read- and writability was valued higher than reusability of parsers. The CSS syntax is optimized for writing style sheets, and it is doubtful that there is an XML encoding system that is more friendly to humans. Also, writing a CSS parser is relatively simple.

    + +

    The most important benefit from writing CSS in XML would probably have been an increased acceptance in the XML community.

    + + + +

    Cascading problems

    + +

    In the previous chapter, the cascading mechanism in CSS was described in some detail at a technical level. The cascading mechanism fulfills two important requirements for CSS. First, it allows both authors and users to influence the presentation of documents. Second, it provides fallback values when only partial style sheets are supplied, or when style sheets are missing. Still, the cascading mechanism has many associated problems. They are discussed in this section. Towards the end, some solutions are proposed.

    + +

    Self-inflicted problems

    + +

    The problems listed below are due to CSS' own design.

    + +
      + +
    • The style problem: Combining different styles often leads to poor aesthetic results. Examples from architecture abound: erecting a building in a different style than the surrounding neighborhood will rarely add creative contrast, and most often look out-of-place. Intuitively, combining different style sheets has some of the same problems associated with it.
    • + +
    • The selector abundance problem: The number and type of selectors available are key style sheets since they provide the hooks onto which the style rules are attached. To create rich presentations, a powerful set of selectors is beneficial. For example, if only type selectors are available, all P elements will have the same style. More advanced selectors make it possible to give different style to different P elements depending on their place in the document structure. CSS2 provides a rich set of selectors for this purpose but there is an intrinsic conflict between richness of selectors and cascading. In order to set the style on all P elements, the challenger will need either to write a large set of selectors or consistently increase the weight of its style rule.
    • + +
    • The property abundance problem: Just like the richness of selectors results in a problem for cascading, properties also have an abundance problem. In particular, the visual distance between elements can be set through several different types of properties: padding, borders and margins. Also, the distance can be affected by the display, float and position property. In order for the challenger to ensure a certain distance, a set of properties must, therefore, be set. Consider this example: + +
      P {
      +  display: block;
      +  float: none;
      +  position: static;
      +  margin: 1em;
      +  border: 0;
      +  padding: 0;
      +}
      +
      + +

      The above example sets the vertical distance between P elements to be one em. The shorthand syntax used to set margin, border and paddings alleviates the problem to some extent.

      +
    • + +
    • The grouping problem: A common request from web authors starting to use CSS is for a way of grouping rules together so that if one rule fails, the other rules are not applied. For example, a style sheet may set the foreground color white and the background color to black. If one of these rules is overridden by a rule introduced by cascading, the style sheet author would like to specify that the other rule should also fail. CSS offers no such mechanism; each rule in CSS is set independently from the other rules.
    • + +
    • The island problem: The cascading mechanism is able to combine several style sheets, but there is no general mechanism for rules in one style sheet to be based on rules in other style sheets. For example, it is not possible to write a style sheet that increases the contrast between foreground and background colors while still using the hues defined in another style sheet. Using relative length units, style rules in one style sheet can be relative to style rules in other style sheets. For example, the font size can be set in one style sheet and the width of the element can be set to 10em in another style sheet.
    • + +
    • The positive problem: Rules in CSS can only express positive statements. For example, a rule can say that an element should be red, but not that the element should not be blue. In certain situations it would be beneficial to describe that particular values, or combination of values are not acceptable. For example, green text on a red background is difficult to read for people who are color blind. In some situations, CSS provides a way to list alternate values. The comma-separated list of alternate font families in order of preference is an example. + +

      The positive problem would not have been a problem if it was possible to select elements based on their stylistic values. Consider this imaginary example where all elements with a green color and a red background are selected:

      + +
      *[color=green][background=red] {
      +  background: white
      +}
      +
      + +

      While the above example may seem simple, it raises a number of difficult issues. For example, what is the definition of red?

      +
    • + +
    • The positioning problem: Some properties do not cascade well. The properties that were introduced to support the positioning of elements (position, left, right, top, bottom, z-index) are typically set on single elements rather than groups of elements. This makes it complicated for users to write style sheets that cascade gracefully with author style sheets.
    • + +
    + +

    Problems resulting from markup

    + +
      + +
    • The generic markup problem: The HTML specifications define a set of elements which are allowed in HTML documents. HTML documents can be displayed in browsers since the browser vendors all have implemented the HTML specifications (with varying success). The common tag set is also a foundation for cascading since the vocabulary of elements is known. A designer can write an alternate style sheet by using the elements and attributes of HTML in the selectors. + +

      In contrast, the elements and attributes of a document using generic markup are, by definition, not known by anyone but the author of the document. While the markup may still serve a useful role for the author, it is impossible for others to write style sheets to display the document. Only the universal selector (which selects all elements) and the pseudo-selectors (e.g. :first-line and :visited) make sense to use with an unknown tag set, and this is not enough to write a sensible style sheet.

      +
    • + +
    • The class problem: The class attribute in HTML makes it possible to write style sheets with which no one can ever cascade. The CSS1 specification contains a warning against the use of class attributes: + +
      CSS gives so much power to the CLASS attribute, that in many cases it doesn't even matter what HTML element the class is set on – you can make any element emulate almost any other. Relying on this power is not recommended, since it removes the level of structure that has a universal meaning (HTML elements). A structure based on CLASS is only useful within a restricted domain, where the meaning of a class has been mutually agreed upon.
      + +

      The class problem is a specific case of the generic markup problem described above.

      +
    • + +
    • The presentational markup problem: Many web pages use tables for layout purposes. By placing content into table cells, authors lay out their content in a two-dimensional grid. To some extent, tables are scalable horizontally and vertically (e.g., the widths and height of columns and rows expand and contract based on the content in the table), but the two-dimensional layout is rigid. It is possible for CSS to flatten tables into block-level and inline elements, but the intended semantics of the spatial relationship is lost, and real tables (as opposed to tables for layout purposes) are also flattened in the process.
    • + +
    + +

    User interface problems

    + +
      + +
    • The user interface problem: Historically, browsers have provided users with very limited means of setting presentational preferences. Typical choices include the underlining and coloring of links. At a time when most of the presentation was hardcoded into the browser, this limited choice could be explained. With the arrival of CSS, however, most aspects of the presentation are configurable. Still, the user interface of popular browsers has not changed much and no browser provides a user GUI for describing anything similar to what CSS can express. Also, Microsoft's Internet Explorer for Windows (a.k.a. WinIE, which is used by most web users) does not provide a way of applying alternate style sheets. Most browsers do, however, provide a way to point to a file containing the user interface.
    • + +
    • The GUI problem: One reason for the user interface problem may be the that it is not intuitively clear how to edit a CSS style sheet through a GUI. Typically, GUIs are used to empower the user with control of all configurable values. In a cascading context, however, it is in the best interest of the user not to set all values and instead leave it to inheritance or other style sheets to determine the value. It is possible to represent these kinds of values through settings such as auto or defer, but it is not something that GUIs have done in the past.
    • + +
    + +

    Complexity problems

    + +
      + +
    • the site abundance problem: The web links thousands of servers and millions of pages. It is impossible to write one user style sheet that cascades well with all author style sheets on the web. This problem could have been addressed if browsers allowed site-specific user style sheets, but this has not been the case yet.
    • + +
    • the document debugger problem: Programmers use debuggers to find why a certain value is set at a certain point in a program. Similarly, a document debugger is needed to find out why a certain element/property combination has a certain style. This must be known in order to write a challenger rule to change the value. Document debuggers have been written, but are not offered by mainstream browsers.
    • + +
    + +

    Problems in implementations

    + +

    This thesis focuses on the design of CSS and other style sheet languages, and it is beyond its scope to analyze the level of CSS support in various browsers. Still, it must be mentioned that, from the point of view of web authors, the most pressing problem in the early years of CSS was the quality of CSS support in browsers. Jeffrey Zeldman describes the situation around 1998 [Zeldman 2003]:

    + +
    If Netscape 4 ignored CSS rules applied to the <body> element and added random amounts of whitespace to every structural element on your page, and if IE4 got <body> right but bungled padding, what kind of CSS was safe to write? Some developers chose not to write CSS at all. Others wrote one style sheet to compensate for IE4's flaws and a different style sheet to compensate for the blunders of Netscape 4.
    + +

    The quote correctly describes the difficult situation in which web authors found themselves: only a small subset of CSS was interoperably implemented between Netscape4 and WinIE [Wilson 2003a]. The situation gradually changed as the use of Netscape4 declined and the CSS support in Internet Explorer improved [WASP 2004]:

    + +
    The W3C invented Cascading Style Sheets (CSS) in 1996 to increase the presentational sophistication and the accessibility of websites, and to eliminate the browser-specific markup that threatened to fragment the emerging web. In 1997, some browsers began to support parts of CSS-1, but the standard did not become truly usable until 2001.
    + +

    As suggested in the quote above, 2001 was a turning point for CSS. That year Microsoft released Internet Explorer 6.0 which, although still incomplete and buggy [Wilson 2003b], has usable support for CSS. By that time several other browsers with excellent support for CSS had been released, including Opera, Mozilla, and Internet Explorer for MacOS [Wilson 2003a].

    + +

    One reason for the improvement in the quality of CSS implementation is probably the W3C CSS1 Test Suite. The test suite was first published in 1998, 18 months after CSS1 became a W3C Recommendation [W3C 2004]. If the test suite had been available at an earlier stage, the turning point for CSS might have appeared earlier.

    + +

    None of the a browsers have been able to compete with WinIE in terms of numbers of users, and WinIE has, therefore, in effect defined what subset of CSS authors can use. WinIE's limited support for CSS, combined with a de facto monopoly in web browsers, is currently the biggest problem for CSS deployment on the web. +

    + +

    Summary and conclusions

    + +

    CSS has seen many problems since CSS1 was published as a W3C Recommendation in 1996. The problems can be divided into three groups: problems in the specifications, problems in the cascading mechanism, and problems in the implementation.

    + +

    The CSS specification has three kinds of problems: errors, missing functionality and excessive functionality. The errors have been corrected by the editors who have published lists of errata and revised Recommendations. Also, test suites have been made available for implementors. The views concerning what is excessive and what functionality is missing are subjective, and this author's views have been described.

    + +

    Cascading is an ambitious mechanism that has failed to provide users an equal right to influence document presentations, while succeeding in allowing partial style sheets to be combined. I believe there are no fundamental problems in CSS that would have made the introduction of style sheets on the web any easier.

    + +

    The first CSS implementations in major browsers were incomplete and prone to errors. That led to a situation where large parts of CSS could not be used as long as particular browsers were used in significant numbers. By now, CSS is a well-understood style sheet language with several excellent implementations. It is still, however, not possible to fully exploit the CSS language due to the relatively poor CSS support in Microsoft's Internet Explorer.

    + +

    The two previous chapters have described and evaluated the CSS design. The next two chapters look to the future. First a novel, non-stylistic use of CSS is described. Thereafter, possible future research is outlined. + + +

    +
    + +
    +

    CSS for small screens

    + +

    Most web pages are written for, and tested exclusively on, desktop computers with large color monitors. Mobile wireless devices typically have much smaller screens and presenting typical web pages on these units is a challenge. This chapter describes how CSS can be used to overcome the challenge. The solution is based on cascading: by enforcing a specially designed browser style sheet on all documents, the rendering of incoming documents is adjusted based on the constraints of the user's device.

    + +

    Daniel Glazman has developed a the feel-like-a-cellphone stylesheet (referred to as FLACS in this thesis) which, when installed as the browser's default style sheet, will limit the width of documents so that users only have to scroll vertically to see the whole documents [Glazman 2002]. The development of the style sheet was inspired by Opera Software's announcement of Small-Screen Rendering (SSR). SSR has been partially based on style sheets in the past, but also has components that cannot be described by CSS. FLACS, being a CSS-only solution, is therefore more suitable for review in this chapter.

    + +

    FLACS is a relatively simple style sheet. It contains only 22 declarations and set values on 16 properties. Still, it is able to reformat many documents to be suitable for presentation on a small screen. The style sheet fragments in this chapter are copied from FLACS, but some of theme have been simplified slightly and comments in the style sheet have been removed. + +

    + +

    The problem

    + +

    HTML is a simple markup language where the tags describe the logical roles of the content (e.g., paragraphs, headings) rather than how the content is presented (e.g., fonts, colors). When tables were introduced in HTML 3.2 they were meant to represent simple rows and columns of numbers and text within documents – just like tables have been used in traditional documents. However, authors soon discovered that tables could be used for layout purposes. Instead of putting tables inside a document, the whole document was put inside a table. For example, the page could consist of a menu on the left side, an ad banner on the top, and a side bar on the right, and each component would be a cell in the table.

    + +

    Pages that use tables for layout purposes are often set to a fixed width, typically around 600 pixels. This width fits well on a desktop computer, but not on smaller web devices. There are several ways to make content fit on smaller screens.

    + +

    First, some browsers can zoom pages in and out. Zooming is a powerful way of getting the overview of complex web pages while also being able to magnify certain parts of the page. It is often used by visually impaired users to reach legible font sizes. Zooming out allows web pages written for desktop computers to be shown on small screens, but little content is legible when the page is zoomed out. The use of zooming typically requires the user to scroll extensively both horizontally and vertically.

    + +

    Second, one can reformat content to better fit on small devices. Reformatting requires more processing of the content than does zooming; where zooming only changes the size of the elements on the screen while preserving the spatial relationships between the elements, reformatting means that the page is laid out in a new way that changes the spatial relationships between elements. Reformatting can also satisfy a commonly encountered requirement on mobile phones: there should be no horizontal scrolling.

    + +

    This chapter describes a strategy for reformatting content based on four main components:

    + +
      + +
    • cascading: The browser applies a browser style sheet to the document;
    • + +
    • linearization: The browser linearizes the document presentation by turning table cells and and positioned elements into normal block-level elements;
    • + +
    • element removal: The browser removes certain elements unfit for display on small screens; and
    • + +
    • element resizing: All elements are given a maximum width equal to the screen size, and are scaled down if necessary.
    • + +
    + +

    The rest of this chapter describes the reformatting process in some detail. A browser that reformats documents according to this process is said to be in small-screen mode.

    + +

    Cascading

    + +

    As discussed in Chapter 6, CSS style sheets can have three different origins: author, user and browser. Normally, the role of the browser's default style is only to provide fallback values. In small-screen mode, however, the browser's style sheet plays a more active role. Consider this fragment from FLACS:

    + +
    body {
    +  width: 176px ! important;
    +  padding: 3px ! important;
    +  margin: auto ! important;
    +  border: thick black solid ! important;
    +}
    +
    + +

    The first declaration sets the BODY element to a fixed width (176px is a common screen width on mobile phones). The declaration is marked as important to enforce the width even if the author or user style sheet has set another width. Similarly, a certain padding, margin and border is enforced on the BODY element.

    + +

    FLACS, however, does not fully describe the presentation of the document. For example, colors and fonts are not set in FLACS (with the exception of font sizes) and author style sheets are therefore partially honored. FLACS thereby makes active use of cascading. +

    + +

    Linearization

    + +

    HTML tables consist of rows of cells that are aligned horizontally into columns when presented. Most often, the organization of the content into a table is purely a visual effect to achieve a grid type of layout. On a small device there is not enough room for a grid layout, and the table can be reorganized into block-level elements. In small-screen mode, all table cells in a row are combined to form a block-level element, that is, each row is turned into a block-level element, and all block-level elements created from a table are presented on top of each other. This is easily expressed in CSS:

    + +
    table, tr, td, th {
    +  display: block ! important;
    +}
    +
    + +

    A similar technique is used for absolutely-positioned elements. Positioned elements are normally taken out of the normal text flow and positioned somewhere else on the screen. On small screens this is problematic since many of the positioned elements will be placed outside the limited viewing area. Therefore positioning is turned off:

    + +
    * { 
    +  position: static ! important;
    +}
    +
    + +

    Finally, the floating of elements is turned off since the screen is not wide enough to show elements next to each other:

    + +
    * {
    +  float: none ! important;
    +}
    +
    + +

    Element removal

    + +

    Some elements are not suitable for display on small screens. There are three main types of elements that are removed by FLACS: small images, advertisements, and elements using certain plug-ins.

    + +

    Small images that only serve ornamental or stylistic roles can be selected based on their size:

    + +
    img[width="1"], img[height="1"] {
    +  display: none ! important;
    +}
    +
    + +

    The example above removes images with a declared width or height of one pixel. Images that have not declared their size through attributes will not be selected.

    + +

    Advertisements are problematic on small screens since they take up valuable screen space and bandwidth. Therefore, FLACS tries to remove advertisements from the document presentation. There is no way to know which elements contain advertisements in HTML. However, certain conventions have been established by advertisers and these conventions can be used to select and remove advertisements. For example, a typical size for advertisements is 468 by 600 pixels. FLACS removes images of this size through a simple rule:

    + +
    img[width="468"], img[height="600"] {
    +  display: none ! important;
    +}
    +
    + +

    Also, the iframe element is most often used for advertisements and can therefore be removed:

    + +
    iframe {
    +  display : none ! important;
    +}
    +
    + +

    Finally, FLACS removes embed elements which point to a certain type of content:

    + +
    embed[type*="shockwave"] {
    +  display : none ! important;
    +}
    +
    + +

    The selector in use in the above example is proposed for CSS3 [WD-CSS3-selectors].

    + +

    Element resizing

    + +

    To avoid horizontal scrolling, elements that are wider than the available screen size must be scaled. CSS2 has a property to describe the maximum width of elements:

    + +
    * {
    +  max-width: 176px ! important;
    +}
    +
    + +

    The above statement sets the maximum width of all elements to 176 pixels. Images wider than 176 pixels will then be scaled down to 176 pixels while smaller images will remain unchanged.

    + +

    Summary and conclusions

    + +

    The strategy for reformatting content for small screens described in this chapter uses two aspects of CSS. First, cascading is used to enforce a browser style sheet over author and user style sheets. Second, CSS properties such as display, position, float and max-width are used to describe rendering in small-screen mode. The result is a browser that can display most web pages on a small screen.

    + + +
    + + + +
    +

    Future research

    + +

    Style sheets form an interesting area of research. In addition to intellectual challenges, which most research domains can offer, this author thinks there are two reasons why the study of style sheets is attractive. First, as Marden and Munson write, style sheets have been terribly underresearched in the past [Marden&Munson 1999]. This makes it possible for young researchers to contribute without first spending years studying what others have done. Second, the web contains an increasing amount of information. In order to make this information human readable, style sheets are necessary. Therefore, in the foreseeable future, style sheets are likely to influence the presentation of a significant part of human information.

    + +

    This section lists questions that, hopefully, future research will answer. Some of the questions are easier to answer than others. To avoid doing research on future research, there is no farther classifications of the questions.

    + +
      + +
    • Is there an ideal level of abstraction for markup languages? Users want beautiful presentations, but also searchable documents. Some users have special needs and depend on device-independent markup languages to access information. Authors seem to have limited desire to add more semantics to their documents, but would surely like to see their content presented on a range of devices. Conflicting constraints like these indicate that there is no single ideal level of abstraction, but that document formats for the web need to cover a range of steps on the ladder of abstraction. How should this influence the design of future markup languages? +
    • + +
    • Can style sheets describe presentation in domains other than electronic documents? Just like markup languages can be used for more than markup (XML is a case in point), style sheet languages may also be for more than document presentation. For example, can style sheets describe architecture? Here is a simplistic example: + +
      Norway Oslo Drammensvn 97 b { 
      +  floors: 3;
      +  color: #FCA;
      +  roof: mansard;
      +}
      +
      +
    • + +
    • What other non-stylistic uses are there for style sheets? How the CSS syntax and value propagation mechanism was used to distribute non-stylistic property values to elements was discussed in Chapter 9, and Daniel Glazman has developed a transformation language using a CSS-based syntax [Glazman 1997]. Most likely, there are other interesting uses of the same mechanisms. For example, one could easily think of using CSS to describe schema-like information about elements: + +
      p {
      +  nestable: no;
      +  end-tag: optional;
      +  legal-inside: body, div;
      +  attributes: href, style, class;
      +}
      +
      +
    • + +
    • How are style sheets used on the web today? The use of style sheets in word processing applications has been researched [Sørgaard 1996], but the use of style sheets on the web has not been thoroughly investigated. What features of CSS are being used? Are style sheets only used to encode what HTML's FONT element already represents in a document, or are sites using CSS to fully describe their design? +
    • + +
    • Can cascading be used to resolve other conflicts between users, programs and authors? For example, can cascading be used to determine GUI settings of an application? In many ways it is similar to document presentation; the author (programmer) would like to suggest default settings, but the user should be given the final word. Could CSS be used to express user preferences for applications?
    • + +
    • Can glyph shapes be taken into consideration by style sheet languages? Typography in advertising and other artistic expressions often aligns glyphs based on their shapes. No known style sheet language has attempted to describe typography at this level of detail. How should it be done?
    • + +
    • Can HTML/CSS be used as a storage format for office documents? Microsoft's suite of Office applications are typically used to author documents (including letters, contracts, and manuscripts), spread sheets, and projected presentations. HTML and CSS can probably express most documents. Also, by using the projection feature of CSS2, many projected presentations can be described. Tables in HTML can be used to express spread sheets, but are not able to encode relationships between cells. Can the missing functionality be added so that, for example, OpenOffice [OpenOffice] can use HTML/CSS as the native storage format?
    • + +
    • To what extent have browser vendors used style sheets in their marketing campaigns? How do the marketing efforts correlate with actual levels of support?
    • + +
    • Can some of the problems described in Chapter 7 be fixed?
    • + +
    • XSL has not been thoroughly reviewed in this thesis. How does XSL compare with the languages and proposals discussed in this thesis? +
    • + +
    • Should future markup languages be designed around CSS? In the past, style sheet languages have trailed markup languages, and the former, therefore, had to be designed to work with markup languages. In the future, the situation may be turned around; markup languages may be designed so that their content can easily be presented through deployed style sheet languages. For example, Chavchanidze [Chavchanidze 2004] has done some interesting work on how to represent mathematical notation in a CSS-friendly XML-based language.
    • + +
    • In 1993, it was argued that HTML should be frozen and that a new markup language for the web should be developed [Dougherty 1993]. What has the web gained and lost by evolving a backwards-compatible HTML rather than freezing it? + +

      The style sheet languages and proposals discussed in this thesis all follow a similar pattern: style sheets express rules that associate stylistic properties and values with structural elements in a document. Indeed, this is the proposed definition of a style sheet in electronic publishing. Are there other models that would serve the goals of content reuse and device independence better? For example, would a template-based approach where textual content is imported into tables be feasible? The tables and associated markup would be presentational, but the imported resources could be reused in other contexts as well.

      +
    • + +
    • Is it possible to use extension mechanisms offered by browsers to fix their support for style sheet languages? In particular, is it possible to extend Microsoft's Internet Explorer so that it renders CSS correctly?
    • + +
    • Two of the languages reviewed (P94, PSL96) are explicitly based on constraints. Does it make sense to retrofit constraints into CSS? This approach was proposed by [Badros et al. 1999]. To some extent it can be argued that CSS already is built on constraints, but can the language be improved further by making constraints more visible for designers?
    • + +
    • Is it possible to use constraints to mathematically verify formatting models? This approach was proposed by [Michalowski 1998]. For example, can one describe the CSS visual formatting model as a constraint-based system to discover inconsistencies and other errors of design?
    • + +
    • Knowing what we know today, what would the ideal style sheet language look like? +
    • + +
    + +

    Summary and conclusions

    + +

    Style sheets, an interesting area of study, have much room left for future research. This chapter has posed some questions which may be of interest to researchers in the future. + + + +

    +
    + +
    +

    Conclusions

    + +

    This chapter describes, in a compressed form, what I believe can be learnt from this thesis.

    + +

    The hypothesis of this thesis is that the web calls for different style sheet languages than does traditional electronic publishing. I believe it has been shown that the hypothesis is true. The introduction outlined the web's unique characteristics as a publishing environment, and the these characteristics were formulated as requirements for a web style sheet language in Chapter 5 (Web requirements). None of the style sheet languages developed before the web fulfill – or are close to fulfilling – the web's requirements and, therefore, it seems reasonable to conclude that the hypothesis is correct.

    + +

    One could argue that even though a different language is required, it was not necessary to develop a new language. A modified version of an existing language could have been sufficient. This approach was taken by DSSSL Lite as discussed in Chapter 4. In retrospect, I think a modified version of FOSI could have been successfully adapted for use on the web, but it would not have significant advantages over CSS. On the contrary, CSS – by being designed specifically for the web while also learning from style sheets languages such as DSSSL – is able to address the requirements of the web. +

    + +

    Further, the thesis describes five important contributions to the field of study: the dissemination of style sheet languages into six required components; the description of web requirements for style sheet languages; the comparative analysis of the different style sheet languages and proposals; the ladder of abstraction; and CSS itself.

    + +
      + +
    • In order to compare different style sheet languages, it is necessary to establish common criteria by which the languages will be judged. Chapter 3 describes a set of criteria for style sheet languages with six required components: syntax, selectors, properties, values and units, a value propagation mechanism, and a formatting model.
    • + +
    • This thesis provides the first comprehensive comparative analysis of style sheet languages. Such languages developed before the web, and style sheet proposals developed for the web, have been evaluated for each of the six required components of a style sheet language. Also, all languages and proposals have been evaluated against a set of web requirements.
    • + +
    • The web adds new requirements for style sheet languages. Among the requirements described in this thesis are the need to be stream-based, and to support screen-centric designs.
    • + +
    • The ladder of abstraction is proposed as a method for evaluating electronic document formats. How high a certain document format is on the ladder will determine the complexity of formatting the document for presentation. Since the formatting of a document is specified by a style sheet, the abstraction level of target documents is crucial for the success of a style sheet language. Also, the ladder of abstraction is helpful when evaluating the accessibility of various document formats. + +

      When designing new document formats, therefore, one should always consider how documents written in the new format will be presented. Defining a new syntax for a document format is quite simple compared with the task of designing a presentation mechanism for the document format.

      +
    • + +
    • CSS has some unique and innovative features, including cascading, pseudo-elements and pseudo-classes, forward-compatible parsing, and media types. By now, CSS has established itself as one of the fundamental specifications on the web and most web sites are using it. As such, the efforts to create a style sheet language for the web have been successful. Also, CSS has partially fulfilled its ambition of maintaining HTML as a structured markup language and ensuring that documents can be styled by users. Alas, due to limited support for CSS in the dominant browser on the web, CSS cannot yet be used in full.
    • + +
    + +

    In addition to the main contributions listed above, this author has – during the course of the work – come to believe the following to be true:

    + +
      + +
    • In the past, structured documents have suffered from a lack of style sheet languages. While proponents of structured documents, SGML in particular, argued their case and further developed ways to create structured documents, little attention was paid to the presentation of documents.
    • + +
    • HTML has the right level of abstraction for a general-purpose markup language: it is high enough on the ladder of abstraction to support presentation on a wide range of devices, and low enough for people to grasp easily the meaning of elements.
    • + +
    • Scribe, rather than SGML, probably would have been a better starting point for the development of HTML. Scribe offers the best of HTML (there is a default set of tags and conventions on how to present them), CSS (there is a default set of presentational conventions that can be modified), and XML (new elements can be created). Also, Scribe is much simpler than SGML. On the other hand, there might have been legal problems with using Scribe, and Scribe's presentation system might not have evolved into a style sheet language that fulfills the requirements of the web.
    • + +
    • Most of the style sheet languages that were proposed for the web contained some innovative features. Some of these were later included in the development of CSS, but many were not. There are good reasons for not including all suggested features as the resulting specification will be too complex and may have conflicting functionality. However, some of the ideas proposed would have improved style sheets for the web and I believe it's unfortunate that CSS did not include them. In particular, the length units relative to the display (pcd, nlh, p) proposed by JEP would have been a valuable addition.
    • + +
    • Transformation-based style sheet languages may be suitable in traditional publishing environments but they are not suitable on the web. This is primarily due to not being able to support progressive rendering.
    • + +
    • Specifications can fail for a number of reasons. One of the specifications mentioned in this thesis, ODA, has three significant factors against it: complexity, it uses a binary encoding system, and the specification is not freely available. Rather, specifications should be simple, the language they describe should be easy to read and write, and the specification should be freely available.
    • + +
    • Having an archived mailing list open to the public is very important for the design of new specifications. Such a list will attract skilled people with new ideas, and it allows the authors and editors of a specification to express the thinking behind features. In the case of CSS, a community formed around the www-style mailing list. For a retrospective analysis, like this thesis, the mailing list archives provide valuable information.
    • + +
    • Interoperability is one of the main goals for web specifications. Next to the specification itself, a comprehensive test suite is the most important tool for ensuring interoperability. In retrospect, the introduction of CSS on the web would have been faster and easier if a test suite had been developed concurrently with the specification.
    • + +
    + + + +
    + + +
    +

    Glossary

    + +
    +
    actual value
    + +
    The property value which is actually used in the presentation of the document. The actual value may be different from the specified value due to limitations in the output device (e.g., the lack of certain font sizes).
    + +
    anchor
    + +
    An end point of a link. There are two types of anchors: source anchors and target anchors.
    + +
    application
    + +
    A (somewhat complex) computer program that has a user interface.
    + +
    area
    + +
    An area is to a sequence model what a box is in a box model. That is, an area is a rectangular container that encloses content and which is laid out in the layout area. There are two main types of areas: display areas and inline areas.
    + +
    attribute
    + +
    A name or name/value pair written inside a start tag.
    + +
    author
    + +
    A person who writes documents and associated style sheets.
    + +
    author style sheet
    + +
    A style sheet embedded into, or linked from, a document.
    + +
    band
    + +
    A box in the CSS box model has three bands: padding, border and margin. The bands are surfaces which surround the boxes. Margin bands may have negative width, while padding and border bands must be zero or positive.
    + +
    binding
    + +
    The process of combining a structured document with a style sheet with the intention of formatting the document into a final form presentation.
    + +
    block-level element
    + +
    An element which generates one or more block boxes.
    + +
    block box
    + +
    A box generated by a block-level element, which has a line break before and after itself.
    + +
    box
    + +
    A rectangular container that encloses content and other boxes which is laid out in the layout area. There are two main types of boxes: block boxes and inline boxes.
    + +
    box model
    + +
    A visual formatting model where content is laid out in nested rectangular boxes that form a tree structure.
    + +
    browser
    + +
    See web browser.
    + +
    browser style sheet
    + +
    A style sheet that describes the default presentation of documents.
    + +
    cascading
    + +
    The process of combining several style sheets and resolving conflicts between them.
    + +
    character
    + +
    An entry in the Unicode Character Database [Unicode].
    + +
    client
    + +
    An application that communicates with a server over a network.
    + +
    constraint
    + +
    An expression of a restrictive geometrical relationship between elements.
    + +
    content
    + +
    The parts of a source document which are not markup. Also, the term refers to externally linked resources, for example, images and graphics.
    + +
    content model
    + +
    The content model describes which constructs (e.g., elements and attributes) are allowed where in the structure of a document.
    + +
    contextual selector
    + +
    A selector whose search pattern depends on multiple elements, rather than a single one.
    + +
    continuous media type
    + +
    A class of output devices which has a continuous, rather than a paged presentation surface.
    + +
    containing block
    + +
    A rectangular box generated by a block-level ancestor element to which a descendant box relates geometrically.
    + +
    declaration
    + +
    A property and value pair.
    + +
    declarative language
    + +
    A declarative language is a general term for languages which express relationships between variables, as opposed to imperative languages which specify explicit sequences of steps to be followed, in order to produce a result. Often, declarative languages are not Turing-complete, while imperative languages are. All style sheet languages described in this thesis are declarative.
    + +
    default style sheet
    + +
    A style sheet which describes a default presentation of a document language (e.g., HTML) and which is embedded into a browser.
    + +
    designer
    + +
    A person who writes style sheets.
    + +
    digital document
    + +
    A document represented by digits on a medium which is computer readable (e.g., a hard disk or CD-ROM) but not human readable.
    + +
    display area
    + +
    A rectangular area generated by a block-level element in a sequence model.
    + +
    document
    + +
    A collection of content, typically consisting of text, images and graphics. Traditionally, documents reach readers on printed paper, but electronic publishing is increasingly popular.
    + +
    document format
    + +
    A language for storing and exchanging digital documents, for example, HTML.
    + +
    document language
    + +
    The document format of the source document, for example HTML.
    + +
    draft
    + +
    A proposal.
    + +
    editor
    + +
    An application which allows its users to compose and edit documents.
    + +
    electronic publishing
    + +
    A form of publishing where documents are transmitted in digital form from the author to the reader. The web is an example of electronic publishing.
    + +
    element
    + +
    The primary syntactic construct of a structured document.
    + +
    element type
    + +
    The name of an element (e.g., H1 and BLOCKQUTE in HTML). The element type is referred to as the Generic Identifier in SGML.
    + +
    embedded style sheets
    + +
    Style sheets which are placed inside a document, rather than linked to. In HTML, style sheets can be embedded in the STYLE element and in the STYLE attribute.
    + +
    environment variable
    + +
    A parameter in the user's environment, for example, the width of the display or the time of day.
    + +
    fallback value
    + +
    A value which is used if the intended value is unavailable, for example, while the style sheet is being downloaded.
    + +
    final form
    + +
    A document is said to be in its final form when it no longer can be edited, and is ready for presentation to the user. A final form document can either be in a digital format (e.g., PDF) or printed on paper.
    + +
    flow object
    + +
    DSSSL's term for formatting object.
    + +
    font
    + +
    A typeface which can be classified by several characteristics, including family, size, weight and slant.
    + +
    formatter
    + +
    A computer program that formats a document.
    + +
    formatting
    + +
    The process of converting a structured document combined with a style sheet into a final form presentation.
    + +
    formatting model
    + +
    A schematic description of all presentation-oriented features a style sheet language is capable of expressing.
    + +
    formatting object
    + +
    An object which embodies certain content, along with information on how to present the content. An object which describes how a certain element is to be presented. The formatting object has no information about the logical role of the element; only about the presentation of the elements. The formatting object may be expressed in explicit markup (XSL-FO) or only exist within a formatter (CSS). If expressed in explicit markup, a formatting object is similar to a presentational element.
    + +
    forward-compatible parsing
    + +
    A grammar that is valid for all versions of a language: past, present and future. The purpose of the forward-compatible parsing in CSS is to allow future versions to include new functionality while ensuring that older implementations can parse the new style sheets.
    + +
    generated content
    + +
    Content which is specified in the style sheet rather than in the source document. Examples of generated content include simple strings, quote marks, counters, cross-references, headers/footers, horizontal rules, and table of contents.
    + +
    generated text
    + +
    Textual content which is specified in the style sheet rather than in the source document. Generated text is a form of generated content.
    + +
    generic markup
    + +
    Markup where the vocabulary of tags and other symbols are unknown to the recipient. That is, the markup can only be processed at the syntax level and not at any higher levels of abstraction.
    + +
    glyph
    + +
    A shape in a font that is used to represent one or more characters in the layout area.
    + +
    GUI
    + +
    Graphical user interface.
    + +
    individual property
    + +
    A property which is not a shorthand property. That is, setting a value on an individual property does not assign values to properties other than the individual property.
    + +
    inheritance
    + +
    A value propagation mechanism that transfers property values from a parent element to its child elements. The main benefit of inheritance is less verbose style sheets.
    + +
    initial containing block
    + +
    A rectangular box, established by the formatter, which serves as the container for a document's presentation.
    + +
    inline area
    + +
    A rectangular area generated by an inline element in a sequence model.
    + +
    inline box
    + +
    A box generated by a inline element which, in general, does not have a line break before and after itself.
    + +
    inline element
    + +
    An element which generates one or more inline boxes.
    + +
    initial value
    + +
    The value given to an element/property combination if no other value is set or inherited. Often called the default value.
    + +
    inside-out formatting
    + +
    Formatting where the size of the box (or area) is determined by its content.
    + +
    instant binding
    + +
    The concept of combining structured documents with style sheets in real time during the authoring process.
    + +
    ladder of abstraction
    + +
    A measurement tool for digital documents. Documents that are high on the ladder of abstraction are semantically richer than documents that are low on the ladder of abstraction. Also, documents that are high on the ladder need more processing before reaching their final form.
    + +
    late binding
    + +
    The concept of combining structured documents with style sheets after the authoring has been completed. This way, authors do not have to worry about the presentation of the document during authoring.
    + +
    later binding
    + +
    The concept of combining structured documents with style sheets on the user side rather than on the author side, thereby allowing user preferences to be taken into account.
    + +
    layout area
    + +
    A two-dimensional surface onto which documents are rendered, for example, printed paper and computer screens.
    + +
    leading
    + +
    Typographers used to add pieces of lead to increase the space between lines of typesetting. The term leading describes the space between lines. In CSS, the term refers to the difference between the values of font-size and line-height.
    + +
    link
    + +
    A connection from one web resource to another. A link has two ends, called anchors, and a direction.
    + +
    list-item element
    + +
    A block-level element which generates a list-item marker in addition to one or more block boxes.
    + +
    list-item marker
    + +
    A symbol or image that marks a list item, for example, a bullet or a circle.
    + +
    logical element
    + +
    An element whose role, as opposed to presentation, is known. For example, the H1 element in HTML specifies that its content is a headline of level 1, but says nothing about the presentation of the content. A logical element is higher on the ladder of abstraction than is a presentational element.
    + +
    logical markup
    + +
    Markup consisting primarily of logical elements, rather than presentational elements.
    + +
    logical structure
    + +
    A document representation consisting primarily of logical elements, rather than formatting objects.
    + +
    markup
    + +
    Tags and other symbols that, when embedded into content, form a source document.
    + +
    markup language
    + +
    A vocabulary of tags and other symbols that, when embedded into content, increases the level of abstraction and enables the processing of the content.
    + +
    media type
    + +
    A class of output devices. CSS2 names nine media types (aural, braille, embossed, handheld, print, projection, screen, tty, tv) so that style sheets can be targeted for particular output devices.
    + +
    origin
    + +
    The origin of a CSS style sheet is the author, the user, or the browser.
    + +
    out-of-order rendering
    + +
    Presenting content in a different order from that specified in the source document.
    + +
    output device
    + +
    A physical unit capable of rendering documents visually or aurally.
    + +
    outside-in formatting
    + +
    The size of the box (or area) is determined by its containing block.
    + +
    paged media
    + +
    A class of output devices which divides the layout area into discrete pages rather than being continuous.
    + +
    point
    + +
    A unit of length equal to 1/72nd of an inch.
    + +
    pixel
    + +
    A pixel is the smallest addressable unit on bitmapped computer displays and printers. Lengths and font sizes are often measured in terms of pixels, and style sheet languages often offer pixels as unit of measurement. Since the density of pixels varies widely from one output device to another, CSS defines the pixel unit relative to a reference pixel.
    + +
    plug-in
    + +
    A program which extends the functionality of a browser.
    + +
    presentational element
    + +
    An element whose presentation, as opposed to role, is known. For example, the B element in HTML specifies that its content should be presented bold-faced, but says nothing about the role of the content. A presentational element is lower on the ladder of abstraction than is a logical element. A presentational element is at the same level of abstraction as a formatting object.
    + +
    presentational structure
    + +
    A document representation consisting of formatting objects rather than logical elements.
    + +
    procedural markup
    + +
    Markup that denote imperative instructions to the formatter (for example, a instruction to start on a new page).
    + +
    processing instruction
    + +
    A syntactic construct in SGML and XML.
    + +
    progressive rendering
    + +
    Browsers that support progressive rendering are able to display documents incrementally as they are downloaded from the web. +
    + +
    proposal
    + +
    An early, immature version of a specification.
    + +
    pseudo-class
    + +
    A classification of elements much like the class attribute in HTML, except that the classification happens automatically without any attribute present in the markup.
    + +
    property
    + +
    A characteristic of an element which, when attached to a particular element and given a value, may influence the rendering the element.
    + +
    pseudo-element
    + +
    Pseudo-elements mark sections of the document beyond those specified in the document itself. CSS has four pseudo-elements: two that are determined by formatting (first-letter and first-line) and two that support generated content (before and after).
    + +
    reader
    + +
    See user.
    + +
    reference pixel
    + +
    In order for the pixel unit to be usable across a range of output devices, CSS describes how pixel values should be scaled if the pixel density is very different from that of a typical computer display. It is recommended that the reference pixel be the visual angle of one pixel on an output device with a pixel density of 90dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is, therefore, about 0.0227 degrees.
    + +
    replaced element
    + +
    An element which is automatically replaced with content other than its own (e.g., an image) when the element is presented to a user.
    + +
    root element
    + +
    In a tree-structured document, the root element is the oldest ancestor of all other elements and the only element which has no parent.
    + +
    rule
    + +
    A statement that consists of a selector and a declaration.
    + +
    selector
    + +
    A search pattern that identifies to what elements the corresponding declaration applies.
    + +
    semantic markup
    + +
    See logical markup.
    + +
    sequence model
    + +
    A visual formatting model in which content is laid out in a sequence of areas inside a layout area (as opposed to the box model).
    + +
    shorthand property
    + +
    Shorthand properties offer a way of setting the value of several related individual properties into one simple declaration. For example, in CSS, the font property is a shorthand property for setting all font-related properties (and line-height) at once.
    + +
    small-screen mode
    + +
    A browser that reformats documents for a small screen is said to be in small-screen mode.
    + +
    source anchor
    + +
    The starting point of a link.
    + +
    source document
    + +
    A structured document which, when combined with one or more style sheets in a formatter, produces a final form presentation.
    + +
    specification
    + +
    A technical document that describes an aspect of communication between computers, for example a document format, style sheet language, or a transfer protocol. Before specifications reach a certain level of maturity, they are referred to as proposals or drafts. W3C's Recommendations, ISO's Standards and IETF's RFCs are examples of specifications.
    + +
    specificity
    + +
    A measurement of how explicit is a selector.
    + +
    specified value
    + +
    The property value that is specified in the style sheet (as opposed to the actual value).
    + +
    stream-based
    + +
    A style sheet language that can support progressive rendering of documents is said to be stream-based.
    + +
    structured document
    + +
    A digital document consisting of hierarchical elements containing text and other content. The elements primarily represent the logical roles of the content rather than the presentation of the content.
    + +
    structured document system
    + +
    A system for electronic publishing that recognizes the difference between the logical structure and the presentational structure of a document. Authors are typically encouraged to edit the logical structure, which is later transformed into a presentational structure. A structured document system consists of a document format and optional implementations. Examples of structured document systems are: LaTex, ODA, SGML, and HTML.
    + +
    style sheet
    + +
    In the context of electronic publishing, including this thesis, the following definition of a style sheet is offered: + +
    A set of rules that associate stylistic properties and values with structural elements in a document, thereby expressing how to present the document. Style sheets generally do not contain content; are linkable from documents; and are reusable.
    + +

    Since style sheets are the topic of this thesis, some other definitions are also offered. They are, in chronological order:

    + +
      + +
    • A definition of how the term is used in paper-based publishing is found in [Brüggemann-Klein 1992]: + +
      A running account of rules about diction and language usage adopted for a particular manuscript
      +
    • + +
    • From [English 1994a]: + +
      A stylesheet is a collection of style specifications prepared by the document author.
      +
    • + +
    • CSS1 [CSS1 1996] defined the term to mean: + +
      a collection of rules
      + +

      where the term rule is defined as:

      + +
      a declaration (e.g. 'font-family: helvetica') and its selector (e.g. 'H1')
      +
    • + +
    • Another definition can be found in [Prescod 1997a]: + +
      ... a series of statements that map structural elements (from the source document) into formatting objects.
      +
    • + +
    • CSS2 [CSS2 1998] contained another definition of the term: + +
      A set of statements that specify presentation of a document.
      +
    • + +
    • From [Munson 1999]: + +
      A style sheet is a specification of how a document should look.
      +
    • + +
    +
    + +
    style sheet language
    + +
    A language that has a syntax, selectors, properties, values and units, value propagation, and a formatting model. Style sheet languages are used to express style sheets.
    + +
    surf
    + +
    To browse web documents.
    + +
    tag
    + +
    A syntactic construct that marks the start and end of elements in HTML and other markup languages.
    + +
    target anchor
    + +
    The destination of a link.
    + +
    transformation-based style sheet language
    + +
    A style sheet language that is also a transformation language.
    + +
    transformation language
    + +
    A language that expresses how to convert a document from one form to another. Some style sheet languages consider formatting to be a transformation.
    + +
    tree structure
    + +
    Elements in a tree structure always have only one parent element (except the root element, which has none), but can have zero or more child elements.
    + +
    Turing-complete
    + +
    A Turing-complete system is one which has computational power equivalent to a universal Turing machine. The term Turing-complete is often used in a lax sense for programming languages that can implement any well-defined algorithm, as opposed languages that are not as powerful. Most style sheet languages are not Turing-complete, but some – including DSSSL and XSL – are.
    + +
    unit
    + +
    A precisely specified quantity in terms of which values can be stated. Examples of units in style sheets are points and pixels.
    + +
    URL
    + +
    A web address.
    + +
    URI
    + +
    See URL.
    + +
    user
    + +
    A human being who uses a web browser.
    + +
    user agent
    + +
    A web browser.
    + +
    user style sheet
    + +
    A style sheet supplied by the user. The user style sheet encodes user preferences.
    + +
    value
    + +
    Each legal element/property combination has a value. The value can be a string, a keyword, a number, or a number with a unit identifier. Also, values can be lists or expressions involving several of the aforementioned determinants.
    + +
    value propagation
    + +
    Automatic assignment of values which are not described in a style sheet. Example of value propagation mechanisms are inheritance, initial values and cascading.
    + +
    viewport
    + +
    A window, or other viewing area on the screen, which exposes part of the layout area. +
    + +
    web
    + +
    See World Wide Web.
    + +
    web browser
    + +
    A computer program which fetches resources (for example text, graphics, and style sheets) from the web, decodes and assembles the resources, and presents the resulting content to a human user. +
    + +
    web device
    + +
    An electronic device which has a web browser and network access to the web.
    + +
    web page
    + +
    A document which is available on the web.
    + +
    winning declaration
    + +
    If there are several conflicting declarations that apply to a given element/property combination, the cascading process will determine one winning declaration among the set of declarations that apply. For example, a declaration in an author style sheet will typically win over a declaration in a browser style sheet.
    + + +
    word processor
    + +
    A computer program used for authoring and editing documents.
    + +
    World Wide Web
    + +
    A system of connected servers that uses HTTP to transfer documents and other information on request to browsers. The documents are typically written in HTML and include links to other documents. +
    +
    +
    + +
    +

    References

    + +
    +
    [Adie 1993]
    + +
    Adie, C.; Networking Multimedia Applications; Message posted to www-talk Thu, 3 Jun 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0433.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Adler 2002]
    + +
    Adler, S.; Re: xsl-fo first anniversary; Message posted to www-xsl-fo@w3.org 21 Oct 2002; Available from http://lists.w3.org/​Archives/​Public/​www-xsl-fo/​2002Oct/0076.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Adobe 1993]
    + +
    Portable Document Format; Reference Manual, Adobe Systems, Addison-Wesley, 1993
    + +
    [Adobe 2001]
    + +
    PDF Reference, Third Edition, Version 1.4, Addison-Wesley, 2001
    + +
    [Amaya]
    + +
    Welcome to Amaya; W3C web page, 2004; Available from http://www.w3.org/Amaya/; Accessed 25 Oct 2004 (local copy).
    + +
    [André, et al. 1989]
    + +
    André, J., Furuta, R., and Quint, V. (editors); Structured Documents; The Cambridge series on electronic publishing, Cambridge University Press, 1989
    + +
    [Andreessen 1993a]
    + +
    Andreessen, M.; NCSA Mosaic for X 0.10 available; Message posted to comp.infosystems.gopher, comp.infosystems.wais, comp.infosystems, alt.hypertext and comp.windows.x 15 Mar 1993; Available from http://groups.google.com/​groups?selm=​MARCA.93Mar14225600%40​wintermute.ncsa.uiuc.edu&​output=gplain; Accessed 25 Oct 2004 (local copy).
    + +
    [Andreessen 1993b]
    + +
    Andreessen, M.; Stylesheet Language; Message posted to www-talk 22 Oct 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0266.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Andreessen 1994a]
    + +
    Andreessen, M.; Indented <MENU>s; Message posted to www-talk 17 Feb 1994; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q1/0648.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Andreessen 1994b]
    + +
    Andreessen, M.; Mosaic Netscape is out the door...; Message posted to www-talk 13 Oct 1994; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q4/0187.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Appelt 1991]
    + +
    Appelt, W.; Document architecture in open systems: The ODA standard; Springer-Verlag, 1991
    + +
    [Badros et al. 1999]
    + +
    Badros, G. J., Borning, A., Marriott, K. and Stuckey, P.; Constraint Cascading Style Sheets for the Web; Technical Report UW CSE 99-05-01; Reprinted in Proceedings of the 12th annual ACM symposium on User interface software and technology, p.73-82, November 1999, Asheville, North Carolina, United States
    + +
    [Behlendorf 1994]
    + +
    Behlendorf, B.; Re: Cascading HTML style sheets – a proposal; Message posted to www-talk 13 Oct 1994; Available from http://www.w3.org/​Style/​History/​www.eit.com/​www.lists/​www-talk.1994q4/0186.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1991a]
    + +
    Berners-Lee, T.; HTML Tags; Available from http://www.w3.org/​History/​19921103-hypertext/​hypertext/​WWW/​MarkUp/Tags.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1991b]
    + +
    Berners-Lee, T.; Re: status. Re: X11 BROWSER for WWW; Message posted to www-talk 29 Oct 1991; Available from http://lists.w3.org/​Archives/​Public/​www-talk/​1991SepOct/0003.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1992a]
    + +
    Berners-Lee, T.; MIME, SGML, UDIs, HTML and W3; Message posted to www-talk 11 Jun 1992; Available from http://lists.w3.org/​Archives/​Public/​www-talk/​1992MayJun/0038.html; Accessed 25 Oct 2004 (local copy). +
    + +
    [Berners-Lee 1992b]
    + +
    Berners-Lee, T.; Re: HTML DTD; Message posted to www-talk 26 Jun 1992; Available from http://lists.w3.org/​Archives/​Public/​www-talk/​1992MayJun/0063.html; Accessed 25 Oct 2004 (local copy). +
    + +
    [Berners-Lee 1992c]
    + +
    Berners-Lee, T.; Re: HTML DTD and related problems (rather long); Message posted to www-talk 15 Jul 1992; Available from http://lists.w3.org/​Archives/​Public/​www-talk/​1992JulAug/0017.html; Accessed 25 Oct 2004 (local copy). +
    + +
    [Berners-Lee 1992d]
    + +
    Berners-Lee, T.; Design Constraints; Document last changed 13 Nov 1992; Available from http://www.w3.org/​History/​19921103-hypertext/​hypertext/​WWW/​MarkUp/HTMLConstraints.html; Accessed 25 Oct 2004 (local copy). +
    + +
    [Berners-Lee 1993a]
    + +
    Berners-Lee, T.; HTML, HMML, and HyperTeX; Message posted to www-talk 21 Apr 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0129.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1993b]
    + +
    Berners-Lee, T.; Re: RE dtd2.html; Message posted to www-talk 27 May 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0396.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1993c]
    + +
    Berners-Lee, T.; Re: browsing vs validation, or, why not to make software robust; Message posted to www-talk 20 Aug 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q3/0745.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1994]
    + +
    Berners-Lee, T.; HTML *** Important ** LIST CHANGE; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q2/0581.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Berners-Lee 1996]
    + +
    The Web Maestro: An Interview with Tim Berners-Lee; inteview written by Brody, H.; published in Technology Review 99, no. 5: 32-40, July 1996
    + +
    [Berners-Lee 1999]
    + +
    Berners-Lee, T.; Weaving the Web; Harper, San Francisco, 1999
    + +
    [Bingham 2000]
    + +
    Bingham, H.; CALS Table Model History; Original public version 1.3 2000-06-30; Available from http://users.rcn.com/​hwbingham/​tables/calstbhs.htm; Accessed 25 Oct 2004 (local copy).
    + +
    [Borenstein 1994]
    + +
    Borenstein, N.; The text/enriched MIME Content-type; RFC1563, January 1994
    + +
    [Bos 1994]
    + +
    Bos, B.; Re: Cascading HTML style sheets – a proposal; Message posted to www-talk 11 Oct 1994; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q4/0158.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Bos 1995]
    + +
    Bos, B.; Stream-based Style sheet Proposal; Web page last updated 31 March 1995; Available from http://odur.let.rug.nl/​~bert/stylesheets.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Bos 1998]
    + +
    Bos, B.; OPINIONS WANTED: regexps in CSS? (Re: Suggestion for Attribute Selectors); Message posted to www-style 10 Mar 1998; Available from http://lists.w3.org/​Archives/​Public/​www-style/​1998Mar/0051.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Bosak 1995]
    + +
    Bosak, J.; Toward a specification of DSSSL Core; Message posted 9 Oct 1995 to dsssl-lite; Available from http://xml.coverpages.org/​dssslCore1.txt; Accessed 25 Oct 2004 (local copy).
    + +
    [Bosak 1996a]
    + +
    Bosak, J.; SGML: DSSSL style sheet for HTML 3.2 print output; Message posted 21 Jul 1996; Available from http://xml.coverpages.org/​dsssl-o-html32.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Bosak 1996b]
    + +
    Bosak, J.; Greetings from the chair; Message posted to w3c-sgml-wg@w3.org 28 Aug 1996; Available from http://lists.w3.org/​Archives/​Public/​w3c-sgml-wg/msg00004.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Bosak 1997]
    + +
    Bosak, J.; RE: Positioning HTML Elements with Cascading Style Sheets; Message posted to www-style@w3.org Feb 03 1997; Available from http://lists.w3.org/​Archives/​Public/​www-style/​1997Feb/0033.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Brüggemann-Klein&Wood 1992]
    + +
    Brüggemann-Klein, A., Wood, D.; Electronic Style Sheets; Interner Bericht 45, Institut für Informatik, Universitat Freiburg, 1992
    + +
    [Bray 2002]
    + +
    Bray, T.; XML-SW, a thought experiment; Message posted to www-tag@w3.org 6 Feb 2002; Available from http://lists.w3.org/​Archives/​Public/​www-tag/​2002Feb/0031.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Burnard 1993]
    + +
    Burnard, L.; FOSI/sgml stylesheets; Message posted to www-talk 27 Oct 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0301.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Cailliau 1997]
    + +
    Cailliau, R.; Foreword of Cascading Style Sheets by Lie, H. W., and Bos, B.; Addison-Wesley, 1997,
    + +
    [Chicago 1993]
    + +
    The Chicago Manual of Style; The University of Chicago Press, Fourteenth Edition, 1993
    + +
    [Chavchanidze 2004]
    + +
    Chavchanidze, G.; Formatting Mathematical Articles with Cascading Style Sheets; Revised edition published 10 Oct 2004; Available from http://geocities.com/​csssite/math.xml; Accessed 25 Oct 2004 (local copy).
    + +
    [Clark 1994]
    + +
    Clark, J.; DSSSL Lite; Draft specification dated November 24, 1994; Originally available from http://www.falch.no/​~pepper/DSSSL-Lite/ (local copy of scanned printout)
    + +
    [Clark 1998]
    + +
    Clark, J.; Jade - James' DSSSL Engine; Web page last modified 13 Oct 1998; Available from http://www.jclark.com/jade/; Accessed 25 Oct 2004 (local copy).
    + +
    [CLink 2000a]
    + +
    Lie, H. W.; CLink; Available from http://people.opera.com/​howcome/​2000/​clink/2000-05-05.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CLink 2000b]
    + +
    Lie, H. W.; CLink; Available from http://people.opera.com/​howcome/​2000/​css3/clink-nov-6.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Connolly 1992]
    + +
    Dan Connolly; MIME as a hypertext architecture; Message posted to www-talk 6 Jun 92; Available from: http://lists.w3.org/​Archives/​Public/​www-talk/​1992MayJun/0020.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Connolly 1994a]
    + +
    Connolly, D.; Some Background on SGML for the World-Wide Web; Essay available from http://www.w3.org/​MarkUp/​html-spec/html-essay.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Connolly 1994b]
    + +
    Connolly, D.; Toward Closure on HTML; Message posted to www-talk 4 Apr 1994; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q2/0020.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Connolly 1996]
    + +
    Connolly, D.; Generic SGML Activity Launched; W3C Newsletter, Volume 2, No. 7, 5 Jun 1996
    + +
    [Connolly 1997]
    + +
    Connolly, D.; XML Enables Custom Markup Schemes; W3C Newsletter, Volume 3, No. 6, 21 Mar 1997
    + +
    [Connolly 2000]
    + +
    Connolly, D.; Re: XHTML Invalidity / WML2 / New XHTML 1.1 Attribute; Message posted to www-html@w3.org 12 Aug 2000; Available from http://lists.w3.org/​Archives/​Public/​www-html/2000Aug/0052.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft1 1995]
    + +
    Cascading Style Sheets: a draft specification; Draft specification published 31 May 1995; Available from http://www.w3.org/​Style/​CSS/draft1.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft2 1995]
    + +
    Cascading Style Sheets: a draft specification; Draft specification published 3 Jul 1995; Available from http://www.w3.org/​Style/​CSS/draft2.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft3 1995]
    + +
    Cascading Style Sheets: a draft specification; Draft specification published 10 Aug 1995; Available from http://www.w3.org/​Style/​CSS/draft3.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft4 1995]
    + +
    Cascading Style Sheets: a draft specification; Draft specification published 6 Oct 1995; Available from http://www.w3.org/​Style/​CSS/draft4.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft5 1995]
    + +
    Cascading Style Sheets: fifth draft specification; Draft specification published 1 Nov 1995; Available from http://www.w3.org/​Style/​CSS/draft5.html; Accessed 25 Oct 2004 (local copy).
    + +
    [CSS draft6 1995]
    + +
    Cascading Style Sheets, level 1; W3C Working Draft published 17 Nov 1995; Available from http://www.w3.org/​Style/​CSS/draft6.html; Accessed 25 Oct 2004 (local copy). +
    + +
    [CSS1 1996]
    + +
    Cascading Style Sheets, level 1; Lie, H. W. and Bos, B.; W3C Recommendation 17 Dec 1996; Available from http://www.w3.org/​TR/​REC-CSS1-961217
    + +
    [CSS2 1998]
    + +
    Cascading Style Sheets, level 2; Bos, B., Lie, H. W., Lilley, C. and Jacobs, I. (editors); W3C Recommendation 12 May 1998; Available from http://www.w3.org/​TR/​1998/REC-CSS2-19980512
    + +
    [Davis 1994]
    + +
    Jim Davis; Re: Toward Closure on HTML; Message posted to www-talk 5 Apr 1994; Available from http://www.webhistory.org/​www.lists/​www-talk.1994q2/0050.html; Accessed 25 Oct 2004 (local copy).
    + +
    [DOM1 1998]
    + +
    Document Object Model (DOM) Level 1 Specification; Apparao, V., Byrne, S., Champion, M., Isaacs, S., Jacobs, I., Le Hors, A., Nicol, G., Robie, J., Sutor, R., Wilson, C. and Wood, L.; W3C Recommendation 1 Oct 1998; Available from http://www.w3.org/​TR/REC-DOM-Level-1/
    + +
    [Dougherty 1993]
    + +
    Re: Re HMML?; Dougherty, D.; Message posted to www-talk 25 May 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0388.html; Accessed 25 Oct 2004 (local copy).
    + +
    [DSSSL 1996]
    + +
    Document Style Semantics and Specification Language (DSSSL); ISO/IEC 10179:1996; The DSSSL specification is available in compressed form from http://metalab.unc.edu/​pub/​sun-info/​standards/​dsssl/draft/, and in HTML from http://www.cs.berkeley.edu/​~wilensky/​CS294/dsssl/html/
    + +
    [dssslist]
    + +
    The dssslist mailing list was startd in March 1997 as a forum for DSSSL users. The archives for the dssslist mailing list is available from http://lists.mulberrytech.com/​dssslist/archives/; Accessed 25 Oct 2004.
    + +
    [DuCharme 2001]
    + +
    DuCharme, B.; Getting Loopy; xml.com, 1 Aug 2001; Available from http://www.xml.com/pub/​a/​2001/​08/01/gettingloopy.html?page=2; Accessed 25 Oct 2004 (local copy).
    + +
    [EBT 1997]
    + +
    EBT ANNOUNCES PLANS TO SUPPORT IMPORTANT NEW PUBLISHING STANDARD: DSSSL; Press release from Electronic Book Technologies Inc, Providence, RI, USA; Available from http://xml.coverpages.org/​ebtDSSSL.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Electronic Publishing]
    + +
    Electronic Publishing—Origination, Dissemination and Design; John Wiley & Sons, ISSN 0894-3982; A cumulative contents page is available from http://cajun.cs.nott.ac.uk/​compsci/​epo/​papers/epoddtoc.html; Accessed 25 Oct 2004
    + +
    [English 1994a]
    + +
    English, J.; Style Sheets for HTML; 18 Nov 1994; An electronic version is available from http://www.w3.org/​Style/​History/jenglish.ps; Accessed 25 Oct 2004 (local copy, local copy in PDF format).
    + +
    [English 1994b]
    + +
    English, J.; Style Sheets; Message posted to www-html 18 Nov 1994; Available from http://lists.w3.org/​Archives/​Public/​www-html/​1994Nov/0064.html; Accessed 25 Oct 2004 (local copy).
    + +
    [English 2002]
    + +
    Personal email correnspondance with Joe English, 2002
    + +
    [FOSI 1997]
    + +
    MARKUP REQUIREMENTS AND GENERIC STYLE SPECIFICATION FOR EXCHANGE OF TEXT AND ITS PRESENTATION; MIL-PRF-28001C, 2 May 1997; Available from http://www.dt.navy.mil/​tot-shi-sys/​tec-inf-sys/​cal-std/​doc/28001C.pdf; Accessed 25 Oct 2004 (local copy).
    + +
    [FrameMaker]
    + +
    A brief history of the FrameMaker desktop publishing application is available from http://en.wikipedia.org/​wiki/FrameMaker/; Accessed 25 Oct 2004 (local copy).
    + +
    [Furuta, et al. 1982]
    + +
    Furuta, R., Scofield, J. and Shaw, A; Document Formatting Systems: Survey, Concepts, and Issues; Computing Surveys, 14, 3, 417­472. (September 1982) ISSN:0360-0300
    + +
    [Furuta 1992]
    + +
    Furuta, R; Important papers in the history of document preparation systems: basic sources; Electronic Publishing—Origination, Dissemination, and Design; 5 (1), 19-44, 1992; Available from http://cajun.cs.nott.ac.uk/​compsci/​epo/​papers/​volume5/​issue1/ep057rf.pdf; Accessed 25 Oct 2004 (local copy).
    + +
    [Germán 1997]
    + +
    Germán, D. M.; An Introduction to DSSSL; 1997; Available from http://csgrs6k1.uwaterloo.ca/​~dmg/​dsssl/​tutorial/tutorial.html; Accessed 25 Oct 2004 (local copy).
    + +
    [GIF 1990]
    + +
    GRAPHICS INTERCHANGE FORMAT(sm); Version 89a, CompuServe Incorporated, Columbus, Ohio, 1990; Available from http://www.w3.org/​Graphics/​GIF/spec-gif89a.txt; Accessed 25 Oct 2004 (local copy).
    + +
    [Glazman 1997]
    + +
    Glazman, D.; Simple Tree Transformation Sheets 2; W3C Note 17 Oct 1997; Available from http://www.w3.org/​TR/​NOTE-stts2-971017; Accessed 25 Oct 2004 (local copy).
    + +
    [Glazman 2002]
    + +
    Glazman, D.; Small Screen Rendering; Blog entry 21 Oct 21 2002; Available from http://webperso.easyconnect.fr/​danielglazman/​weblog/​newarchive/​2002_10_20_glazblogarc.html#s83291371; Accessed 25 Oct 2004 (local copy).
    + +
    [Goldfarb 1991]
    + +
    Goldfarb, C. F.; The SGML Handbook; Oxford University Press, 1991
    + +
    [Goldfarb et al.1997]
    + +
    Goldfarb, C. F., Pepper, S. and Ensign, C.; SGML Buyer's Guide; Prentice Hall, 1997
    + +
    [Graham, et al. 1992]
    + +
    Graham, S. L., Harrison, M. A. and Munson, E. V.; The Proteus Presentation System; University of California, Berkeley, California; The paper appeared in the Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments, Tyson's Corner, VA, December 9­11 1992;
    + +
    [Gramlich 1996]
    + +
    Email from Wayne Gramlich to HTML ERB on April 12, 1996
    + +
    [Grif 1993]
    + +
    Grif Languages; Grif S.A., St Quentin en Yvelines, France, 1993
    + +
    [Grosso 1993]
    + +
    Personal email correspondance with Paul Grosso, 1993
    + +
    [Harvey 2000]
    + +
    Betty Harvey; Re: AW: ebXML - core components glossary of terms and acronyms; Message posted to ebxml-core on 23 Jun 2000; Available from http://lists.ebxml.org/archives/​ebxml-core/​200006/msg00038.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Harvey 2002]
    + +
    What SGML Can Teach Us About XML & the Web; Betty Harvey interviewed by Tony Byrne, CMSWatch, 15 Jan 2002; Available from http://www.cmswatch.com/
    +Features/PeopleWatch/FeaturedPeople/?feature_id=58
    ; Accessed 25 Oct 2004 (local copy).
    + +
    [Hayakawa 1940]
    + +
    Hayakawa, S. I.; Language in Action; Harcourt, Brace and Company; 1940; Later editions are named Language in thought and action.
    + +
    [Heaney 1993]
    + +
    Heaney, S.; Re: Stylesheet Language; Message posted to www-talk 26 Oct 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0295.html; Accessed 25 Oct 2004 (local copy).
    + +
    [HTML+ 1993]
    + +
    Raggett, D.; HTML+ (Hypertext markup format); 8 Nov 1993; Available from http://www.w3.org/​MarkUp/​HTMLPlus/htmlplus_1.html; Accessed 25 Oct 2004 (local copy).
    + +
    [HTML 3.2 1997]
    + +
    Raggett, D.; HTML 3.2 Reference Specification; W3C Recommendation 14 Jan 1997; Available from http://www.w3.org/TR/REC-html32.html
    + +
    [HTML2 1995]
    + +
    Berners-Lee, T. and Connolly, D.; HTML 2.0; RFC1866, November 1995
    + +
    [HTML4 1997]
    + +
    HTML 4.0 Specification; Raggett, D., Le Hors, A. and Jacobs, I.; W3C Recommendation 18 Dec 1997; Available from http://www.w3.org/​TR/REC-html40-971218/
    + +
    [HTTP 1999]
    + +
    Hypertext Transfer Protocol – HTTP/1.1; Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and Berners-Lee, T.; RFC2616, June 1999
    + +
    [Hutton 2002]
    + +
    Hutton, G. (editor); Frequently Asked Questions for comp.lang.functional; Version of November 2002; Available from http://www.cs.nott.ac.uk/​~gmh/faq.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Interleaf]
    + +
    A brief history of the Interleaf desktop publishing application is available from http://en.wikipedia.org/​wiki/Interleaf/; Accessed 25 Oct 2004 (local copy).
    + +
    [Kennedy 1997]
    + +
    Kennedy, D.; DSSSL; An Introduction; (A related version of the article in was published in <TAG>, February 1997.) Available from http://xml.coverpages.org/​kennDSSSLInt.html; Accessed 26 Oct 2004 (local copy).
    + +
    [Kidwell&Richman 1997]
    + +
    Kidwell, R. S. and Richman, J. G.; Final DSSSL Survey and Assessment Report for the DOD CALS IDE PROJECT; ManTech Advanced Technology Systems, March 1997; Available from http://www.dcnicn.com/​lamp/​cals_ide/​task03/​html/​dssslsar/cals_a009/recon02.htm; Accessed 25 Oct 2004 (local copy).
    + +
    [Lamport 1986]
    + +
    Lamport, L.; LaTeX: A document preparation system; Addison-Wesley, Reading, Mass, 1986
    + +
    [Lamport 2003]
    + +
    Personal email correspondance with Leslie Lamport, 2003
    + +
    [Kernighan&Richie 1978]
    + +
    Kernighan, B. W., Ritchie, D. M.; The C Programming Language; Prentice-Hall, Englewood Cliffs, NJ, 1978
    + +
    [Khare&Rifkin 1998]
    + +
    Khare, R., Rifkin, A.; The origin of (document) species; Proceedings of the seventh international conference on World Wide Web, Brisbane, Australia, 1998 +
    + +
    [Knuth&Plass 1981]
    + +
    Knuth, D. E., Plass, M. F.; Breaking Paragraphs into Lines; Software Practice and Experience, 11:1119–1184, 1981
    + +
    [Knuth 1984]
    + +
    Knuth, D. E.; The TeXbook; Addison-Wesley, 1984
    + +
    [Lie 1994]
    + +
    Lie, H. W.; Cascading HTML Style Sheets; Proposal published 10 Oct 1994; Available from: http://www.w3.org/​People/​howcome/​p/cascade.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Lie 1996]
    + +
    Lie, H. W.; CSS1 status; Message posted to www-style@w3.org 25 Jan 1996; Available from http://lists.w3.org/​Archives/​Public/​www-style/1996Jan/0039.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Lie&Saarela 1999]
    + +
    Lie, H. W. and Saarela, J.; Multipurpose Web Publishing using HTML, XML and CSS; Communications of the ACM, October 1999
    + +
    [Lorimer 1996]
    + +
    Lorimer, P.; A critical evaluation of the historical development of the tactile modes of reading and an analysis and evaluation of researches carried out in endeavours to make the braille code easier to read and to write; Ph.D. Thesis, University of Birmingham, December 1996 +
    + +
    [Magliery 1994]
    + +
    Magliery, T.; DSSSL-Lite Announcement; Message posted to www-talk 1 Dec 1994, and to comp.text.sgml, comp.infosystems.www.users, comp.infosystems.www.misc, comp.infosystems.www.providers 2 Dec 1994; Available from http://xml.coverpages.org/​dsssl-lite-ann.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Marden&Munson 1997]
    + +
    Marden, P. M. and Munson, E. V.; Multiple presentations of WWW documents using style sheets; Proceedings of the 1997 workshop on New paradigms in information visualization and manipulation, Las Vegas, Nevada, United States, pp. 75-78, 1997
    + +
    [Marden&Munson 1998]
    + +
    Marden, P. M. and Munson, E. V.; PSL: An alternate approach to style sheet languages for the world wide web; Journal of Universal Computer Science, 4(10), 1998
    + +
    [Marden&Munson 1999]
    + +
    Marden, P. M. and Munson, E. V.; Today's Style Sheet Standards: The Great Vision Blinded; Computer, November 1999
    + +
    [Mason 2001]
    + +
    Mason, J. D.; History (was: Re: Montreal meeting recommendations); Message sent to sc34wg3@isotopicmaps.org 18 Sep 2001; Available from http://www.isotopicmaps.org/​pipermail/​sc34wg3/​2001-September/000047.html; Accessed 26 Oct 2004 (local copy).
    + +
    [MathML 1998]
    + +
    Mathematical Markup Language (MathML) 1.0 Specification; Ion, P., Miner, R. (editors); W3C Recommendation 7 Apr 1998; Available from http://www.w3.org/​TR/​1998/REC-MathML-19980407/
    + +
    [Michalowski 1999]
    + +
    Michalowski, B.; A Constraint-Based Specification for Box Layout in CSS2; UW Tech Report UW-CSE-98-06-03, Department of Computer Science and Engineering, University of Washington, Seattle, June 1998
    + +
    [Milowski 1997]
    + +
    Alexander Milowski; Re: Heresy? Re: DSSSL WWW Enhancements; Message posted to dssslist 18 May 1997; Available from http://www.biglist.com/​lists/​dssslist/​archives/​199705/msg00038.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Mosaic]
    + +
    A brief history of the Mosaic browser is available from http://en.wikipedia.org/​wiki/​Mosaic_web_browser; Accessed 25 Oct 2004 (local copy).
    + +
    [MS-Word]
    + +
    A brief history of the Microsoft Word text processor is available from http://en.wikipedia.org/​wiki/Microsoft_Word; Accessed 25 Oct 2004 (local copy).
    + +
    [Munson 1994]
    + +
    Munson, E. V.; Proteus: An Adaptable Presentation System for a Software Development and Multimedia Document Environment; PhD dissertation, University of California, Berkeley, December 1994
    + +
    [Munson 1996]
    + +
    Munson, E. V.; A new presentation language for structured documents; Electronic Publishing, Vol. 8 (2&3), pp. 125­138 (June & September 1995), Paper received 16 Apr 1996, revised 28 June 1996
    + +
    [Munson&Pfeiffer 1999]
    + +
    Munson, E. V., Pfeiffer, M.; A Representation of Media for Multimedia Authoring and Browsing Systems; Proceedings of the AAAI 98 Workshop on Representations for Multi-Modal Human-Computer Interaction, Madison, WI, USA, July 1998
    + +
    [Munson 2003]
    + +
    Personal email correspondance with Ethan Muson, 2003
    + +
    [Naggum 1994]
    + +
    Naggum, E; Erik Naggum's review of DSSSL (DIS); Message posted to comp.text.sgml 5 Dec 1994 under the title DSSSL; Available from http://xml.coverpages.org/​dsssl-note-erik.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Nicol 1995]
    + +
    Gavin Nicol; Re: A New Era of Afforable Tools; Message posted to comp.text.sgml 10 Jun 1995; Available from http://groups.google.com/​groups?​selm=GTN.95Jun10022744%40ebt-inc&output=gplain; Accessed 25 Oct 2004 (local copy).
    + +
    [Nielsen&Lie 1994]
    + +
    Nielsen, H. F. and Lie, H. W.; Towards a Uniform Library of Common Code; Proceedings of Second International WWW Conference '94, Chicago, 1994; +
    + +
    [Nielsen 1996]
    + +
    Jakob Nielsen; Why Frames Suck (Most of the Time); December, 1996; Available from http://www.useit.com/​alertbox/9612.html; Accessed 25 Oct 2004
    + +
    [NOTE-XSL 1997]
    + +
    A Proposal for XSL; Adler, S., Berglund, A., Clark, J., Cseri, I., Grosso, P., Marsh, J., Nicol, G., Paoli, J., Schach, D., Thompson, H. S. and Wilson, C.; Available from http://www.w3.org/​TR/NOTE-XSL-970910; Accessed 26 Oct 2004 (local copy).
    + +
    [ODA]
    + +
    Office Document Architecture (ODA) and Interchange Format; A family of specifications published as drafts from around 1988, and issued as ISO/IEC standards 1994-1998.
    + +
    [Opera]
    + +
    A brief description of the Opera browser is available from http://en.wikipedia.org/​wiki/Opera_browser; Accessed 25 Oct 2004 (local copy).
    + +
    [OpenOffice]
    + +
    A brief description of the OpenOffice.org office applications suite is available from http://en.wikipedia.org/​wiki/Openoffice; Accessed 25 Oct 2004 (local copy).
    + +
    [OSI]
    + +
    A bried description of the Open Systems Interconnection Reference Model (OSI Model or OSI Reference Model for short) can be found from http://en.wikipedia.org/​wiki/OSI_model; Accessed 25 Oct 2004 (local copy).
    + +
    [Pemberton 2000]
    + +
    HTML WG Last Call Comments, part 1 of 2; Message posted to www-xml-linking-comments 13 Mar 2000; Available from http://lists.w3.org/​Archives/​Public/​www-xml-linking-comments/​2000JanMar/0073.html; Accessed 25 Oct 2004 (local copy).
    + +
    [PNG 1996]
    + +
    PNG (Portable Network Graphics) Specification Version 1.0; W3C Recommendation 1 Oct 1996; Available from http://www.w3.org/TR/REC-png
    + +
    [Prescod 1997a]
    + +
    Prescod, P.; Introduction to DSSSL; July, 1997; Available from http://www.prescod.net/dsssl/; Accessed 25 Oct 2004 (local copy).
    + +
    [Prescod 1997b]
    + +
    Prescod, P.; Heresy? Re: DSSSL WWW Enhancements; Message posted to dssslist 18 May 1997; Available from http://www.biglist.com/​lists/​dssslist/​archives/​199705/msg00035.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Quint 1994]
    + +
    Quint, V.; The Languages of Grif; Translated by Ethan Munson, GIPSI S.A., GRIF S.A., Version of April 18, 1994
    + +
    [Radestock 2004]
    + +
    Radestock, M.; Scheme Frequently Asked Questions; Version 1.8, 17 Oct 2004; Available from http://www.schemers.org/​Documents/FAQ/#N40081C; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993a]
    + +
    Raggett, D.; Standardizing new HTML features; Message posted to www-talk 27 Apr 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0166.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993b]
    + +
    Raggett, D.; Re: Standardizing new HTML features; Message posted to www-talk 28 Apr 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0186.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993c]
    + +
    Raggett, D.; Re: Mail addresses as URLs; Message posted to www-talk 13 May 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0313.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993d]
    + +
    Raggett, D.; Re: HTML+ and printed books; Message posted to www-talk 19 May 1993; Available from http://www.webhistory.org/www.lists/​www-talk.1993q2/0349.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993e]
    + +
    Raggett, D.; Re HMML?; Message posted to www-talk 25 May 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0385.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993f]
    + +
    Raggett, D.; Re: RE dtd2.html; Message posted to www-talk 27 May 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0393.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1993g]
    + +
    Raggett, D.; Re: Style sheets for HTML; Message posted to www-talk 11 Jun 1993; Available from http://www.webhistory.org/www.lists/​www-talk.1993q2/0448.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1995a]
    + +
    Raggett, D.; A Review of the HTML+ Document Format; Web page last changed 1 Feb 1995; Available from http://www.w3.org/MarkUp/HTMLPlus/​htmlplus_paper/htmlplus.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1995b]
    + +
    Raggett, D.; Document Type Definition for the HyperText Markup Language (HTML DTD); Published 24 Mar 1995; Available from http://www.w3.org/​MarkUp/​html3/html3.dtd; Accessed 25 Oct 2004 (local copy).
    + +
    [Raggett 1995c]
    + +
    Raggett, D.; HTML Tables; Internet draft, 7 Jul 1995; Available from http://www.w3.org/​MarkUp/​html3-tables/tables.txt; Accessed 25 Oct 2004 (local copy).
    + +
    [Raisch 1993a]
    + +
    Raisch, R.; Request for Comments: STYLESHEETS; Message posted to www-talk 10 Jun 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q2/0445.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raisch 1993b]
    + +
    Raisch, R.; Re: Stylesheet Language; Message posted to www-talk 23 Oct 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0269.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Raman 1996]
    + +
    Raman, T. V.; Style Sheets For Producing Spoken Renderings; Available from http://www.w3.org/​Style/​CSS/​Speech/speech.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Reid&Walker 1979]
    + +
    Reid, B. K. and Walker, J. H.; Scribe Introductory User's Manual; Second Edition, third printing, UniLogic Ltd, Pittsburgh, PA, July 1979;
    + +
    [Reid 1980]
    + +
    Reid, B. K.; Scribe: A Document Specification Language and its Compiler; Phd dissertation, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, October, 1980
    + +
    [Reid 1989]
    + +
    Reid, B. K.; Electronic Mail of Structured Documents; in André, J., Furuta, R., Quint, V. (editors) Structured Documents, Cambridge University Press, 1989
    + +
    [Rosenberg et al. 1991]
    + +
    Rosenberg, J., Sherman, M., Marks, A. and Akkerjuis, J.; Multi-Media Document Translation: Oda and the Express Project Springer-Verlag, 1991
    + +
    [Sandahl 1999]
    + +
    Sandahl, T. I.; From Paper to Digital Documents: Challenging and Improving the SGML Approach; Dr. Scient Thesis, University of Oslo, January 1999
    + +
    [SGML 1986]
    + +
    Standard Generalized Markup Language (SGML); ISO 8879:1986
    + +
    [SGMLUG 1990]
    + +
    A Brief History of the Development of SGML; SGML Users' Group, 11 Jun 1990; Available from http://www.sgmlsource.com/​history/sgmlhist.htm; Accessed 25 Oct 2004 (local copy).
    + +
    [Sherman 1991]
    + +
    Guest Editorial; Sherman, M.; ComputerNetworks and ISDN Systems; 21 (1991) pp. 145-147, North Holland Available from http://reports-archive.adm.cs.cmu.edu/​anon/​itc/CMU-ITC-102.pdf; Accessed 25 Oct 2004 (local copy).
    + +
    [Sørgaard 1996]
    + +
    Sørgaard, P. and Sandahl, T. I.; Problems with Styles in Word Processing: A Weak Foundation for Electronic Publishing with SGML; Published in the Proceedings of the 30th HICSS, Wailea, Hawaii, January 7-10, 1997
    + +
    [Sperberg-McQueen 1994a]
    + +
    Sperberg-McQueen, C.M.; Sketch of Simple Formatting Primitives; Original version published 13 Sep 1994, updated 4 Jul 1995; Available from http://tigger.cc.uic.edu/​~cmsmcq/style-primitives.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Sperberg-McQueen 1994b]
    + +
    Re: HTML style sheets; Sperberg-McQueen, C.M.; Message posted to www-html 4 Nov 94; Available from http://lists.w3.org/​Archives/​Public/​www-html/​1994Nov/0023.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Suck 1996]
    + +
    Xanadu Redux, Part I: The World Wide Web Consortium could learn a few things from Xanadu; Available from http://www.suck.com/​daily/​96/02/16/daily.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Thot 2001]
    + +
    About Thot; Last changed 16 Dec 2001; Available from http://www.inrialpes.fr/​opera/​Thot/AboutThot.html; Accessed 25 Oct 2004 (local copy).
    + +
    [USPS 1994]
    + +
    U.S. Postal Service Purchasing Protest Decision P.S. Protest No. 94-15, Interleaf Inc.; Written by William J. Jones, Senior Counsel, Contract Protests and Policies; 4 Aug 1994; Available from http://www.usps.com/​lawdept/​protestdecisions/1994/9415.htm; Accessed 25 Oct 2004 (local copy). +
    + +
    [WASP 2004]
    + +
    The Web Standards Project; Cascading Style Sheets; Available from http://www.webstandards.org/​learn/​resources/css/; Accessed 26 Oct 2004 (local copy).
    + +
    [Watson&Davis 1991]
    + +
    Watson, B. C. and Davis, R.; ODA and SGML: An Assessment of Co-Existence Possibilities; Computer Standards & Interfaces 11 (1990/91) 169-176, Elsevier Science Publishers, 1991
    + +
    [WD-CSS3-selectors 2001]
    + +
    Glazman, D., Çelik, T. and Hickson, I.; Selectors; W3C Candidate Recommendation, 13 Nov 2001; Available from http://www.w3.org/​TR/​2001/CR-css3-selectors-20011113; Accessed 25 Oct 2004.
    + +
    [WD-hlink]
    + +
    Pemberton, S. and Ishikawa, M.; HLink – Link recognition for the XHTML Family; W3C Working Draft, 13 Sep 2002; Available from http://www.w3.org/​TR/​2002/WD-hlink-20020913/
    + +
    [WD-positioning 1997]
    + +
    Stevahn, R. (editor); Positioning HTML Elements with Cascading Style Sheets; W3C Working Draft 31 Jan 1997; Available from http://www.w3.org/​TR/​WD-positioning-970131; Accessed 25 Oct 2004 (local copy).
    + +
    [WD-style 1997]
    + +
    Raggett, D., Bos, B. and Lie H. W.; HTML and Style Sheets; W3C Working Draft 24 Mar 1997; Available from http://www.w3.org/​TR/​WD-style-970324; Accessed 25 Oct 2004 (local copy).
    + +
    [WD-XML 1996]
    + +
    Bray, T. and Sperberg-McQueen, C. M.; Extensible Markup Language (XML); W3C Working Draft 14 Nov 1996; Available from http://www.w3.org/​pub/​WWW/​TR/WD-xml-961114.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Wei 1992]
    + +
    The Viola browser is documented in the Viola Browser Archive; Available from http://www.viola.org; Accessed 25 Oct 2004 (local copy).
    + +
    [Wei 1993a]
    + +
    Wei, P. Y.; Stylesheet Language; Message posted to www-talk 22 Oct 1993; Available, in two parts, from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0264.html and http://www.webhistory.org/​www.lists/​www-talk.1993q4/0265.html; Accessed 25 Oct 2004 (local copy)(local copy).
    + +
    [Wei 1993b]
    + +
    Wei, P. Y.; Re: Stylesheet Language; Message posted to www-talk 23 Oct 1993; Available from http://www.webhistory.org/​www.lists/​www-talk.1993q4/0276.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Wei 1993c]
    + +
    Wei, P. Y.; FOSI; Message posted to www-talk 26 Oct 1993; Available from http://www.webhistory.org/www.lists/​www-talk.1993q4/0297.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Wei 1993d]
    + +
    Wei, P. Y.; Stylesheet; Available from http://www.xcf.berkeley.edu/​~wei/​viola/​book/chp14.html; Accessed 26 Oct 2004 (local copy).
    + +
    [Wei 1994]
    + +
    Wei, P. Y.; Re: Cascading HTML style sheets – a proposal; Message posted to www-talk 24 Oct 1994; Available from http://www.w3.org/​Style/​History/​www.eit.com/​www.lists/​www-talk.1994q4/​0387.html; Accessed 25 Oct 2004 (local copy).
    + +
    [Weitzman&Wittenberg 1994]
    + +
    Weitzman, L. and Wittenberg, K.; Automatic presentation of multimedia documents using relational grammars; Proceedings of ACM Multimedia '94, pp. 443-451, ACM Press, October 1994
    + +
    [Wilson 2003a]
    + +
    Wilson, B.; Browser Timelines; Available from http://www.blooberry.com/​indexdot/​history/browsers.htm; Accessed 26 Oct 2004 (local copy).
    + +
    [Wilson 2003b]
    + +
    Wilson, B.; CSS Support History; Available from http://www.blooberry.com/​indexdot/​css/​supportkey/syntax.htm; Accessed 26 Oct 2004 (local copy).
    + +
    [WML]
    + +
    Wireless Markup Language Specification; Version 1.2, Wireless Application Protocol Forum, 4 Nov 1999
    + +
    [www-talk]
    + +
    The www-talk mailing list was started in October 1991 and hosted much of the electronic discussions about the technical development of the web. The mailing list is archived by W3C (http://lists.w3.org/​Archives/​Public/www-talk/), and the World Wide Web History Project (http://www.webhistory.org). +
    + +
    [W3C 2003]
    + +
    Some early ideas for HTML; Available from http://www.w3.org/​MarkUp/historical. Last modified on 9 Jan 2003. Accessed 13 Mar 2005 (local copy).
    + +
    [W3C 2004]
    + +
    W3C CSS1 Test Suite – Version History; Available from http://www.w3.org/​Style/​CSS/​Test/​CSS1/​current/vhistory. Last modified 25 Oct 2004. Accessed 13 Mar 2005 (local copy).
    + +
    [Xerox Star]
    + +
    A brief description of the Xerox Star computer workstation can be found from http://en.wikipedia.org/​wiki/Xerox_Star/; Accessed 25 Oct 2004 (local copy).
    + +
    [XLink 2001]
    + +
    DeRose, S., Maler, E. and Orchard, D.; XML Linking Language (XLink) Version 1.0; W3C Recommendation 27 June 2001; Available from http://www.w3.org/​TR/​2001/​REC-xlink-20010627/
    + +
    [XML 1998]
    + +
    Bray, T., Paoli, J., Sperberg-McQueen, C. M.; Extensible Markup Language (XML) 1.0; Available from http://www.w3.org/​TR/​1998/​REC-xml-19980210
    + +
    [XML-names 1999]
    + +
    Bray, T., Hollander, D. and Layman, A.; Namespaces in XML; W3C Recommendation 14 Jan 1999; Available from http://www.w3.org/​TR/​1999/REC-xml-names-19990114
    + +
    [XML-stylesheet 1999]
    + +
    Clark, J. (editor); Associating Style Sheets with XML documents, Version 1.0; W3C Recommendation 29 Jun 1999; Available from http://www.w3.org/​1999/​06/REC-xml-stylesheet-19990629/
    + +
    [XSL 2001]
    + +
    Adler, S., Berglund, A., Caruso, J., Deach, S., Graham, T., Grosso, P., Gutentag, E., Milowski, A., Parnell, S., Richman, J. and Zilles, S.; Extensible Stylesheet Language (XSL) Version 1.0; W3C Recommendation 15 October 2001; Available from http://www.w3.org/​TR/​2001/REC-xsl-20011015/
    + +
    [X11]
    + +
    X11 (a.k.a. the X Window System or X) is a windowing system for bitmap displays. A brief description of X11 is available from http://en.wikipedia.org/wiki/X11; Accessed 25 Oct 2004 (local copy).
    + +
    [Zeldman 2003]
    + +
    Zeldman, J.; Designing with Web Standards; New Riders, May 2003 + + + + + + + +
    +
    +
    + +
    +

    Colophon

    + +

    Writing a thesis about style sheets sets certain expectations; the resulting document should use proper markup and actively use style sheets. And it should be presentable. This section describes briefly how these goals were achieved for this thesis.

    + +

    Almost every document I have produced over the last decade (except email) has been written in HyperText Markup Language (HTML) and styled in CSS. A thesis, however, is significantly more complex than is a letter or a home page. First, a thesis is, generally, much longer than most other documents. Second, a thesis should, ideally, retain more semantics than do most other documents. Third, the presentation of a thesis – especially on paper – is a challenge to CSS.

    + +

    The length of a thesis is mostly an issue in the authoring process. Basically, there are two ways of handling the length issue: either the document is split into several manageable parts (e.g., chapters), or the whole document is kept in one file. The right choice will depend on the capacity of the editor, its search and overview capabilities, and the personal preferences of the author. GNU-Emacs, which is my editor of choice, can edit huge files and has good search capabilities within a file. I chose, therefore, to edit the thesis as one HTML file.

    + +

    HTML was developed in a scientific environment and, generally, is well suited to retain the semantics of a thesis. For example, internal and external references can be marked up as hyperlinks, and code examples can be marked with the CODE element. I have chosen to use the CODE element when marking up inline HTML code. This, however, is not able to discern between different types of HTML code. It cannot distinguish, for example, between HTML elements and HTML attributes. To retain this distinction, I have introduced several class names which are given as values on the CLASS attribute. For example, the markup of the previous sentence is:

    + +
    To retain this distinction, I have introduced several class names
    +which are given as values on the <code class="attribute">CLASS</code> 
    +attribute.
    +
    + +

    Similarly, other elements have also been subclassed.

    + +

    Needless to say, the presentation of this thesis must be specified in CSS. Any other solution would, I presume, automatically disqualify the dissertation from further review. Thankfully, CSS is at a stage where specifying the presentation of a thesis is possible. The associated style sheet describes the presentation of this thesis on five different media types: screen, projection, print, aural and handheld. Admittedly, few people will ever read the document on a handheld or aural device, but the extra work of specifying the presentation for such output devices is minimal.

    + +

    The media type that requires most work is print. The University of Oslo, like most other institutions, demands that doctoral dissertations are submitted on printed paper.The requirement does not use the word paper, but prescribes that the thesis shall be submitted bound or stapled in five copies. The easiest way to comply with this requirement is to print the HTML document from a browser. Alas, browsers – including the ones for which I have partial responsibility – are rarely able to print web documents in ways that makes for pleasant reading. In order to generate a decent-looking printed document, it is necessary to use a dedicated formatter. I have chosen to use the Prince formatter which supports the print-specific features of CSS2 as well as some features proposed for CSS3. Headers and footers, footnotes and page numbers in the table of contents have been specified in CSS.

    + +

    The PDF version of this document is typeset in 10pt/15pt Bergamo. Code examples are typeset in 9pt/13pt Bitstream Vera Sans Mono.

    + +

    The resulting document is one that I am proud to submit.

    +
    +
    + + + diff --git a/sac/pages/www-youtube-com-watch-v--s-wecoa83m b/sac/pages/www-youtube-com-watch-v--s-wecoa83m new file mode 100644 index 0000000..d36225a --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v--s-wecoa83m @@ -0,0 +1,90 @@ +ai art isn't funny anymore | ARTISTS BEWARE - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-6dzbq2qxkpu-list-pldb8b8220dee96fd9-index-102 b/sac/pages/www-youtube-com-watch-v-6dzbq2qxkpu-list-pldb8b8220dee96fd9-index-102 new file mode 100644 index 0000000..1f6a2cf --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-6dzbq2qxkpu-list-pldb8b8220dee96fd9-index-102 @@ -0,0 +1,90 @@ +AT&T Archives: Yellow Pages by Computer Graphics - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-bw3lu5mx-zi b/sac/pages/www-youtube-com-watch-v-bw3lu5mx-zi new file mode 100644 index 0000000..163a456 --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-bw3lu5mx-zi @@ -0,0 +1,90 @@ +talking about pl_badwater for 12 hours - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-ceqqlegq3-4 b/sac/pages/www-youtube-com-watch-v-ceqqlegq3-4 new file mode 100644 index 0000000..fbb8ebf --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-ceqqlegq3-4 @@ -0,0 +1,90 @@ +History of Desktop Publishing - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-f83wueexttc b/sac/pages/www-youtube-com-watch-v-f83wueexttc new file mode 100644 index 0000000..fcbd6f2 --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-f83wueexttc @@ -0,0 +1,90 @@ +Corporate Memphis & Why Everything Looks The same Now | ARTISTS BEWARE - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-lk1xrbwjni8 b/sac/pages/www-youtube-com-watch-v-lk1xrbwjni8 new file mode 100644 index 0000000..855895b --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-lk1xrbwjni8 @@ -0,0 +1,90 @@ +The Computer Chronicles - Desktop Publishing Part 1 (1986) - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-ll70glaoudq b/sac/pages/www-youtube-com-watch-v-ll70glaoudq new file mode 100644 index 0000000..3c10977 --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-ll70glaoudq @@ -0,0 +1,90 @@ +The Computer Chronicles - Commodore 64 (1988) - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-p1axafqzft4 b/sac/pages/www-youtube-com-watch-v-p1axafqzft4 new file mode 100644 index 0000000..71730c2 --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-p1axafqzft4 @@ -0,0 +1,90 @@ +"TeX as a Path", talk given by Yannis Haralambous at knuth80 in Piteå, January 10th, 2018 - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-rfix1vruii0 b/sac/pages/www-youtube-com-watch-v-rfix1vruii0 new file mode 100644 index 0000000..25301b7 --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-rfix1vruii0 @@ -0,0 +1,90 @@ +5 power user tips for emacs - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-sgykpk9njne-list-pldb8b8220dee96fd9-index-124 b/sac/pages/www-youtube-com-watch-v-sgykpk9njne-list-pldb8b8220dee96fd9-index-124 new file mode 100644 index 0000000..dff0e9f --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-sgykpk9njne-list-pldb8b8220dee96fd9-index-124 @@ -0,0 +1,90 @@ +AT&T Archives - The Viewtron System and Sceptre Videotex Terminal (1983) - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-xvdzljacjuw-t-955s b/sac/pages/www-youtube-com-watch-v-xvdzljacjuw-t-955s new file mode 100644 index 0000000..5770e0a --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-xvdzljacjuw-t-955s @@ -0,0 +1,90 @@ +UNIX: Making Computers Easier To Use -- AT&T Archives film from 1982, Bell Laboratories - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-youtube-com-watch-v-xz3w-jec1v8 b/sac/pages/www-youtube-com-watch-v-xz3w-jec1v8 new file mode 100644 index 0000000..012bedb --- /dev/null +++ b/sac/pages/www-youtube-com-watch-v-xz3w-jec1v8 @@ -0,0 +1,90 @@ +"The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023) - YouTube
    PrésentationPresseDroits d'auteurNous contacterCréateursPublicitéDéveloppeursConditions d'utilisationConfidentialitéRègles et sécuritéPremiers pas sur YouTubeTester de nouvelles fonctionnalités
    \ No newline at end of file diff --git a/sac/pages/www-zdnet-fr-blogs-green-si-des-macs-en-entreprise-la-fin-d-un-tabou-39826656-htm b/sac/pages/www-zdnet-fr-blogs-green-si-des-macs-en-entreprise-la-fin-d-un-tabou-39826656-htm new file mode 100644 index 0000000..b30adb8 --- /dev/null +++ b/sac/pages/www-zdnet-fr-blogs-green-si-des-macs-en-entreprise-la-fin-d-un-tabou-39826656-htm @@ -0,0 +1,1114 @@ + + + + + + + + + + + + + + + +Des Macs en entreprise: la fin d'un tabou ? - ZDNet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + +
    + +
    +
    +
    +
    + +
    publicité
    +
    + +
    +
    +
    + +
    + +
    +
    +

    + Des Macs en entreprise: la fin d'un tabou ? +

    +

    Prospective : S'il n'y a qu'un sujet qui est tabou à la DSI, c'est bien le Mac! Mais quand Cisco ou IBM fricottent avec Apple, le DSI peut commencer à se demander s'il n'est pas temps de retourner sa veste...

    +
    + + + + + + + +
    + + + + + + + + + + + + +

    S'il n'y a qu'un sujet qui est tabou à la DSI, c'est bien le Mac!

    Quand Cisco ou IBM fricottent avec Apple, le DSI peut commencer à se demander s'il n'est pas temps de retourner sa veste et de faire rentrer les Mac dans l'entreprise ! Mais comme ce sujet de discussion peut dégénérer rapidement, GreenSI fait appel à votre curiosité pour lire ce billet jusqu'à la fin, avant de décider de le brûler pour blasphème en récitant des incantations ;-)

    Bien sûr, le couple Mac/MacOS est présent dans l'entreprise, qui n'est pas équipée uniquement de postes de travail Windows. La valeur par défaut est Windows mais on peut justifier l'usage des Macs, par exemple dans les services marketing pour travailler avec les agences de communication, ou dans certains secteurs d'activités. Sans oublier les machines pour les développeurs qui demandent de la puissance, de l'autonomie, et ne sont pas toutes connectées au réseau de l'entreprise (mais qu'a internet).

    Mais la réalité du marché est que plus de 90% des systèmes livrés dans le monde le sont encore sous PC/Windows en 2015.

    La raison est connue: Apple ne fait pas dans le low-cost. Donc à configurations égales, on a beau le tourner dans tous les sens, un Mac coûte plus cher à l'achat qu'un PC. 

    Mais dans l'entreprise qui raisonne "TCO" (total cost of ownership) incluant le coût du support et de la formation (de l'ordre de 1200-1500€/an/poste), le choix ne doit pas s'arrêter au seul prix d'achat.

    Cette semaine, c'est sur Twitter avec l'effet d'une petite bombe qui a retenue l'attention de GreenSI, que Fletcher Previn, "Monsieur Poste de travail as a service" chez IBM, a annoncé les premiers résultats du déploiement massif de Mac chez IBM (au rythme de 1900 par semaine !)  suite à l'accord signé entre Apple et IBM en 2014 autour du mobile:

    • 5% des utilisateurs de Mac utilisent le service de dépannage interne (contre 40% pour les utilisateurs de PC)
    • 98,7% des requêtes sont résolues au premier appel 

    Ce qui a valu à l'influent Marc Andreessen, et à Philip Schiller, le VP marketing d'Apple, un trait d'humour pour rappeler qui avait inventé le PC ...

     

    Dans le contexte d'IBM (population avertie et déploiement massif), les coûts de support sur Mac sont inférieurs à ceux sur PC. C'est donc bien la fin d'une légende. Et malgré un coût d'achat plus élevé, avec une certaine durée de vie et des coûts de support plus faibles, on peut imaginer que le choix et l'achat de Mac soit plus rentable pour l'entreprise en terme de TCO.

    Sans compter qu'avec la montée en puissance de la mobilité et de l'internet mobile, l'OS le plus utilisé en entreprise risque rapidement d'être... Android. Et éventuellement iOS avec l'iPhone ou les nouveaux iPadPro (Un iPadPro pour l'entreprise, et alors?).

    Le dernier argument des "pro-windows" - n'avoir qu'un seul OS dans l'entreprise pour tout simplifier - est en train de tomber. L'entreprise aura de facto plusieurs OS sur ses postes de travail, assurant l'accès au SI et les fonctions de collaboration entre salariés, qui sont fixes mais aussi mobiles.

    Comme le poste de travail, la téléphonie d'entreprise est aussi devenue fixe et mobile. Début septembre, c'est Cisco qui a signé un accord avec Apple pour optimiser ses réseaux pour les terminaux et les applications iOS. Son objectif, pousser l’intégration de l’iPhone dans les environnements d’entreprise (notamment WebEx), et ses liens avec les téléphones fixes de bureau Cisco. La téléphonie et la collaboration autour des communications est aussi un enjeu de productivité pour l'entreprise, et Apple ne pouvait rester isolé avec son propre système - iPhone - sans mieux l'intégrer avec les infrastructures de l'entreprise.

    Un Cisco, dont le président John Chambers est venu en France il y a 10 jours annoncer qu'il allait renforcer ses investissements (400 millions) dans les startups françaises. Et quand, au NUMA, entre deux conférences où GreenSI a pu se faufiler, on lui posa la question  sur ce qui ce qui va continuer de bouleverser le numérique et ce qu'il faut garder sur son radar, il répondit sans hésiter: l'accord entre Cisco et Apple, qui peut-être n'a pas encore été considéré à sa juste valeur.

    Dans ce contexte, la stratégie multi-plateformes de Microsoft avec Windows 10 sur tous les terminaux sera d'abord vue par le DSI comme la possibilité de choisir Windows sur les terminaux qu'il souhaite, et non pas d'avoir Windows partout.

    Microsoft en est bien conscient et met les bouchées doubles en remplaçant Linc par Skype Entreprise dans la communication instantanée. Car Webex, comme Skype, sont les plateformes applicatives Cloud qui amènent plus de valeur pour l'entreprise à ces terminaux. De même pour Office 365, Google Entreprise et toutes les applications comme Boxnet, maintenant déclinées en version entreprise.

    Alors pour un DSI, faire rentrer des Macs/iOS en entreprise à la place de PC/Windows, à côté des iPhones, est un tabou qui est certainement en train de voler en éclat. La perspective stratégique sur le poste de travail du salarié a changé avec le mobile et doit intégrer les coûts de supports et le ratio entre le nombre d'agents au support versus la population supportée. Un ratio qui visiblement est plus faible pour Apple.

    À Apple maintenant de mettre en place le réseau de distribution attendu par les entreprises. GreenSI veut parler de celles qui n'achètent pas 50.000 Macs d'un coup dans le cadre d'accords stratégiques mondiaux signés dans la langue de Shakespeare ;-)

    + + + + + + + + + + + + +
    +
    + +
    +
    +
    + + Un iPadPro pour l'entreprise: et alors? + +
    +
    + A lire aussi : +
    + +

    + La rumeur d'un iPad pour les Pros en novembre a été confirmée. Une tablette qui, pour GreenSI, est plus qu'un produit mais... +

    +
    +
    +
    +

    + Suivez toute l'actualité de ZDNet sur Google Actualités.

    + +
    +
    + Frédéric Charles +
    +
    +

    A propos de Frédéric Charles

    +

    Passionné de technologies, Frédéric Charles est Directeur Stratégie & Innovation chez SUEZ Smart Solutions. Il partage son analyse personnelle de la transformation numérique des entreprises et de la ville intelligente de demain.

    +
    +
    +
    +
    +
    +
    +
    + +
    Articles relatifs
    + +
    +
    Contenus partenaires
    +
    + +
    + +
    Contenus sponsorisés
    +
    +
    + +
    Réagissez à l'article
    +
    +
    + 6 réponses
    +
    + Connectez vous + ou + Enregistrez-vous + pour rejoindre la discussion +
    +
    +
      +  +
    • +
      +
      Soyons réalistes : le seul bastion réel qu'il reste au mac est la vidéo. Même au niveau agence de communication, on travaille sans problème sous GNU/Linux avec Inkscape et GIMP, pour faire de la charte graphique pro sous Inkscape, la découper sous Gimp, et faire de l'offset professionnel en SVG ou XCF... Sachant que la valeur ajoutée vient toujours de l'opérateur, et non du logiciel, on peut ensuite se battre 1000 ans sur les avantages et inconvénients d'une solution ou d'une autre : mais dans les faits le mythe du mac a vécu, et c'est bien GNU/Linux qui est aujourd'hui l'OS le plus simple à utiliser, n'en déplaise aux fanboys.
      Sinon en entreprise, le choix est vite fait : entre un GNU/Linux qui sait communiquer avec tout le monde, fait ses mises à jour sans casser les pieds, se passe d'antivirus, et propose des logiciels professionnels cohérents, et un mac qui ne sait même pas écrire en natif sur du NTFS, qui est bridé de partout, et où il faut sortir la carte bancaire à tout bout de champ, le choix est vite fait...
      Bref, si le but de cet article est d'indiquer une porte de sortie aux déçus de windows, il ne sert à rien de quitter un dictateur pour un autre encore pire. La solution, c'est une Ubuntu MATE qui fonctionne très bien à l'usage, offre un support de 5 ans, et arrête de bouffer du temps d'administration pour rien. On rappellera sur ce dernier point que GNU/Linux reste le seul OS qui fait ses mises à jour "noyau + logiciels installés" en une seule passe - chose qu'aucun des concurrents ne fait, ce qui me fait dire que GNU/Linux est donc l'OS le plus simple et le plus rapide à entretenir. CQFD.
      +
      +
      + Hansi +
      + +
      + +
      +
        +  +
      • +
        +
        Commentaire d'une personne qui n'a jamais eu de Mac entre les mains.
        Vous n'avez visiblement pas compris le fond de l'article -> TCO ; pour avoir essayer de travailler avec Linux comme poste de travail, je peux garantir que je passais mon temps au support et dans les fichiers de config. Alors plus simple...

        S'il y avait une distribution Linux dont l'expérience utilisateur était égale à OS X, ça se saurait depuis longtemps.

        La difficulté avec OS X est que la productivité apportée par l'expérience utilisateur est difficile à quantifier ; l'appel au support est un critère, mais ce n'est pas le seul argument.

        Pour une entreprise, c'est la quadrature du cercle : d'un côté la standardisation (tout Windows), permet des économies d'échelle ; d'un autre, on a une partie non négligeable de la population qui sera mécontente et ne sera pas en productivité optimale. L'idéal est de trouver un équilibre entre les OS pour optimiser la productivté de chacun sans impacter le coût total de la gestion de parc.

        Je suis en ligne avec l'article qui est que l'ère de l'OS unique pour les postes de travail (Windows) est terminée.
        +
        +
        + phherlin +
        + +
        + +
        +
      • +  +
      • +
        +
        Une petite question Hansi : crois-tu qu’IBM ne connait pas GNU/Linux ?

        Parce si non, tu devrais peut-être leur écrire une lettre pour leur indiquer les joies de GIMP et les bienfaits d Inkscape :o)
        +
        +
        + nolan_(Reloaded) +
        + +
        + +
        +
      • +
      +
    • +  +
    • +
      +
      Commentaire d'une personne qui a toujours eu des Macs entre les mains

      Excellent article qui ne prend pas parti pour le côté obscur ou clair de la force.
      Force est toutefois de constater qu'Apple n'est plus une société alternative, mais un poids lourd qui peut peut imposer sa loi, une société qui a de plus en plus tendance à prendre ses clients pour des … poires comme disent les mauvaises langues.

      Certes, le retour en grande entreprise est une bonne chose même si Apple n'a plus de machine serveur à son catalogue aujourd'hui. Qui sait … il n'y a que les imbéciles qui ne changent jamais d'avis.

      Pour ma part, je n'ai jamais cédé aux sirènes du PC même pendant les années où la fin d'Apple - avant le retour du créateur - était quotidiennement annoncée ayant toujours dit que je changerai de monde que lorsque que je ne trouverai plus de pièce de rechange pour le PowerPC 601.

      De même, je continue à me battre pour qu'il n'y ait pas de partition Windows dans mon serveur … Apple, en cela je suis peut-être un intégriste de la première heure qui avait d'ailleurs crié au scandale quand nous avions quitté le PowerPC de Motorola pour les processeurs Intel, mais je m'assume. Je ne pense pas que mes associés et nos collaborateurs, en nombre modeste en souffrent plus que cela.

      Votre article prouve que nous sommes aujourd'hui à l'heure de l'oecuménisme en entreprise. Je m'en réjouis et apprécie l'ouverture d'esprit de mon préopinant même si d'aucuns affirment que la tolérance en informatique est un manque d'engagement.
      +
      +
      + Lelong +
      + +
      + +
      +
    • +  +
    • +
      +
      Il faut remettre cette évaluation dans son contexte, et prennent des exceptions dans certaines entreprises.
      La réalité est que:
      Dans les Agences de Com beaucoup travaillent avec un Mac surtout par habitude via les outils graphiques et média (Adobe After effect, Photoshop, Final Cut etc...) alors que dans la réalité la majeur partie prennent un Mac plus pour se la péter et jouer sur la forme plutôt que le fond.
      La majorité ne savent même pas utiliser un ordinateur alors ne parlons même pas des outils graphiques où je passe mon temps à leur apprendre comment s'en servir (si certain se sentent concerner, alors il est temps de faire une introspection sérieuse et sans se mentir sur ses capacités, internet est là pour vous auto former si vous n'êtes pas assez compétent au royaume des aveugles).

      Concernant les Performances:
      Que l'on utilise un Linux, un Mac ou Windows, un pc à performance équivalente avec un Mac coûte moins cher qu'un Mac et est tout aussi fluide si l'on sait comment utiliser sa machine.
      Donc next out les pro linux, anti windows et pro apple car vos opinions on s'en contre-fiche étant donné qu'il n'est en rien objectif et en dit long sur la personnalité (si toute fois personnalité il y a).

      En matière de support:
      La majorité des entreprises ont des techos dont on connait justement les machines suffisamment afin de corriger des bugs où des saletés qu'un salarié aurait placé sur sa machine, mais concrètement la majorité des cas revient surtout à un problème de configuration du parc réseau et non plus d'OS.

      Concernant le Dev :
      Un développeur (non fashion victime) se concentrera plus sur le nécessaire plutôt que sur le bling bling.
      Mac, c'est basé sur un noyau linux, Apple n'a rien inventé côté robustesse de la base de l'OS mais seulement ajouté des briques et notamment l'ergonomie que Linux n'a jamais eu hélas suffisamment.
      Là un pro Linux viendra me dire : "L'ergonomie est là sous Linux c'est faux !" et comme x mille fois on lui prouverait si l'on était en face que d'une, il n'a aucune notion de ce que signifie "ergonomie" et deux qu'il n'est en rien suffisant actuellement à la demande d'un large publique.
      Concernant les technologies web qui ont sacrément évolué, nous en revenons énormément à utilisant les lignes de commandes dans tous les sens.
      Là un Mac et un Linux sont bien au dessus d'un Windows (quoi que Windows 10 commence enfin faire des updates attendue depuis des lustres).
      On peut tout à fait palier à ce manque avec quelques logiciels où on pourra administrer un serveur en ligne de commande sous windows après (c'est ce que je fais tous les jours).

      Les Applications Professionnelles :
      Une grande force aussi de Windows sur le marché pro, ce sont les multitudes d'applications indispensables pour certaines, comme le pack office etc...
      Que l'on ne viennent pas me parler de Open Office, c'est bon pour des petites boites administratif mais rien à voir avec les possibilités et l'ergonomie qu'offre le Pack Office.
      Gimp ???.... Quelle entreprise fonctionne avec concrètement ?! Des minorités et ne fait en rien le poids contre photoshop niveau ergonomie encore une fois et le nombre de personnes connaissant Photoshop.
      Celui qui oserait venir dire le contraire n'a pas bien lu ce que j'ai écrit et n'a pas bien prit en compte toutes les variables en conséquence que cela engendre (recherche de profiles directement opérationnel, compétences équivalentes pour Gimp que pour Photoshop etc....).

      La partie mobile => outils professionnelles :
      Tablette tactile, smartphone, applications mobile, synchronisation.... Android et Microsoft tiennent largement le haut du pavé comparé à Apple qui s'enterre de se côté là et qui a prit un sacré retard en rapport à ses concurrents.
      Là, Microsoft ne fait pas émule niveau publique côté application du store assez pauvre en rapport aux autres. Pas évident lorsque l'on arrive assez tard sur le marché des app mobile en même temps c'est sûr.
      Mais côté Pro...
      Microsoft risque plus que de raison de mettre un bon coup de balayette à ses concurrents avec son OS Hybride (Surface Pro).
      Une tablette c'est bien pour de la démo, du surf... Mais pas pour de l'application professionnelle dans la majorité des entreprises.
      Un clavier tactile ? Jamais ! Lorsque vous compter le nombre de dactylo (dont j'en fais partie) comme feront-ils avec un clavier tactile ? Ce n'est pas productif (c'est pour ça que ça n'a jamais prit d'ailleurs).

      Le Duel pro se joue surtout entre Android et Microsoft, Apple ?.... Ce sera les entreprises qui ne font pas de veilles techno sérieuses et des choix personnelles plutôt que objectif et pro.

      Concernant le parc ordinateur, selon le service il sera plus profitable d'utiliser un Linux (moins coûteux qu'un mac et tout autant opérationnelle) et pour les autres un PC.
      Un service de Com n'aurait même pas à utilisé un Mac concrètement, cela n'a aucun intérêt objectif et ni un impacte sur la productivité, car à performance équivalente un PC équipé de windows fera tout autant le boulot.
      Ce qui va coincer c'est simple une question d'habitude, et les habitude ont la vie dure.
      Equiper tout un parc de MAC reviendrait bien plus cher en réalité car le support dans la majorité des entreprises ne servirait qu'à changer des pièces réellement défectueuses et non du à un système d'exploitation dont le service informatique saura remettre la machine en état.
      Le fait aussi que Apple soit le plus fermer sur sont système et sont emballage de composant pèse aussi sur la note.

      Donc l'article ne vaut pas vraiment un clou étant donné que l'on prend une exception pour en faire un majorité ?
      Un peu de justesse et de réalité du terrain.

      "Ha regarde j'ai un Mac et toi t'en a pas :).... Tu sais mon Mac peut faire ça"....
      "Oui sur mon PC aussi je peux faire pareil..."
      "Ha tu as un cable pour brancher mon appareil apple et faire ma synchro ?"
      "Non désolé je suis sous un PC et je n'ai pas Mac osx d'installer... Fait voir l'emboue... Ha non c'est typique apple. Tu aurais eu un Blackberry, un Android, un Windows ou un Linux ça aurait passé...".
      Des exemples comme ça y en a pleins, et ce n'est pas parce qu'une marque qui fait de la qualité qu'il faut boire ses paroles sans prendre le temps de réfléchir.
      +
      +
      + legacy +
      + +
      + +
      +
        +  +
      • +
        +
        @legacy : Ouch ... Un tel pavé pour dire autant d’âneries est à peine croyable en 2015 … :o(

        C’est étonnant de constater à quel point les anti-Mac conservent depuis 20 la même ligne argumentative sans jamais la remettre en cause, alors qu’elle contient quand même des trucs d’une absurdité sans nom.

        Je ne vais prendre qu’un exemple technique : NON, OS X n’est PAS basé sur Linux ! Non, non, et re-non !!

        OS X est basé sur un OS maison (Darwin *) lui même basé sur un noyau hybride enrichi maison (XNU **) entre le micro-noyau Mach (***) et les services BSD (****).

        Réduire le travail système d’Apple (et de NeXT avant elle) à ce que tu racontes est caractéristique de l’esprit réducteur avec lequel les anti-Mac méprisent les mac-users depuis 30 ans …

        Pour info, Éric Lévénez (je t’invite à Googler son nom et à consulter son site web *****, pour lequel il est mondialement connu, il t’en apprendra certainement beaucoup sur l’histoire des systèmes d’exploitation que tu ne pourrais l'imaginer) écrit sur son site :
        « You may be wondering "Why does Steve Jobs appear in this unix history?". Simply because he has made the best unix computer ever : a NeXTcube powered with the NeXTSTEP operating system. And now : Mac OS X. »

        Loin de moi l'idée de rapporter la discussion sur Jobs, je vais rester sur NeXTSTEP et OS X. Donc, après la consultation de son site (pages consacrées aux UNIX et à NeXTSTEP notamment, tu peux faire un tour pas son CV pour constater qu'il a bien l'air de connaître autre chose que le Mac), crois-tu que le monsieur est du genre à ne pas savoir utiliser un ordinateur, et ne penses-tu donc pas qu’il doit te manquer deux ou trois (pour être gentil) éléments que tu n’as pas du saisir sur les raisons qui font que des utilisateurs professionnels (IBM dans cet article), universitaires et écoles (école 42 récemment) ou encore grand public (pdm du Mac qui est passée de 3% à 8-10% en une quinzaine d'années), puissent préférer le Mac aux PC sans pour autant être taxés de « vouloir se la péter » ?

        Pour le dire simplement, ce que tu annonces comme « la majeur partie » des utilisateurs de Mac n’a certainement rien de majeure du tout. Tu te concentre sur l’anecdotique, en somme. C’est ton choix après tout, mais je t’indique qu’il me semble foncièrement réducteur.

        Un peu de lecture :
        * https://en.wikipedia.org/wiki/Darwin_(operating_system)
        ** https://en.wikipedia.org/wiki/XNU
        *** https://en.wikipedia.org/wiki/Mach_(kernel)
        **** https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
        ***** http://www.levenez.com/
        +
        +
        + nolan_(Reloaded) +
        + +
        + +
        +
      • +
      +
    • +
    + +
    + +
    + +
    +
    + +
    publicité
    +
    + +
    +
    + +
    +
    +
    +
    +
    + ZDNET + + + + + Se connecter | Devenir membre + + Close +
    +
    +
    + + + + +
    + + + + + diff --git a/sac/pages/www-zsh-org-mla b/sac/pages/www-zsh-org-mla new file mode 100644 index 0000000..95c8436 --- /dev/null +++ b/sac/pages/www-zsh-org-mla @@ -0,0 +1,208 @@ + + + Zsh mailing list archive + + + + + +
    +

    Zsh

    +

    Mailing List Archive

    + +Archives of the Zsh mailing lists since they were moved to +math.gatech.edu.
    +They were then hosted at +dotsrc.org (formerly sunsite.dk) from 1999 to 2009.
    +They are currently hosted at +zsh.org. +
    +
    + +

    + + +
    + + + + + + +
    Plain ArchivesHTML archives
    Every 100 articles tar'd & gzip'd.Browsable,
    updated per article.
    zsh-announce1995–present
    zsh-users1995, +1996, +1997, +1998, +1999,
    +2000, +2001, +2002, +2003, +2004, +2005, +2006, +2007, +2008, +2009,
    +2010, +2011, +2012, +2013, +2014, +2015, +2016, +2017, +2018, +2019,
    +2020, +2021, +2022, +2023, +2024
    zsh-workers1995, +1996, +1997, +1998, +1999,
    +2000, +2001, +2002, +2003, +2004, +2005, +2006, +2007, +2008, +2009,
    +2010, +2011, +2012, +2013, +2014, +2015, +2016, +2017, +2018, +2019,
    +2020, +2021, +2022, +2023, +2024
    +
    +
    + +Look up message by official number: (updated twice daily) +
    +

    + + Zsh users: + + + + +
    +
    + + Zsh workers: + + + + +
    + +

    + + + + + +
    + + + + + + + + + + + + + + + + + +
    Referencing the archive:
    When you refer to a message in the archive, look at the official number + in the header X-Seq.
    Then you can use a URL of the form:
    https://www.zsh.org/workers/.....
    + https://www.zsh.org/users/.....
    replacing the dots with the message number.
    +
    + +

    + + + + + +
    + + +
    +
    +The mailing lists are at the following addresses @ zsh.org:
    +
    +zsh-announce  (Moderated Postings Only)
    +zsh-users     (Allows Public Postings)
    +zsh-workers   (Allows Public Postings)
    +zsh-security  (Allows Public Postings, Subscription restricted)
    +
    +To subscribe or unsubscribe, please send e-mail to
    +the relevant address below:
    +
    +zsh-announce-subscribe@zsh.org  zsh-announce-unsubscribe@zsh.org
    +zsh-users-subscribe@zsh.org     zsh-users-unsubscribe@zsh.org
    +zsh-workers-subscribe@zsh.org   zsh-workers-unsubscribe@zsh.org
    +
    +The body of the message is ignored.
    +
    +Help is available by sending a mail with the subject "HELP" to
    +    sympa@zsh.org
    +
    +These mailing lists are nested, and you should only
    +be subscribed to one of the three.
    +
    +People on zsh-workers receive all the lists, and
    +people on zsh-users will also receive the announcements.
    +
    +
    +
    +

    + + + + diff --git a/sac/pages/www1-robertalessi-net-86 b/sac/pages/www1-robertalessi-net-86 new file mode 100644 index 0000000..8e42764 --- /dev/null +++ b/sac/pages/www1-robertalessi-net-86 @@ -0,0 +1,362 @@ + + + + + + + + + robertalessi.net + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + +
    + + +
    +
    +
    +
    + +
    + + + + diff --git a/sac/pages/yunohost-org-- b/sac/pages/yunohost-org-- new file mode 100644 index 0000000..fd07a58 --- /dev/null +++ b/sac/pages/yunohost-org-- @@ -0,0 +1,280 @@ + + + +YunoHost • index + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    + + + +
    +

    + Haters gonna host + I host myself, Yo! + Go host yourself! + Get off of my cloud + Host me I’m famous + Try Internet + How I met your server + john@doe.org + dude, Y U NO Host?! + Keep calm and host yourself + Be the cloud you want to see in the world +

    + +
    + + + +
    + + + +
    + +

    With YunoHost, you can easily manage a server for your friends, association or enterprise. Learn more

    + +
    + +
    + + + +
    +
    +

    Setup your server with ease, you already have everything at home

    +


    See the requirements

    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    +

    Manage your server from a clean and simple web interface

    +


    Try the administration

    +
    +
    + +
    + +
    +
    +

    Install applications to build your little corner of Internet

    +


    Browse the app catalog

    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +

    Hey! We are humans!
    + If you have questions, issues or if you are just an enthusiast, come and leave a message on our forum or chatroom!

    + + +
    +
    + +
    + +
    +
    +

    They support us <3
    + We are thankful for our sponsors
    providing us with infrastructure and grants!
    +

    +

    + + + +

    +

    + + + + +

    +
    +
    + +
    + + +
    +
    + +
    + Some features and pages on this website requires Javascript to be enabled.

    + @YunoHost on + • Mastodon + • Twitter + • Documentation + • Datalove +
    + + + + + + + + + + diff --git a/script.js b/script.js index cb9008d..0dd806f 100644 --- a/script.js +++ b/script.js @@ -1,59 +1,19 @@ -//document.addEventListener("keydown", function(event) { -// var keyPressed = event.key.toLowerCase(); -// -// if (keyPressed === 'p') { -// const val = Math.round(Math.random()*255) -// document.querySelector('body').style.background = `rgba(${val},${val /2},${val})` -// console.log("The 'P' key was pressed"); -// } -//}); - -// Barre de recherche -$(document).ready(function () { - $('li').addClass('active') - $('textarea').on('input', function () { - var userInput = $(this).val().toLowerCase(); - - $('li').each(function () { - var listItemText = $(this).text().toLowerCase(); - if (listItemText.includes(userInput)) { - $(this).addClass('active'); - } else { - $(this).removeClass('active'); - } - }); - - }); -}); - -// On convertit les dates au format AA-MM-JJ -function formatDateFromEpoch(epochTime) { - const date = new Date(epochTime * 1000); - - const YY = date.getFullYear().toString() - const MM = ('0' + (date.getMonth() + 1)).slice(-2) - const DD = ('0' + date.getDate()).slice(-2) - - if(epochTime == ''){ - - return `N/A`; - } - - return `${YY}/${MM}/${DD}`; +const textarea = document.querySelector('textarea') + +function updateValue(e) { + let val = textarea.value.toLowerCase() + document.querySelectorAll('.signets tr').forEach((e) => { + let listItemText = e.innerHTML.toLowerCase(); + listItemText.includes(val) ? + e.classList.remove('hidden') : e.classList.add('hidden') + }) } -const dates = document.querySelectorAll('h4') -dates.forEach((date) => { - date.innerHTML= formatDateFromEpoch(date.innerHTML) -}) - -// On cache les descriptions si elles sont vides -$('h2').each(function() { - $(this).html() == '' ? $(this).hide() : $(this).show() +document.addEventListener("DOMContentLoaded", function(event) { + textarea.addEventListener("input", updateValue); }) -// On colore les entrées qui ont un attribut 'color' -$('[color]').each(function() { - $(this).css('background', `linear-gradient(var(--background), ${$(this).attr('color')} `) +document.querySelectorAll('[color]').forEach((e) => { + e.style.background = `linear-gradient(var(--background), ${e.getAttribute('color')} ` }) diff --git a/signet.sh b/signet.sh index c5ec58e..9564c53 100755 --- a/signet.sh +++ b/signet.sh @@ -31,7 +31,7 @@ while [ "$#" -gt 0 ]; do if [ -f "$1" ]; then break else - echo "The file you provided doesn't seam to exist : $1" + echo "The file provided doesn't seam to exist : $1" exit 1 fi ;; @@ -40,77 +40,105 @@ while [ "$#" -gt 0 ]; do done # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- -# I thought about using recutils db from GNU but went back to plain text -# DB=BOOKMARKS.rec -DB=$1 +blanklineRecords_to_html() +{ +awk -v RS= ' +{ + if ($0 != "") { + id="" + URL="" + DESC="" + TAGS="" + DATE="" + color="" + + split($0, lines, "\n") + for (i in lines) { + if(lines[i] ~ /^[0-9]+$/ ) { + id=lines[i] + } + split(lines[i], parts, ": ") + field = parts[1] + value = parts[2] -cat <<- EOF + if(field ~ /^Color/ ) {color=value} + if(field ~ /^URL/ ) { + URL=value + } + if(field ~ /^Name/ ) {NAME=value} + if(field ~ /^Description/ ) {DESC=value} + if(field ~ /^Tags/ ) {TAGS=value} + if(field ~ /^Date/ ) {DATE=value} + + } + + if(color != ""){ + printf "", color + } + else{ + printf "%s", "" + } + printf "%d", id + + printf "%s\n", URL, NAME + if(DESC != "") {printf "

    %s

    \n", DESC} + printf "" + printf "

    %s

    \n", TAGS + if(DATE != "") {printf "%s\n", DATE} + + print "" + } +} ' +} +DB=$1 +cat <<- EOF ⛵ → $(date "+%g-%m-%d, %H:%M") - - + + -
    - +

    liens épinglés

    + + $( +cat $DB |\ +awk -v RS= '/PIN/ {print $0 "\n"}' | blanklineRecords_to_html +) + +
    +
    + +
    +
    + tags -
      -$( -awk -v RS= '!/Tags: .*hide/ {print $0 "\n"}' $DB |\ -awk -v RS= ' -{ - if ($0 != "") { - split($0, lines, "\n") - color = "" - for (i in lines) { - split(lines[i], parts, ": ") - field = parts[1] - value = parts[2] - if (field == "Color") { - color = value - } - vals[i] = value - } - URL=vals[1] - NAME=vals[2] - DESC=vals[3] - TAGS=vals[4] - DATE=vals[5] - - print "
    1. " - print "" +
    +
    - if (color != "") { - print "
    " - } - else { - print "
    " - } - - print "

    " DATE "

    " \ - "

    " NAME "

    " \ - "
    " URL "
    " \ - "

    " DESC "

    " \ - "

    " TAGS "

    " - - print "
    " - print "
    " - print "
  • " - } -} ' + + + + + + +$( +#grep "jpg$" $DB +cat $DB |\ +blanklineRecords_to_html ) - +
    #Title, URL, descriptiontagsy/m/d +
    diff --git a/style.css b/style.css index 29858a2..39d272f 100644 --- a/style.css +++ b/style.css @@ -1,24 +1,15 @@ -/* h1 → Name - * h2 → Description - * h3 → Tags - * h4 → Date - * h5 → Url - */ -:root { - --font-size:22px; - --font-size-s:calc(var(--font-size) / 1.5); - --line-height:24px; - --date-width:10ch; - --gutter:0px; - --padding:2px; +:root{ + --font-size:12px; + --line-height:16px; + --gap:2px; + --height:calc(var(--line-height) + var(--gap) * 2); --height:auto; - --color:black; - --selection:purple; - --background:#FFF; - --background-2:#FEFEFE; - --background-bottom:black; + --width-number:2em; + --background:#FEFEFE; + --link:purple; + --text:black; + --selection:lightyellow } -/* https://github.com/psb1558/Junicode-font/releases */ @font-face { font-family: Junicode; src: url("Junicode-CondLight.otf") format("opentype"); @@ -32,158 +23,53 @@ font-family: Junicode, serif; font-variant-numeric: lining-nums; } -h1,h2,h3,h4,h5,p, a { - text-wrap:wrap; - word-break: break-word; - line-height:var(--line-height); - padding:0; - margin:0; - font-weight:normal; - font-size:var(--font-size); -} -h1,h2,h3,h5 { - display:inline; -} -nav, section, textarea { - padding: var(--padding) 0; -} -a{ - width:100%; - display:block; - color:var(--color); - text-decoration:none; - margin:auto; +textarea {width:100%;padding:0;margin:0; + border:1px dotted black; + height:var(--height) } -h5 { -text-decoration:underline } -li:hover a { -color:var(--selection)} +.PIN date, .PIN .tags, .PIN .id {display:none} +tr a{color:var(--text); text-decoration:none} +tr a::after{ + margin-left:5px; content:attr(href); color:var(--link); + text-decoration:underline} -textarea{ - position:fixed; - top:0; - left:5px; - z-index:10; - width:calc(100vw - 10px); - font-size:var(--font-size); - height:calc(var(--line-height) + var(--padding)); -} -ol { - margin:0; - display:flex; - gap:var(--gutter); - flex-direction:column-reverse; +li:hover a::after{display:block} -} -body { +tbody tr:hover {background:var(--selection)} +td {line-height:var(--line-height); + height:var(--height); + border-bottom: 1px solid black; + padding: var(--gap) 5px; + word-break:break-word; } -footer { - height:100vh; - margin-top:50vh; - background:linear-gradient( var(--background), var(--background-bottom)); - width:calc(100% + 20px - 2px); - margin-left:-10px; - margin-bottom:-10px; - overflow:hidden; -} -li { - font-size:var(--font-size); - color:rgba(0,0,0,0); - height:0; - overflow:hidden -} -li * {opacity:0} -.active:nth-of-type(2n){ - background:var(--background-2); +table { + border-collapse:collapse; + border: 1px dotted black; } -li,textarea, nav { - - box-sizing:border-box; - border:none; -} -.active * {opacity:1} -.active { +hr{ border:none; border-bottom: 1px solid black; - height:var(--height); - display:list-item; - color:var(--color); - overflow:visible; -} -h1,h2,a { -} -h3{ - opacity:.5 -} -section{ - padding-right:var(--date-width); - height:calc(var(--font-size) + 2px) ; - overflow:hidden; } -section:hover{ -height:auto -} -section:hover h1, h2, h3, h5{ - display:inline -} -h1 {order: 0; - -} -h2 { -font-style:italic} -h5,h2,h3,h4 { - order:3 -} - - h3::before, h2::before, h1::after{content:'\00a0·\00a0';} - -h4 { - width:var(--date-width); - width:fit-content; - text-align: right; +button::after { + content:" "attr(count); position:absolute; - right:10px; + transform:translate(1px, -5px) } -html{background:white} -nav p {display:inline; -} -nav p:not(:first-of-type)::before{ - content:'· ' -} -nav p::after{ - font-size:var(--font-size-s); - display:inline-block; - transform:translateY(-7px); - content:'\00a0(' attr(count) ')' -} -nav { - border-top: 1px solid black; - border-bottom: 1px solid black; - margin-top:calc(var(--line-height) + 1px + var(--padding)); - height:calc(var(--line-height) + var(--padding) * 2); - overflow:hidden; -} -nav:hover {height:auto} -#cc { - display:absolute; - position:fixed; - top:0; - left:0; - z-index:10; - height:100vh; - width:100vw; - pointer-events:none; - background:linear-gradient(0deg, yellow, ivory); - mix-blend-mode:multiply; +button{background:transparent;border:none} - /* A color correction pass, enable it by removing this line ↓ */ - display:none -} +p{margin:0;display:inline} +.desc {opacity:.5} + +td:last-of-type {text-align:center;min-width:8ch} +td:first-of-type {text-align:center;width:4ch} +td:nth-of-type(3) {text-align:center} +.hidden{display:none} +tr,table {min-width:100%} diff --git a/upload.sh b/upload.sh index fa8bb53..abe3bad 100755 --- a/upload.sh +++ b/upload.sh @@ -1,5 +1,4 @@ #!/bin/bash # send the generated index.html over ftp -curl -T index.html -u USER:PASSWORD ftp://ftp.SERVER/subpath/in/your/site/ -v - +curl -T index.html -u martinlenm:HFumHFDJFpUm ftp://ftp.cluster021.hosting.ovh.net/www/bm/ -v