User:ComputerUserUser/sandbox: Difference between revisions

Content deleted Content added
No edit summary
Copy and translate from https://fr.wikipedia.org/w/index.php?title=GNU_Libidn&oldid=209696660
Line 1:
{{ébauche|logiciels libres}}
PARCTab
{{Infobox Logiciel
| couleur boîte = <!-- pour adapter la couleur de la boîte au logo -->
| nom = GNU Libidn
| logo = Official gnu.svg
| image =
| légende =
| développeur = Simon Josefsson, [[projet GNU]]
| date de première version =
| dernière version = <!-- Utilisation du modèle « Modèle:Dernière version stable/GNU Libidn » -->
| date de dernière version = <!-- idem -->
| version avancée =
| date de version avancée =
| langage de programmation = [[C (langage)|C]]
| environnement = [[GNU/Linux]], [[FreeBSD]], [[NetBSD]], [[OpenBSD]], [[GNU]], [[Unix]], [[Solaris (système d'exploitation)|Solaris]], [[IRIX]], [[AIX]], [[Tru64 UNIX|Tru64]], [[Microsoft Windows|MS Windows]]
| langues =
| type = [[Bibliothèque logicielle]]
| licence = [[GNU LGPL]]
| site web = {{URL|https://www.gnu.org/software/libidn/}}
}}
'''GNU Libidn''' is a [[software library]] designed for the encoding and decoding of internationalized ___domain names according to the [[Stringprep]], [[Punycode]], and [[Internationalized ___domain name|IDNA]] specifications. It is developed and maintained by ''Simon Josefsson'' as part of the [[GNU Project]]. The library is written in [[C (programming language)|C]], and a portion of the [[Application programming interface|API]] is also accessible in [[C++]], [[Emacs Lisp]], [[Python (programming language)|Python]], and [[Java (programming language)|Java]]. Implementations in [[Java (programming language)|Java]] and [[C sharp|C#]] are provided natively and distributed under the terms of the [[GNU Lesser General Public License]].
 
== History ==
[[File:PARC Tab.png|thumb|PARC Tab]]
The library was originally named ''Libstringprep''<ref>{{en}} [http://www.ops.ietf.org/lists/idn/idn.2002/msg01944.html A version of Libstringprep] distributed by Simon Josefsson on November 6, 2002.</ref> before becoming a GNU project.
 
== Technical Features ==
The PARCTab is an experimental mobile computer designed by [[Xerox]]. Xerox developed the PARCTab as an early experiment in [[Ubiquitous Computing]], also called "UbiComp".<ref>{{Cite web |title=Detail |url=https://www.microsoft.com/buxtoncollection/detail.aspx?id=51 |access-date=2023-12-17 |website=www.microsoft.com}}</ref> The PARCTab was similar in shape, size, and appearance to a [[PDA]].
The library contains a generic implementation of [[Stringprep]]. Profiles such as {{Link|fr= Nameprep|lang=en|trad=Nameprep|text=Nameprep}}, [[iSCSI]], [[Extensible Messaging and Presence Protocol|XMPP]], and [[Kerberos (protocol)|Kerberos version 5]] are also included. [[Punycode]] and ACE (''ASCII Compatible Encoding'') in the context of an [[internationalized ___domain name]] are supported. A mechanism for defining validation tables for a [[top-level ___domain]] (''TLD'') and comparing [[character string|character strings]] from these tables is included. Default tables for certain TLDs are even included.
 
=== Stringprep ===
The PARCTab offered different functionality depending on where the user was using it. It had infrared transmitters and sensors to communicate with 'gateway nodes' that were installed in a given room or area.<ref name=computerhistory>{{Cite web |title=Xerox PARCTab Prototype - PDA - Computing History |url=https://www.computinghistory.org.uk/det/36785/Xerox-PARCTab-Prototype/ |access-date=2023-12-17 |website=www.computinghistory.org.uk}}</ref>
The [[Application programming interface|API]] for Stringprep consists of two [[Routine (computing)|functions]], "''[[Main (disambiguation)|main]]''", the first for converting data from the native representation of a system to [[UTF-8]], and the second for Stringprep processing. This simplifies the use of a Stringprep profile in an [[Application software|application]].
 
=== Punycode ===
The PARCTab had a touch screen and a stylus. It also had handwriting recognition.
The Punycode API consists of two functions, one for encoding, and the other for decoding.
 
=== IDNA ===
The PARCTab was developed around the same time as the [[Apple Newton]].<ref>{{Cite web |title=History of HCI |url=https://rauterberg.employee.id.tue.nl/presentations/HCI-history/ |access-date=2023-12-17 |website=rauterberg.employee.id.tue.nl}}</ref>
The IDNA API consists of two encoding functions, the first towards [[American Standard Code for Information Interchange|ASCII]]<ref>''ToASCII'' function.</ref>, the second towards [[Unicode]]<ref>''ToUnicode'' function.</ref>, as well as a high-level [[Interface (computing)|interface]] for the conversion between [[___domain name|___domain names]] and their ACE (''ASCII Compatible Encoding'') representation.
 
=== TLD ===
Xerox also designed a device called the PARCPad, which was like the PARCTab, but larger.
The TLD '''API''' includes several functions to extract [[top-level ___domain]] names from a ___domain represented in character strings, others to locate the appropriate TLD table for use in the relevant top-level ___domain, others to validate a character string on a TLD table, and several [[adapter (programming)|adapter]] functions to perform all these steps in a single call.
 
== Usage by the GNU Project ==
[[Roy Want]] was one of the team members on Xerox's PARC program around the time.
GNU Libidn is used by [[GNU SASL]] and [[GNU Shishi]] to process usernames and passwords.
 
== See Also ==
[[Stringprep]]
[[Internationalized ___domain name|IDNA]]
[[Punycode]]
 
== Notes and References ==
{{references}}
 
== External Links ==
[http://savannah.gnu.org/git/?group=libidn Git Repository] on [[GNU Savannah]] software [[forge]].
{{GNU Palette}}
{{Portal|free software|computer programming|Semantic Web}}
 
{{DEFAULTSORT:Libidn, Gnu}}
[[Category:Software of the GNU Project]]
[[Category:Software libraries]]
[[Category:Free software licensed under the LGPL]]
 
== References ==