Utilisateur:Meteniermyriam/Brouillon

Une page de Wikipédia, l'encyclopédie libre.

Défintition[modifier | modifier le code]

Retour ACCUEIL #REDIRECTION Utilisateur:Meteniermyriam

resUrgences[modifier | modifier le code]

Dictionnaire acronyme médical & resUrgences

Type circuit court = long passage aux urgences ou court
Annonces = Samu antérieur arrivé
ResEDI - -> Gère Pilotage Interface
ECC --> Ecran de contrôle central
Structure Nomenclature = Paramétrage
CIO = CIO file réferentiel de médicament
Orulor = orulorepidemio
INVS_epidemio = national épidemio
Type livret --> Livret de l’établissement --> Armoire pharmacie
CodeUCD --> UCD7 ou UCD13 identifiant unique du médicament
Applet  Liens contextuel
Hebergeur Gandi --> domaine resurgence.com (Jira, wiki, jenkins (outils paquet déploiement), webdav, ftp, demo resurgences)

Cerveau contient épidemio , UHCD
Cr compte rendu (RU)
Cron relève toute les interfaces de resUrgences

Export /Import via direct action et csv (tous les fichiers .in.xsl et .out.xsl)

Hl7 ->journal de mouvements (permet de voir le dossier envoye)
Evenement (action sur le mouvment) / Mouvement (orientation)

Informatique de développement[modifier | modifier le code]

Les sigles et jargons techniques[modifier | modifier le code]

Les sigles et jargons techniques auxquels je fais références dans tous mes travaux ou que j'utilise sont détaillés ici :

Catégorie Sigles Définitions Explications
Licences ---------------------------------

GPL / GNU

------------------------------------

General Public License

GNU'’s Not Unix

(Licence Publique Générale de GNU n'est pas Unix)

C'est une licence qui fixe les conditions légales de distributions d'un logiciel libre du projet GNU. Richard Stallman (créateur d'Internet, d'UNIX et cocréateur du noyau Linux, président (CEO) et fondateur de la FSF (Free Software Foundation)) en est l'auteur. Sa dernière version est la « GNU GPL Version 3 » publiée le 29 juin 2007 avec le concours juridique d'Eben Moglen. Cette licence a depuis été adoptée, en tant que document définissants les modes d'utilisations (donc des usages et des diffusions), par de nombreux auteurs de logiciels libres, en dehors des projets GNU.
BSD Berkeley Software

Distribution License

C'est une licence libre, utilisée pour la distribution de logiciels. Elle permet de réutiliser tout ou une partie du logiciel, sans restrictions, qu'il soit intégré dans un logiciel libre ou propriétaire. La version originale de la licence BSD incluait une clause de publicité, particulièrement contraignante, qui obligeait la mention du copyright dans toute publicité ou document fourni avec le logiciel, ce qui pouvait provoquer quelques problèmes en cas d'utilisations d'un grand nombre de composants sous cette licence. La nouvelle version de cette licence ne contient plus cette clause de publicité, cette dernière ayant été retirée en 1999. Le texte de la licence (en anglais) est dans le domaine publique et peut être modifié sans restrictions. Pour correspondre à des besoins particuliers d'une organisation ou d'une personne, les termes originaux de « Regents of the University of California », « University of California, Berkeley » et « Regents » peuvent être remplacés.
CDDL Common Development and Distribution License C'est une licence Open Source (créée par Sun Microsystems), établie à partir de la Mozilla Public License (MPL), version 1.1. Elle est notamment destinée au projet Open Solaris. Tout comme la MPL dont elle est une dérivée, cette licence n'est pas compatible avec la GNU GPL. La Free Software Foundation affirme que c'est une licence libre et que son incompatibilité avec la GNU GPL est principalement due à quelques détails. Elle déconseille son usage.
Logiciels Libres Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification et la duplication par autrui en vue de sa diffusion sont permises, techniquement et légalement, ceci afin de garantir certaines libertés induites, dont le contrôle du programme par l'utilisateur et la possibilité de partage entre individus. Ces droits peuvent être simplement disponibles (cas du domaine public) ou bien établis par une licence, dite « libre », basée sur le droit d'auteur. Les « licences copyleft » garantissent le maintien de ces droits aux utilisateurs même pour les travaux dérivés. Les logiciels libres constituent une alternative à ceux qui ne le sont pas, qualifiés de « propriétaires » ou de « privateurs ». Ces derniers sont alors considérés par une partie de la communauté du logiciel libre comme étant l'instrument d'un pouvoir injuste, en permettant au développeur de contrôler l'utilisateur. Le logiciel libre est souvent confondu, à tort, avec les gratuiciels (freewares). Un gratuiciel est un logiciel gratuit propriétaire, alors qu'un logiciel libre se définit par les libertés accordées à l'utilisateur. Si la nature du logiciel libre facilite et encourage son partage, ce qui tend à le rendre gratuit, elle ne s'oppose pas pour autant à sa rentabilité principalement via des services associés. Les rémunérations sont liées par exemple aux travaux de création, de développement, de mise à disposition et de soutien technique. D'un autre côté les logiciels gratuits ne sont pas nécessairement libres, car leur code source n'est pas systématiquement accessible, et leur licence peut ne pas correspondre à la définition du logiciel libre. l’open source : le logiciel libre, selon son initiateur, est un mouvement social qui repose sur les principes de Liberté, Égalité, Fraternité. L’open source quant à lui, décrit pour la première fois dans La Cathédrale et le Bazar, s'attache aux avantages d'une méthode de développement au travers de la réutilisation du code source.
Open Source Code Source Ouvert La désignation Open Source, s'applique aux logiciels (et s'étend maintenant aux œuvres de l'esprit) dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire les possibilités de libres redistributions, d'accès au codes sources et de créations de travaux dérivés. Mis à la disposition du grand public, ces codes sources sont généralement le résultat d'une collaboration entre programmeurs. Le mouvement Open Source s'est constitué en 1998 (sous l'impulsion d'Eric Raymond) et s'est développé en oppositions au mouvements des logiciels libres qui prônent des valeurs philosophiques et politiques de justice, tandis que l'Open Source se focalise sur des considérations techniques de développements logiciels et ne voit pas de problèmes aux utilisations de systèmes intégrés combinant logiciels propriétaires et logiciels Open Source. Toutefois, dans la pratique, la très grande majorité des logiciels Open Source sont également libres. L'exception la plus notable étant les logiciels pratiquant la tivoisation. L’Open Source a déjà investi tous les grands domaines des systèmes d’informations des administrations françaises (environnements serveurs, domaines applicatifs, outils d’ingénieries, solutions de réseaux et sécurités). Les solutions Open Source sont désormais aux mêmes rangs que les solutions propriétaires dans le paysage des logiciels du secteur public. Les décideurs effectuent d’ailleurs de plus en plus leurs choix à partir d’un jugement éclairé, en comparant systématiquement solutions propriétaires et solutions libres. Les ordinateurs des années 1960 étaient livrés avec des logiciels accompagnés de leurs sources que les clients pouvaient modifier et étendre. Il aurait, en effet, été impossible de vendre un ordinateur sans son logiciel d'accompagnement mais la plupart des clients estimaient trop aléatoire de faire fonctionner un logiciel dont ils ne pouvaient vérifier les caractéristiques internes. Les acquéreurs de logiciel obtenaient donc, sur simple demande, les sources des logiciels (y compris les OS) et pouvaient les modifier à leur convenance. L'expression Open Source est apparue en 19983. La désignation a été suggérée par Christine Peterson (du Foresight Institute), afin de lever l'ambiguïté de l'expression anglaise free software (logiciels libres). En effet, « free » possède deux significations : « libre » au sens de « liberté » et « gratuit ». Cette nouvelle désignation permet de rappeler aux utilisateurs qu'un logiciel a un coût. Il s'agit également de choisir un vocabulaire correspondant mieux au monde des affaires. Le terme « free » (gratuit) de free software risquant d'inquiéter les entreprises. L'introduction de la désignation Open Source n'a pas atteint le but escompté. En effet, « open » signifiant « ouvert », un certain nombre de personnes utilisent le terme pour désigner des logiciels propriétaires dont le code est consultable sous conditions. C'était le cas notamment du New York Times en 2009. Eric Raymond avait d'abord essayé de déposer le terme Open Source. Sa tentative ayant échouée, il créa (avec Bruce Perens) l'Open Source Initiative, qui délivre le label OSI Approved aux licences qui satisfont aux critères définis dans l'Open Source Definition, une adaptation des Free Software Guidelines, du projet Debian. L'expression Open Source s'est largement imposée dans le monde professionnel, mais également dans le milieu universitaire. Depuis ses débuts, le champ de l'Open Source s'est profondément modifié, ce qui a conduit certains auteurs à lever des ambiguïtés et même à corriger des idées reçues à propos de ce phénomène. Ainsi, certains logiciels Open Source ont atteint un niveau de qualité suffisant pour être intégrés dans des systèmes hautement sensibles, destinés aux industries de Défense ou à l'aéronautique. L'expression « FLOSS » (Free Libre Open Source Software) tente, quant à elle, de faire la synthèse des différents mouvements et ainsi de dépasser les querelles terminologiques. La différence formelle entre Open Source et logiciel libre n'a quasiment pas de conséquences dans les évaluations des licences. On a pu, un temps, citer un contre-exemple célèbre avec le projet Darwin d'Apple, qui était Open Source, selon l'OSI, mais pas libre au sens de la Free Software Foundation. Depuis la version 2.0 de l'APSL, la licence sous laquelle il est distribué, ce n'est plus le cas. Les désignations logiciel libre et Open Source sont en réalité deux désignations concurrentes pour un même type de licence de logiciel. En utilisant la désignation logiciel libre, on tient à mettre en avant la finalité philosophique et politique de la licence, tandis que la désignation Open Source met l'accent sur les méthodes de développements et des diffusions des logiciels. D'un point de vue économique, la marque Open Source contribuait à la création d'une nouvelle forme de marché et d'économie. Il s'agissait de fournir une approche plus pragmatique des avantages du logiciel libre, en mettant de côté les connotations politiques et philosophiques, afin de n'en conserver que les avantages, sur le plan de l'ingénierie. Le développement de ce marché est porté par les entreprises traditionnelles de l'informatique (SSII), mais également par des sociétés de services spécialisées, les SSLL (Sociétés de Services en Logiciels Libres).
FreeType C'est une bibliothèque logicielle, qui met en œuvre un moteur de rendu de police de caractères. Elle est écrite en langage C et principalement utilisée pour obtenir un rendu bitmap des polices vectorielles, mais fournit également un ensemble d'outils pour un certain nombre d'autres opérations liées aux polices. FreeType est un projet libre, disponible sous la licence GNU GPL ou bien une licence proche de la licence BSD. Il est comparable à la technologie ClearType, incluse dans Windows XP, servant à lisser les polices pour une meilleure lecture. FreeType 2 gère tout un ensemble de formats de police dont TrueType, Type 1, et OpenType. La version 2.4.0 (sortie le 12 juillet 2010), utilise par défaut des algorithmes d'optimisations de hinting qui étaient jusque-là couverts par des brevets logiciels lesquels ont expiré en mai 2010.
OS Windows C'est, au départ, une interface graphique unifiée produite par Microsoft, qui est devenue ensuite une gamme d'OS à part entière, principalement destinés aux ordinateurs compatibles PC. DOS, que ce soit dans sa version IBM PC-DOS ou dans les versions pour clones MS-DOS, ne comportait pas d'interface graphique. Il était possible, avec une grande facilité, de créer des graphiques sous le langage BASICA (GW-BASIC pour les clones) livré avec le système, mais les commandes devaient être mémorisées par l'utilisateur et tapées à la main, ce qui rendait le système pénible d'emploi. Par ailleurs, chaque couple application / périphérique exigeait son pilote générique, ce qui rendait la gestion de ces pilotes compliquée et constituait un frein à l'évolution des configurations. Inspirées d'interfaces comme l'Alto de Xerox, puis du Lisa et du Macintosh d'Apple, les premières versions de Windows, en 16 bits, s'appuyaient sur l'OS existant : MS-DOS. Celui-ci ayant été conçu monotâche, on y lançait Windows comme un simple programme, qui incorporait dès lors quelques-unes de ses fonctions (comme le tracking de la souris au système). La limitation intrinsèque propre au monotâche, ainsi que le côté marginal de Windows 1 (dont les fenêtres ne faisaient que partager l'écran sans superpositions) n'inquiétèrent pas alors le rival Apple, plus préoccupé de la stratégie d'IBM. IBM ne pensait pas l'usage du mode graphique viable avec la limitation à 640 K du DOS ni la faible résolution des écrans de l'époque et s'orienta vers un multi-fenêtrage en mode texte, Topview, très réactif, mais gardant l'inconfort du DOS. La version 2 de Windows positionna le logiciel de Microsoft comme un concurrent sérieux du MacIntosh et déclencha de la part d'Apple un procès pour contrefaçon. Mais Apple le perdit (en appel) à cause du précédent de l'Alto (contre Digital Research). La firme à la Pomme continua tout de même de menacer Microsoft, ce qui aboutit en 1997 à un règlement à l'amiable : Microsoft produirait Office et Internet Explorer pour Mac OS et prendrait une part des actions Apple à hauteur de 6% Windows 3 intégra trois versions livrées simultanément : une en mode 8086 (16 bits simples), une seconde en mode 80286 (16 bits avec adressage étendu) et une troisième en mode 80386 (adressage 32 bits). L'appel de la commande win depuis le DOS effectuait quelques tests système et lançait automatiquement la version jugée la plus appropriée, sauf demande expresse de l'utilisateur au moyen de paramètres. La version du DOS était elle aussi testée, afin de substituer autant de fonctions Windows que possible à celle du DOS, qui ne servait plus guère que de lanceur et d'implanter les vecteurs d'appel aux bons endroits (un effet collatéral fut une série de messages d'avertissement si on lançait Windows depuis un OS concurrent comme DR-DOS). Son usage d'Adobe Type Manager rendait déjà la qualité d'affichage bien meilleure. La version 3.1 poussa cette qualité un peu plus loin en remplaçant Adobe Type Manager par TrueType. Une version 3.11 (Windows for Workgroups) intégra même de façon native l'usage du réseau local. Ces versions avaient peu à peu fini par intégrer un noyau, un shell propre similaire au DOS et des utilitaires de gestion du DOS, en plus de l'interface graphique qui donna son nom au système d'exploitation. Elles furent donc considérées comme les successeurs de MS-DOS, avec le confort que chaque périphérique comme chaque application n'avait besoin dès lors que du driver Windows, ce qui simplifiait considérablement la gestion de ceux-ci. Avec Windows 95, l'OS (Operating System), épaulé par une importante campagne de publicité grand public, rencontre un grand succès, dû en partie au fait que son éditeur a passé de très nombreux accords d'exclusivité avec les constructeurs d'ordinateurs leur interdisant d'installer un autre système sous peine de sanctions financières. Il est vendu préinstallé sur la quasi-totalité des ordinateurs personnels. Windows NT commencé en 1993, permet à Microsoft d'assoir Windows dans les entreprises, suivi par Windows 2000. Windows XP (mars 2002) marque un tournant : la fusion des systèmes grand public (Windows 98 / Me) et professionnels (Windows NT, 2000). L'adoption de celui-ci est progressive mais sa durée de vie en fera un système toujours répandu 10 ans après sa sortie. Il met aussi en évidence les lacunes de sécurité du noyau utilisé et Microsoft est obligé de revoir intégralement le code de Windows en 2003. Windows Vista se veut novateur mais souffrira de gros défauts (lenteurs, stabilité) qui ne le rendront très impopulaire, malgré un Service Pack 1 qui en résoudra la plupart, passé malheureusement inaperçu. Windows 7, qui est en quelque sorte une version entièrement achevée et optimisée de Windows Vista, connaît un grand taux d'adoption : son interface et sa sécurisation figurent parmi ses atouts. Il est le système encore le plus plébiscité de tous les Windows. Windows 8 est une nouvelle rupture pour Microsoft : plus ou moins un nouveau noyau, nouveau type d'applications téléchargeables depuis un Store, optimisation de la consommation mémoire et processeur le rendant utilisable sur des configurations plus légères. Malheureusement son interface trop pensée pour le tactile rebutera un grand nombre d'utilisateurs, notamment par l'absence du « menu démarrer » historique qui les oblige à utiliser des logiciels tiers en remplacement. Windows 10 marque un nouveau tournant : code partagé avec les téléphones, interface revenant à un menu démarrer sur les PC traditionnels, promotion des applications « universelles » (fonctionnant sur PC et smartphones à condition de posséder un matériel compatible). Cette version est aussi une grande nouveauté en termes de gestion de mises à jour : elles sont permanentes et obligatoires (afin de renforcer la sécurité), et une nouvelle version de Windows doit sortir environ tous les six mois. Un nouveau navigateur remplace Internet Explorer : Microsoft Edge. Le seul bémol étant l'excès de surveillance des utilisateurs par le biais de programmes de diagnostics, de sauvegarde des historiques internet pour la prédiction de pages ou des données d'utilisation, qui rebutent encore beaucoup d'utilisateurs.
Unix C'est un système d'exploitation multitâche et multi-utilisateur créé en 1969 par Kenneth Thompson. Il repose sur un interpréteur ou superviseur (le shell) et de nombreux petits utilitaires, accomplissant chacun une action spécifique, commutables entre eux (mécanisme de « redirection ») et appelés depuis la ligne de commande. Particulièrement répandu dans les milieux universitaires au début des années 19802, il a été utilisé par beaucoup de start-ups fondées par des jeunes entrepreneurs à cette époque et a donné naissance à une famille de systèmes, dont les plus populaires à ce jour sont les variantes de BSD (notamment FreeBSD, NetBSD et OpenBSD), GNU / Linux, iOS et Mac OS. D'une manière générale, la quasi-totalité des systèmes PC ou mobile les plus courants (à l'exception des Windows NT) sont basés sur le noyau de Unix, y compris ceux commercialisés par Apple. On nomme « famille Unix », « systèmes de type Unix » ou simplement « systèmes Unix » l'ensemble de ces systèmes. Il existe un ensemble de standards réunis sous les normes POSIX et Single UNIX Specification (SUS) qui visent à unifier certains aspects de leur fonctionnement. Le nom « UNIX » est une marque déposée de l'Open Group, qui autorise son utilisation pour tous les systèmes certifiés conformes à la SUS, cependant, il est courant d'appeler ainsi les systèmes de type Unix de façon générale. Il dérive de « Unics » (acronyme de « Uniplexed Information and Computing Service »), et est un jeu de mot avec « Multics », car contrairement à ce dernier qui visait à offrir simultanément plusieurs services à un ensemble d'utilisateurs, le système initial de Kenneth Thompson se voulait moins ambitieux et utilisable par une seule personne à la fois avec des outils réalisant une seule tâche.
Android C'est un OS mobile basé sur le noyau Linux et développé actuellement par Google. Lancé en juin 2007 à la suite du rachat par Google en 2005 de la startup du même nom, le système avait d'abord été conçu pour les smartphones et tablettes tactiles, puis s'est diversifié dans les objets connectés et ordinateurs comme les télévisions (Android TV), les voitures (Android Auto), les ordinateurs (Android-x86) et les objets connectés comme la smartwatch (Android Wear). En 2015, Android est l'OS mobile le plus utilisé dans le monde avec plus de 80 % de parts de marché des smartphones, devant l'iOS d’Apple. Dans le Guide du développeur, Android est défini comme étant une pile de logiciels, c'est-à-dire un ensemble de logiciels destinés à fournir une solution clé en main pour les appareils mobiles (smartphones et tablettes tactiles). Cette pile comporte un OS (comprenant un noyau Linux), des applications clés telles que le navigateur web, le téléphone et le carnet d'adresses ainsi que des logiciels intermédiaires entre l'OS et les applications. L'ensemble est organisé en cinq couches distinctes (le noyau Linux avec les pilotes, des bibliothèques logicielles telles que WebKit/Blink, OpenGL ES, SQLite ou FreeType, un environnement d'exécution et des bibliothèques permettant d'exécuter des programmes prévus pour la plate-forme Java, un framework (kit de développement d'applications) et un lot d'applications standard (qui comprend un environnement de bureau, un carnet d'adresses, un navigateur web et un téléphone). Les services offerts par Android facilitent notamment l'exploitation des réseaux de télécommunications GSM, Bluetooth, Wi-Fi et UMTS, la manipulation de médias, notamment de la vidéo H.264, de l'audio MP3 et des images JPEG ainsi que d'autres formats, l'exploitation des senseurs tels que les capteurs de mouvements, la caméra, la boussole, le gyroscope, le récepteur GPS, l'utilisation de l'écran tactile, le stockage en BDD, le rendu d'images en 2D ET 3D en utilisant le processeur graphique, l'affichage de pageS web, l'exécution multitâche des applications et l'envoi de messages SMS et MMS. Bien que ne faisant pas partie de la pile de logiciels, l'environnement de développement (qui comporte un émulateur de téléphone et un plugin pour Eclipse), peut aussi être considéré comme une fonctionnalité d'Android. Google Play, une boutique en ligne permettant l'achat et le téléchargement (gratuit et payant) d'applications pour Android, bien qu'il ne soit pas inclus dans les sources d'Android, joue un rôle essentiel pour la popularité de cet OS. Android est distribué en Open Source sous licence Apache. La licence autorise les constructeurs (qui intègrent Android dans leurs appareils) à y apporter des modifications leur permettant de se distinguer de leurs concurrents. Il a été adopté par de nombreux constructeurs de produits concurrents de l'iPhone d'Apple. Le noyau Linux, utilisé pour les fondations d'Android, fournit les services classiques des OS (utilisations des périphériques, accès aux réseaux de télécommunications, manipulation des mémoires, des processus et contrôle d'accès). Il s'agit d'une branche du noyau Linux, modifiée en vue de son utilisation sur des appareils mobiles. Le X Window System, les outils de GNU, ainsi que certains fichiers de configurations (qui se trouvent d'ordinaire dans les distributions Linux), ne sont pas inclus dans Android. L'équipe de développement d'Android a apporté de nombreuses améliorations au noyau Linux et la décision a été prise par la communauté de développement de Linux, d'incorporer ces améliorations dans le noyau Linux 3.3. Jusqu'à sa version 4.4, Android comporte une VM nommée Dalvik, qui permet d'exécuter des programmes prévus pour la plate-forme Java. C'est une VM conçue dès le départ pour les appareils mobiles et leurs ressources réduites (peu de puissance de calculs et peu de mémoire). En effet, les appareils mobiles contemporains de 2011 ont environ la même puissance de calculs qu'un ordinateur personnel vieux de dix ans. La majorité, voire la totalité des applications sont exécutées par la VM Dalvik. Le Bytecode de Dalvik est différent de celui de la JVM d’Oracle et le processus de construction d'une application est différent (le code source de l'application, en langage Java, est tout d'abord compilé avec un compilateur standard qui produit un Bytecode pour JVM (Bytecode standard de la plateforme Java), puis ce dernier est traduit en Bytecode pour Dalvik par un programme inclus dans Android, du Bytecode qui pourra alors être exécuté). L'ensemble de la bibliothèque standard d'Android ressemble à JSE. La principale différence est que les bibliothèques d'interface graphique AWT et Swing sont remplacées par des bibliothèques spécifiques pour Android. Le développement d'applications pour Android s'effectue avec un ordinateur personnel sous Mac OS, Windows ou Linux en utilisant le JDK de la plate-forme Java et des outils pour Android. Des outils, qui permettent de manipuler le téléphone (ou la tablette), de la simuler par une VM, de créer des fichiers APK (les fichiers de paquets d'Android), de déboguer les applications et d'y ajouter une signature numérique. Ces outils sont mis à disposition sous la forme d'un plugin pour l'environnement de développement Eclipse. La bibliothèque d'Android permet la création d'interfaces graphiques selon un procédé similaire aux frameworks de quatrième génération que sont XUL, JavaFX ou Silverlight (l'interface graphique peut être construite par déclaration et peut être utilisée avec plusieurs skins, chartes graphiques). La programmation consiste à déclarer la composition de l'interface dans des fichiers XML. La description peut comporter des ressources (des textes et des pictogrammes). Ces déclarations sont ensuite transformées en objets tels que des fenêtres et des boutons, qui peuvent être manipulés par de la programmation Java. Les écrans ou les fenêtres (activités dans le jargon d'Android), sont remplis de plusieurs vues. Chacune étant une pièce d'interface graphique (bouton, liste, case à cocher ...). Android 3.0, destiné aux tablettes, introduit la notion de fragments (des panneaux contenant plusieurs éléments visuels). Une tablette ayant généralement (contrairement à un smartphone) suffisamment de place à l'écran pour plusieurs panneaux.
Apple iOS Anciennement iPhone OS, c'est l'OS mobile développé par Apple pour plusieurs de ses appareils. Il est dérivé de Mac OS, dont il partage les fondations (le noyau hybride XNU basé sur le micro-noyau Mach, les services Unix, Cocoa ... ). iOS comporte quatre couches d'abstraction, similaires à celles de Mac OS. Une couche « Core OS », une couche « Core Services », une couche « Media » et une couche « Cocoa ». L'OS occupe au maximum 3 Go de la capacité mémoire totale de l'appareil, selon l'appareil. Cet OS n'avait aucun nom officiel avant la publication du SDK iPhone, le 6 mars 2008. Jusqu'à cette date, Apple se contentait de mentionner que « l'iPhone tourne sous OS X ». Une référence ambiguë à l'OS source d'iOS, Mac OS. Ce n'est qu'à cette occasion que Scott Forstall présenta l'architecture interne de l'OS et dévoila alors le nom d'iPhone OS. Ce nom a été changé le 7 juin 2010 pour iOS. La marque commerciale « IOS » était utilisée par Cisco depuis plus de dix ans pour son propre OS, utilisé sur ses routeurs. Pour éviter toute poursuite judiciaire, Apple a acquis (auprès de Cisco) une licence d'exploitation de la marque « IOS ». Le SDK en question, disponible pour Mac OS, propose les outils nécessaires à la création d'une application pouvant tourner sous iOS. Si son téléchargement et son utilisation sont gratuits, la publication de telles applications requiert d'adhérer au programme des développeurs Apple, pour la somme de 99 $ par an. Il n'en demeure pas moins que cette offre peut s'avérer intéressante pour bon nombre de développeurs, étant donnée la taille du marché créé par iOS. En effet, Apple a annoncé (lors d'un événement musical le 9 septembre 2009), avoir vendu 50 millions d'iPhone et d'iPod touch. À titre informatif, les 40 millions d'appareils sous iOS n'avaient été dépassés que trois mois plus tôt, le 8 juin 2009. De surcroît, le portail App Store, dédié à l'exposition de toutes les applications développées pour cet OS est souvent présenté comme un modèle économique couronné de succès. Avec un catalogue de 1 500 000 applications, (qui ont fait l'objet de 100 milliards de téléchargements), l'App Store s'est imposé (en 18 mois) comme une référence parmi les kiosques d'applications mobiles. La dernière grande mise à jour, iOS 11 est présenté lors de la WWDC 2017. La version finale d'iOS 11 est sortie le 19 septembre 2017. Elle est disponible pour les iPhone depuis l'iPhone 5S, l'iPad Air et iPad Air 2, l'iPad Pro, l'iPad mini 2 et plus, l'iPad mini et l'iPod touch de sixième génération. À ce jour, deux autres OS sont basés sur iOS (watchOS pour l'Apple Watch et tvOS pour l'Apple TV).
Généraux W3C World Wide Web Consortium C'est un organisme de standardisation (à but non lucratif), fondé en octobre 1994 chargé de promouvoir la compatibilité des technologies du WWW telles que HTML5, HTML, XHTML, XML, RDF, SPARQL, CSS, XSL, PNG, SVG et SOAP. Fonctionnant comme un consortium international, il regroupe au 26 février 2013, 383 entreprises partenaires. Le leitmotiv du W3C est « Un seul Web partout et pour tous ».
WWW World Wide Web Littéralement la « toile (d’'araignée) mondiale », communément appelé le Web et parfois la Toile, est un système hypertexte public fonctionnant sur Internet. Le Web permet de consulter, avec un navigateur, des pages accessibles sur des sites. L’image de la toile d’'araignée vient des hyperliens qui lient les pages web entre elles. Le Web n'est qu'’une des applications d’'Internet. Il est distinct d'’autres applications comme le courrier électronique, la messagerie instantanée et le partage de fichiers en pair à pair. Le Web a été inventé au CERN par Tim Berners-Lee plusieurs années après Internet. C'est également lui qui a rendu les médias grand public attentifs à Internet. Depuis, le Web est fréquemment confondu avec Internet, en particulier le mot Toile est souvent utilisé dans les textes non techniques sans dévoiler clairement s'il désigne le Web ou Internet.
OS (ou SE) Operating System

Ou

Système d'Exploitation

C'est un ensemble de programmes qui dirige l'utilisation des ressources d'un ordinateur par des logiciels applicatifs. Il reçoit des demandes d'utilisation des ressources de l'ordinateur (ressources de stockage des mémoires (par exemple des accès à la mémoire vive, aux disques durs), ressources de calcul du processeur central, ressources de communication vers des périphériques (pour parfois demander des ressources de calcul au GPU par exemple ou tout autre carte d'extension) ou via le réseau) de la part des logiciels applicatifs. L'OS gère les demandes ainsi que les ressources nécessaires, évitant les interférences entre les logiciels. L'OS est un logiciel, le deuxième et le principal programme exécuté lors de la mise en marche de l'ordinateur, le premier étant le programme d'amorçage (appelé également bootloader). Il offre une suite de services généraux facilitant la création de logiciels applicatifs et sert d'intermédiaire entre ces logiciels et le matériel informatique. Un OS apporte commodité, efficacité et capacités d'évolutions, permettant d'introduire de nouvelles fonctions et du nouveau matériel sans remettre en cause les logiciels. Il existe sur le marché des dizaines de systèmes d'exploitation différents, très souvent livrés avec l'appareil informatique. C'est le cas de Windows, Mac OS, Irix, Symbian OS, GNU/Linux ou Android. Les fonctionnalités offertes diffèrent d'un systèmes à l'autre et sont typiquement en rapport avec l'exécution des programmes, l'utilisation de la mémoire centrale ou des périphériques, la manipulation des systèmes de fichiers, la communication ou la détection et la gestion d'erreurs. La définition des OS est rendue floue par le fait que les vendeurs de ces produits considèrent l'OS comme étant la totalité du contenu de leur produit, y compris les vidéos, les images et les logiciels applicatifs l'accompagnant, sans compter les modifications des constructeurs informatiques (dans les cas de licences OEM) qui compliquent la donne. En 2012, les deux familles d'OS les plus populaires sont Unix (dont macOS, GNU/Linux, iOS et Android) et Windows. Cette dernière détient un quasi-monopole sur les ordinateurs personnels avec près de 90 % de part de marché depuis 15 ans.
DataBase

(DB, Base,

BD ou BDD)

Base De Données

(ou Banque De Données)

Une BDD permet de stocker et de retrouver l'intégralité de données brutes ou d'informations en rapport avec un thème ou une activité (celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles). Dans la très grande majorité des cas, ces informations sont très structurées et la base est localisée dans un même lieu et sur un même support. Ce dernier est généralement informatisé. La BDD est au centre des dispositifs informatiques de collecte, de mise en forme, stockage et d'utilisations d'informations. Le dispositif comporte un système de SGBD. Un logiciel moteur manipule la base de données et dirige l'accès à ses contenus. De tels dispositifs comportent également des logiciels applicatifs et un ensemble de règles relatives aux accès et aux utilisations des informations. La manipulation de données est une des utilisations les plus courantes des ordinateurs. Les BDD sont, par exemple, utilisées dans les secteurs de la finance, des assurances, des écoles, de l'épidémiologie, de l'administration publique (notamment les statistiques) et des médias. Lorsque plusieurs choses appelées BDD sont constituées sous forme de collection, on parle alors d'une banque de données.
DBMS

(ou SGBDR)

DataBase Management System

(ou Système de Gestion

de Bases de Données

Relationnelles)

C'est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations. Un SGBD permet d'inscrire, de retrouver, de modifier, de trier, de transformer ou d'imprimer les informations de la base de données. Il permet d'effectuer des comptes rendus des informations enregistrées et comporte des mécanismes pour assurer la cohérence des informations, éviter des pertes d'informations dues à des pannes, assurer la confidentialité et permettre son utilisation par d'autres logiciels. Selon le modèle, le SGBD peut comporter une simple interface graphique jusqu'à des langages de programmation sophistiqués. Les systèmes de gestions de BDD sont des logiciels universels, indépendants de l'usage qui est fait des BDD. Ils sont utilisés pour de nombreuses applications informatiques, notamment les guichets automatiques bancaires, les logiciels de réservation, les bibliothèques numériques, les logiciels d'inventaire, les progiciels de gestion intégrés ou la plupart des blogs et sites web. Il existe de nombreux systèmes de gestions de BDD. En 2008, Oracle détenait près de la moitié du marché des SGBD avec MySQL et Oracle Database. Vient ensuite IBM avec près de 20 %, laissant peu de place pour les autres acteurs. Les SGBD sont souvent utilisés par d'autres logiciels ainsi que les administrateurs ou les développeurs. Ils peuvent être sous forme de composants logiciels, de serveurs, de logiciels applicatifs ou d'environnements de programmations. En 2011, la majorité des SGBD du marché manipulent des SGBDR.
SGBDRO Système de Gestion de

Base de Données

Relationnel Objet

Dans un Système de Gestion de Base de Données relationnel Objet, l'information est représentée sous forme d'objets comme dans la programmation orientée objet. Un SGBDRO rend les objets de la base de données accessibles aux langages orientés objets comme s'il s'agissait d'objets de ces langages. Il étend les capacités du langage de programmation de façon transparente au niveau de la persistance des données, du contrôle des actions concurrentes, de la récupération de données, des requêtes associatives ... Certains SGBDRO sont conçus pour fonctionner avec des langages orientés objets connus comme Java, C#, Visual Basic, .NET, C++ et Smalltalk. D'autres ont leur propre langage de programmation. La plupart des SGBDRO offrent un langage d'interrogation qui permet de retrouver les objets avec une approche déclarative. C'est dans cette partie des SGBDRO que la différence entre les produits se fait sentir. Une tentative de standardisation a été conduite par l’'Object Data Management Group (ODMG) avec le OQL (langage d'interrogation objet). L'accès aux données est généralement plus rapide car les jointures sont rarement nécessaires. En effet, on peut accéder directement aux objets par un pointeur, sans faire de recherche. La façon de définir le schéma d'une BDD est également un point de différence entre les produits. Cependant, la caractéristique générale est que le langage de programmation et le schéma de la BDD utilisent les mêmes types pour définir les données ( exemple sur PostgreSQL et Oracle Database).
CLI Call Level Interface (ou INA,

Interface de Niveau Appels)

C'est une interface de programmation normalisée qui permet à des applications informatiques de manipuler des bases de données mises à disposition par des SGBD. La norme a été créée en 1992. En 2010 la quasi-totalité des SGBD du marché offrent cette interface de programmation. Ce qui permet de les manipuler depuis un logiciel applicatif, par l'intermédiaire de bibliothèques logicielles courantes du marché telles que JDBC, ADO ou ODBC.
VM Virtual Machine

(ou machines virtuelles)

C'est une illusion d'un appareil informatique créée par un logiciel d'émulation. Le logiciel d'émulation simule la présence de ressources matérielles et logicielles telles que les mémoires, les processeurs, les disque durs, voire l'OS et les pilotes. Cela permettant d'exécuter des programmes dans les mêmes conditions que celles de la machine simulée. Un des intérêts des VM est de pouvoir s'abstraire des caractéristiques de la machine physique utilisée (matérielles et logicielles, notamment l'OS), permettant une forte portabilité des logiciels et la gestion de systèmes hérités, étant parfois conçus pour des machines ou des environnements logiciels anciens et / ou plus disponibles. Les VM sont également utilisées pour isoler des applications (pour des raisons de sécurités), pour augmenter la robustesse d'un serveur en limitant l'impact des erreurs systèmes ou pour émuler plusieurs VM sur une seule machine physique. C'est ce qui s'appelle faire de la virtualisation. Les inconvénients des VM sont, d'une part, des performances brutes sensiblement inférieures à des exécutions sur le matériel en natif (ce qui peut poser des problèmes de tests de jeux en 3D) et, d'autre part, de consommer une petite partie de la mémoire réelle pour le propre fonctionnement des machines. Leurs avantages sont de permettre des tests de variantes d'installations sur des machines simulées possédant de tailles de RAM, de mémoires graphiques et des nombres de processeurs très divers. L'usage de VM est l'un des principes fondamentaux de la technologie Java.
KVM (ou KVMS) Kilobyte Virtual Machine

(ou Keyboard Video Mouse Switch) Interface écran / clavier / souris

C'est le dérivé de la VM pour les spécifications JVM, conçus pour les petits terminaux (devices) avec peu de mémoires. Un commutateur (Switch en Anglais) écran-clavier-souris (ou commutateur KVM, Switchs pour KVM ou KVMS) est un appareil qui permet de partager des périphériques (claviers, écrans, souris ...), entre plusieurs ordinateurs.
Git C'est un logiciel libre de gestions de versions décentralisés. Il à été créé par Linus Torvalds (cocréateur du noyau Linux avec Richard Stallman ) et distribué selon les termes de la Licence Publique Générale « GNU GPL Version 2 ». En 2016, il s’agit du logiciel de gestions de versions le plus populaire. Il est utilisé par plus de douze millions de personnes.
GitHub GitHub est un service d'hébergements Web et de gestions de développements de logiciels, utilisant le logiciel de gestion de versions Git. Ce site est développé en Ruby on Rails et Erlang (par Chris Wanstrath, PJ Hyett et Tom Preston-Werner). GitHub propose des comptes professionnels payants, ainsi que des comptes gratuits pour les projets de logiciels libres. Le site assure également des contrôles d'accès et des fonctionnalités destinées à des collaborations, comme les suivi des bugs, les demandes de fonctionnalités, les gestions de tâches et un wiki pour chaque projet. En avril 2016, GitHub a annoncé avoir dépassé les 14 millions d'utilisateurs et plus de 35 millions de dépôts de projets, le plaçant ainsi comme le plus grand hébergeur de codes sources au monde. Le nom GitHub est composé du mot « Git » faisant référence au système de contrôle de version open-source et le mot « Hub » faisant référence au réseau social bâti autour du système Git. Octocat est la mascotte de la marque. Dessiné dans un style épuré et inspiré par les arts populaires japonais (mangas), il est dessiné par Simon Oxley (également créateur du logo de Twitter). On voit une partie de son visage dans un déguisement lui donnant des oreilles de chat et des tentacules de céphalopode.
Apache C'est un serveur HTTP créé et maintenu au sein de la fondation Apache. C'est le serveur HTTP le plus populaire du Web. Il est distribué selon les termes de la licence Apache, et est apparu en avril 1995. Au début, il s'agissait d'une collection de correctifs et d'additions au serveur NCSA HTTPD 1.3 qui était alors, dans le domaine public, le serveur HTTP le plus répandu. De cette origine, de nombreuses personnes affirment que le nom Apache vient de a Patchy Server, soit « un serveur rafistolé ». Par la suite, Apache a été complètement réécrit, de sorte que, dans la version 2, il ne reste pas de trace de NCSA HTTPD. Au début, Apache était la seule alternative sérieuse et libre au serveur HTTP de Netscape (iPlanet, aujourd'hui Sun ONE). Depuis avril 1996, selon l'étude permanente de Netcraft, Apache est devenu le serveur HTTP le plus répandu sur Internet.
WAMP (ou LAMP) Windows Apache

MySQL PHP

(ou Linux Apache

MySQL PHP)

Les rôles de ces quatre composants sont (pour Windows), l'assure de l'attribution des ressources à ces trois composants, (pour Apache), le serveur Web « frontal ». Il est devant tous les autres et répond directement aux requêtes du client Web (navigateur), (pour MySQL), le stockage de toutes les données de l'application et (pour PHP parfois remplacé par Perl ou Python), le langage de scripts qui sert à la logique du codage. Tous les composants peuvent être situés sur une même machine (ou plusieurs), généralement Apache. Le langage de script est d'un côté et MySQL de l'autre. Pour assurer la haute disponibilités sur de nombreuses machines (il y a des répartitions de charge et / ou failover). Néanmoins, l'architecture WAMP est le plus souvent utilisée pour développer des sites Web sur une machine Windows. De ce fait, en général, tout se passe sur une même machine. La mise en production se fera généralement sur une architecture Windows mais peut également être mise en production sur Linux (LAMP ou XAMPP).
Wamp Server C'est une version améliorée de celle anciennement appelée WAMP5. C'est une plateforme de développement Web de type Wamp, permettant de faire fonctionner localement (sans avoir à se connecter à un serveur externe) des scripts PHP. Wamp Server n'est pas en soi un logiciel, mais un environnement comprenant trois serveurs (Apache, MySQL et MariaDB), un interpréteur de script (PHP), ainsi que phpMyAdmin pour l'administration Web des bases MySQL. Il dispose d'une interface d'administration permettant de gérer et d'administrer ses serveurs au travers d'un tray icon (icône près de l'horloge de Windows). La grande nouveauté de Wamp Server 3 réside dans la possibilité d'y installer et d'utiliser n'importe quelle version de PHP, Apache, MySQL ou MariaDB en un clic. Ainsi, chaque développeur peut reproduire fidèlement son serveur de production sur sa machine, en locale.
XAMPP Unix (ou Cross) Apache MariaDB Perl PHP C'est un ensemble de logiciels permettant de mettre en place facilement un serveur Web, un serveur FTP et un serveur de messagerie électronique, en local. Il s'agit d'une distribution de logiciels libres offrant de bonnes souplesses d'utilisations. Il réputé pour son installation simple et rapide. Ainsi, il est à la portée d'un grand nombre de personnes puisqu'il ne requiert pas de connaissances particulières et fonctionne, de plus, sur les OS les plus répandus. Il est distribué avec différentes bibliothèques logicielles qui élargissent la palette des services, de façon notable (OpenSSL, Expat (parseur XML), PNG, SQLite, zlib ...), ainsi que différents modules Perl et Tomcat. Nombre de ces extensions étant inutiles aux débutants, une version allégée (Lite) est aussi proposée.
MariaDB C'est un système de gestion de BDD, édité sous licence GPL / GNU. Il s'agit d'un Fork communautaire de MySQL. La gouvernance du projet est assurée par la fondation MariaDB et sa maintenance par la société Monty Program AB, créatrice du projet. Cette gouvernance confère au logiciel l’assurance de rester libre.
Perl C'est un langage de programmation (créé par Larry Wall en 1987) pour traiter facilement de l'information de type textuel. Ce langage interprété, s'inspire des structures de contrôles et d'impressions du langage C, mais aussi de langages de scripts SED, AWKk et Shell. Il prend en charge les expressions régulières dans sa syntaxe même, permettant ainsi directement des actions sur l'aspect général de séquences de textes. Une association (The Perl Foundation), s'occupe de son devenir et, entre autres, de son éventuel passage de la version 5.x, à la 6 et suivantes. Le langage est libre et Open Source. Il est distribué sous double licence : Artistic License et GPL.
GUI Graphical User Interface C'est une interface graphique (ou environnement graphique). C'est un dispositif de dialogue homme-machine, dans lequel les objets à manipuler sont dessinés sous forme de pictogrammes à l'écran, de sorte que l'utilisateur puisse l'utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage (le plus souvent une souris, mais aussi un Pad). Ce type d'interface a été créé par les ingénieurs du Xerox PARC à la fin des années 1970, pour remplacer les interfaces en ligne de commande, mises sur le marché avec le Star de Xerox et le Lisa d'Apple, puis popularisé par cette dernière, avec l'ordinateur Macintosh, commercialisé en 1984. Les interfaces graphiques sont mises en œuvre par un ensemble de logiciels (souvent inclus dans les OS Windows ou fournis avec eux), par les distributions (Linux). Ils sont devenus vers le milieu des années 1990 le standard des appareils informatiques, notamment ordinateurs, tablettes, smartphones, récepteurs GPS et DAB (Distributeurs Automatiques de Billets (de banque)).
CLI Command Line Interface C'est une interface en ligne de commande. C'est une interface homme-machine dans laquelle la communication entre l'utilisateur et l'ordinateur s'effectue en mode texte (l'utilisateur tape une ligne de commande, c'est-à-dire du texte au clavier pour demander à l'ordinateur d'effectuer une opération. Ce dernier affiche du texte correspondant au résultat de l'exécution des commandes tapées ou à des questions qu'un logiciel pose à l'utilisateur. Une CLI peut servir aussi bien pour lancer l'exécution de divers logiciels au moyen d'un interpréteur de commandes, que pour les dialogues avec l'utilisateur de ses logiciels. C'est l'interaction fondamentale entre un homme et un ordinateur (ou tout autre équipement informatique). Lorsqu'une interface est prête à recevoir une commande, elle l'indique par une fenêtre (appelée invite de commande). Celle-ci, parfois désignée par l'anglicisme prompt ( pour prompteur), consiste en quelques caractères, en début de ligne (généralement le nom de compte de l'utilisateur, l'unité logique par défaut, le chemin par défaut, sa date ...), se terminant par un caractère bien connu (souvent ce sont ceux là : « ] », « # », « $ » ou « > »), invitant l'utilisateur à taper une commande.
Wiki C'est une application Web qui permet la création, la modification et l'illustration collaboratives de pages à l'intérieur d'un site

Web. Il utilise un langage de balisage et son contenu est modifiable au moyen d’un navigateur. C'est un outil de gestion de contenu, dont la structure implicite est minimale, tandis que la structure explicite émerge en fonction des besoins des usagers. Le premier wiki (créé en 1995 par Ward Cunningham), avait pour objectif de réaliser la section d’un site sur la programmation informatique. Il fut appelé Wiki Wiki Web. En 2016 (selon Alexa Internet), le site géré par wiki le plus consulté est Wikipédia.

CNIL Commission Nationale de l'Informatique et des Libertés La CNIL est une autorité administrative indépendante française. Elle est chargée de veiller à ce que l’informatique soit au service du citoyen et qu’elle ne porte atteinte, ni à l’identité humaine, ni aux droits de l’Homme, ni à la vie privée, ni aux libertés individuelles ou publiques. Elle exerce ses missions conformément à la loi n°78-17 du 6 janvier 1978 modifiée le 6 août 2004.
Langages SGML Standard Generalized

Markup Language

C'est un langage de description à balises, de norme ISO (ISO 8879:1986).
PDF Portable Document Format C'est un langage de description de pages présenté par la société Adobe Systems en 1992 et qui est devenu une norme ISO en 2008. La spécificité du PDF est de préserver la mise en forme d’un document (ses polices de caractère, images, objets graphiques ...) telle qu'elle a été définie par son auteur et cela quels que soient le logiciel, le système d'exploitation et l'ordinateur utilisé pour l’imprimer ou le visualiser.
HTML HyperText Markup Language C'est le langage de balisage conçu pour représenter les pages web. C’est un langage permettant d’écrire de l’hypertexte, d’où son nom. Il permet également de structurer sémantiquement et logiquement et de mettre en forme le contenu des pages, d’inclure des ressources multimédias dont des images, des formulaires de saisie, et des programmes informatiques. Il permet de créer des documents interopérables avec des équipements très variés de manière conforme aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec le langage de programmation JavaScript et du CSS. HTML est initialement dérivé du SGML.
XML Extensible Markup Language C'est le langage de balisage extensible. C'est un métalangage informatique de balisage générique qui dérive du SGML. Sa syntaxe est dite extensible car elle permet de définir différents espaces de noms, c'est-à-dire des langages avec chacun leur vocabulaire et leur grammaire. Il est reconnaissable par son usage des chevrons (<, >) encadrant les noms des balises. L'objectif initial de XML est de faciliter l'échange automatisé de contenus complexes (arbres, texte riche ...) entre systèmes d'informations hétérogènes (interopérabilité). Avec ses outils et langages associés, une application XML respecte généralement certains principes dont la structure d'un document XML est définie et validable par un schéma et un document XML est entièrement transformable dans un autre document XML.
PHP Hypertext Preprocessor C'est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet. Il a permis de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia ... Il est considéré comme une des bases de la création de sites web dits dynamiques mais également des applications web.
CSS Cascading Style Sheets Les feuilles de style en cascade, forment un langage informatique qui décrit la présentation des documents HTML et XML. Les standards définissant CSS sont publiés par le W3C. Introduit au milieu des années 1990, CSS devient couramment utilisé dans la conception de sites web et bien pris en charge par les navigateurs web dans les années 2000.
C++ C'est un langage de programmation compilé permettant la programmation sous de multiples paradigmes (comme la programmation procédurale, orientée objet ou générique). Ses bonnes performances et sa compatibilité avec le langage C en font un des langages de programmation les plus utilisés dans les applications où la performance est critique. Créé initialement par Bjarne Stroustrup dans les années 1980, le langage C++ est aujourd'hui normalisé par l'ISO. Sa première normalisation date de 1998 (ISO/CEI 14882:1998) ensuite amendée par l'erratum technique de 2003 (ISO/CEI 14882:2003). Une importante mise à jour a été ratifiée et publiée par l'ISO en septembre 2011 sous le nom de ISO/IEC 14882:2011, ou C++11. Depuis, des mises à jour sont publiées régulièrement : en 2014 (ISO/CEI 14882:2014, ou C++14) puis en 2017 (ISO/CEI 14882:2017, ou C++17). Ses extensions sont cp, cc, cpp, cxx, c, c++, h, hpp, hh, hxx et h++.
C# (C Sharp) C'est un langage de programmation orienté objet, commercialisé par Microsoft depuis 2002 et destiné à développer sur la plateforme Microsoft .NET. Il est dérivé du C++ et très proche du Java dont il reprend la syntaxe générale ainsi que les concepts, y ajoutant des notions telles que la surcharge des opérateurs, les indexeurs et les délégués. Il est utilisé notamment pour développer des applications web sur la plateforme ASP.NET. Son extension est .cpp.
SQL Structured Query Language Ce langage de requête structurée est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. Outre le langage de manipulation des données, la partie langage de définition des données permet de créer et de modifier l'organisation des données dans la base de données, la partie langage de contrôle de transaction permet de commencer et de terminer des transactions. La partie langage de contrôle des données permet d'autoriser ou d'interdire l'accès à certaines données à certaines personnes. Créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des SGBDR du marché. SQL fait partie de la même famille que les langages SEQUEL (dont il est le descendant), QUEL (intégré à Ingres) ou QBE (Zloof).
SQLite Structured Query

Language Lite

C'est une bibliothèque écrite en langage C, qui propose un moteur de SGBDR accessible par le langage SQL. SQLite implémente en grande partie le standard SQL-92 et des propriétés ACID. Contrairement aux serveurs de BDD traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel clients-serveurs mais d'être directement intégrée aux programmes. L'intégralité de la BDD (déclarations, tables, index et données) est stockée dans un fichier indépendant de la plate-forme. Le créateur de SQLite (D. Richard Hipp), a choisi de mettre cette bibliothèque, ainsi que son code source, dans le domaine public, ce qui permet son utilisation sans restrictions, aussi bien dans les projets Open Source que dans les projets propriétaires. Le créateur, ainsi qu'une partie des développeurs principaux de SQLite, sont employés par la société américaine Hwaci. SQLite est le moteur de BDD le plus utilisé au monde, grâce à son utilisation dans de nombreux logiciels grand public comme Firefox, Skype, Google Gears, dans certains produits d'Apple, d'Adobe et de McAfee, ainsi que dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 300 Kio), il est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes. L'iPhone, ainsi que les OS mobiles Symbian et Android, l'utilisent comme BDD embarquée. Au total, on peut dénombrer plus d'un milliard de copies connues et déclarées de la bibliothèque.
MySQL My Structured Query Language C'est un SGBDR. Il est distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels. Il est en concurrence avec Oracle, Informix et Microsoft SQL Server. Son nom vient du prénom de la fille (My) du cocréateur Michael Widenius MySQL AB a été acheté le 16 janvier 2008 par Sun Micro Systems pour un milliard de dollars américains. En 2009, cette société a été acquises par Oracle Corporation, mettant entre les mains d'une même société les deux produits concurrents que sont Oracle Database et MySQL. Ce rachat a été autorisé par la Commission européenne le 21 janvier 2010. Depuis mai 2009, son créateur a créé MariaDB (Maria étant le prénom de sa deuxième fille) pour continuer son développement en tant que projet Open Source. Son extension est .sql.
MySQLi My Structured Query Language Improved C'est une version améliorée de MySQL. C'est un pilote qui permet d'interfacer des programmes écrits dans le langage de programmation PHP avec les BDD MySQL, depuis la version 4.1. Elle fait partie des trois API de connexion à MySQL (Extension PHP MySQL, PHP MySQLi et PDO).
PostgreSQL C'est un SGBDRO. C'est un outil libre disponible selon les termes d'une licence de type BSD. Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres (comme MariaDB, MySQL et Firebird), ou propriétaires (comme Oracle, Sybase, DB2, Informix et Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises.
NetBeans C'est un environnement de développement intégré (EDI), placé en Open Source (par Sun) en juin 2000, sous licence CDDL (Common Development and Distribution License) et GPLv2. En plus de Java, NetBeans permet la prise en charge native de divers langages tels le C, le C++, le Java Script, le XML, le Groovy, le PHP et l'HTML ou d'autres (dont Python et Ruby), par l'ajout de greffons. Il offre toutes les facilités d'un IDE moderne (éditeurs en couleurs, projets multi-langages, refactoring, éditeurs graphiques d'interfaces et de pages Web). Compilé en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépendante des OS (requérant une JVM). Un environnement JDK est requis pour les développements en Java. NetBeans constitue, par ailleurs, une plate-forme qui permet le développement d'applications spécifiques (bibliothèque Swing en Java). L'IDE NetBeans s'appuie sur cette plate-forme. L'IDE Netbeans s'enrichit à l'aide de greffons. NetBeans supporte une importante variété d'environnements pour l'exécution d'applications Web, JEE, JSP, JSF, Enterprise Java Beans (EJB 2.1, EJB 3, EJB 3.1), Apache Struts, Spring Web MVC, Hibernate ... Il supporte les standards JEE 6, JEE 5, J2EE 1.4, Java Persistence API (JPA 2.0 ) et Java Servlet API. Il permet le déploiement d'applications Java et d'Applets via Java Web Start (JNLP). Netbeans intègre les fonctions de Hudson (Maven et projets JSE pour Ant) et de Maven (créer, exécuter, tester et déboguer des projets Maven Apache). Il supporte le développement d'applications pour postes de travail (JSE), en lien avec JDK 1.1, 1.2, 1.3, 1.4, 5.0 et 6. Il permet l'utilisation des tests JUnit 3 et 4. NetBeans propose un environnement graphique exploitant Swing, désigné comme Java Swing GUI Builder (ancien projet Matisse). Cet environnement comporte des palettes d'outils de composition d'interfaces (composantes Swing et AWT et composantes spécifiques, développées pour les projets). Il est utilisé au travers d'une interface graphique simple (choisir et positionner) qui permet de dessiner des interfaces pour les utilisateurs et de les visualiser à la volée. La construction d'interfaces graphiques est conforme à JSR 296 (Swing Application Framework) et JSR 295 (technologie Beans Binding ). NetBeans supporte par ailleurs Java FX. Netbeans permet le développement d'applications Java pour mobiles (Java ME) et systèmes embarqués. NetBeans propose différents outils pour l'exploitation de Web services. Il supporte JAX-WS services, JAX-RS RESTful Web Services, standards JAX-RPC Web Service, SOAP et RESTful Web Services, JBI (Java Business Integration), Java Architecture for XML Binding API (JAXB) et Mobile JME Web services. Il permet l'utilisation des Web services Google Maps, StrikeIron et Yahoo News Search. Il supporte, par ailleurs, l'intégration des services fournis par quelques acteurs clés (Google, Facebook, Yahoo, YouTube ...). NetBeans est aussi une plate-forme générique pour le développement d'applications pour stations de travail (bibliothèque Swing en Java). Elle fournit des ressources pour développer les éléments structurants de ces applications (gestion des menus, fenêtres, configurations, fichiers, mises à jour ... Des présentations détaillées sont fournies par le centre de documentation de NetBeans. L'IDE NetBeans comprend toutes les ressources utiles mais il est aussi possible d'installer la plate-forme séparément. Le développement d'applications sur la base de la plate-forme NetBeans consiste en la réalisation de « modules » qui s'insèrent dans la plate-forme et en étendent dynamiquement les fonctions. Un module est un groupe de classes Java, de portée variée. Elle peut consister en une simple classe Java réalisant des fonctions simples (ajouter une action dans un menu pour éditer le contenu du presse papier, par exemple), comme elle peut intégrer une application externe complète (JPS). Un module peut s'appliquer à l'IDE NetBeans lui-même. La réalisation des modules s'appuie sur une API normalisée. Un espace de partages entre développeurs est mis en place.
Java C'est le nom de marque d'une technique informatique, développée initialement par Sun Micro Systems, puis reprise par Oracle en tant que la « technologie Java™ ». Il est utilisé dans une grande variété de plates-formes depuis les systèmes embarqués et les téléphones mobiles, les ordinateurs individuels, les serveurs, les applications d’entreprises, les superordinateurs ... Défini à l'origine comme un langage, il a évolué au cours du temps pour devenir un ensemble cohérent d'éléments techniques et non techniques. Ainsi, la technologie Java regroupe des standards (la plate-forme Java) définis sous forme de spécification par le JCP, en trois éditions (JSE standard edition et enterprise edition) et JME (micro edition), indépendante des deux précédentes). Des logiciels (langages informatiques, bibliothèques, frameworks, serveurs d'applications et outils d'aide au développement) dont des implémentations (concurrentes) de ces spécifications. Un écosystème d'autres logiciels s'appuyant sur tout ou partie de ces standards, voire leur faisant concurrence. Des communautés d'entreprises, organisations à but non lucratif (fondations, Java User Groups et universités) et indépendants, membres ou non du JCP, possédant tout ou partie des marques, brevets et parts de marché liés à la technologie Java. Il est un des termes les plus connus du monde de l'informatique et de l'Internet, que ce soit des professionnels comme du grand public. Sa notoriété est telle que Sun, avant d'être acheté par Oracle Corporation, a décidé de l'utiliser pour son symbole boursier au Nasdaq, symbole qui était SUNW à l'origine et est devenu JAVA. Son extension est .java.
Java Script C'est un langage de programmation de scripts principalement employé dans les pages web interactives mais aussi pour les serveurs avec l'utilisation (par exemple) de Node.js. C'est un langage orienté objet à prototype, c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de créer leurs propriétés, et notamment une propriété de prototypage qui permet d'en créer des objets héritiers personnalisés. En outre, les fonctions sont des objets de première classe. Le langage supporte le paradigme objet, impératif et fonctionnel. Il est le langage possédant le plus large écosystème grâce à son gestionnaire de dépendances npm, avec environs 500 000 paquets en août 2017. Il a été créé en 1995 par Brendan Eich et a été standardisé sous le nom d'ECMAScript en juin 1997 par Ecma International dans le standard ECMA-262. Le standard ECMA-262 en est actuellement à sa 8e édition. Il n'est depuis qu'une implémentation d'ECMAScript, celle mise en œuvre par la fondation Mozilla. L'implémentation d'ECMAScript par Microsoft (dans Internet Explorer jusqu'à sa version 9) se nomme JScript, tandis que celle d'Adobe Systems se nomme ActionScript.
JScript C'est le nom générique de plusieurs implémentations, suivant le standard ECMAScript, créées par Microsoft, notamment celle partagée par Internet Explorer et WSH. Une implémentation particulière de ce type est, par exemple, JScript.Net. L'extension de fichier typique des scripts en JScript est .js.
JCP Java Community Process C'est une organisation créée par Sun en 1998. Son but est de coordonner l'évolution du langage Java et des technologies qui lui sont associées. Le JCP s'est doté d'un processus formalisé permettant aux différentes parties intéressées d'être impliquées dans la définition des futures versions et fonctionnalités de la plateforme Java. Le JCP émet des JSR, qui décrivent les spécifications et technologies proposées pour un ajout à la plateforme Java. Des revues publiques formelles des JSR sont menées avant qu'une JSR ne devienne finale et qu'elle ne soit votée par le comité exécutif du JCP. Une JSR finale fournit une implémentation de référence qui offre une implémentation gratuite de la technologie sous la forme de code source, un ensemble de tests (le TCK), pour vérifier la compatibilité d'une implémentation avec la spécification. Le JCP est composé d'entreprises du domaine Java, comme Sun, IBM, Oracle, Borland, BEA, Nokia et Sony, mais aussi de fondations du monde du logiciel libre, comme OW2, ainsi que des particuliers, pour lesquels l'adhésion est libre.
JSE Java Platform, Standard Edition JSE (anciennement Java 2 Platform (Standard Edition) ou J2SE) est une spécification de la plate-forme Java d'Oracle, destinée typiquement aux applications pour postes de travail. La plate-forme est composée, outre les API de base, des API spécialisées dans les postes client (JFC et donc Swing, AWT et Java2D), des API d'usage général comme JAXP (pour le parsing XML) et de JDBC (pour la gestion des BDD). À chaque version de JSE correspond notamment (comme toutes les éditions Java), les JSR (constituant les spécifications de la version considérée), un JDK (contenant les bibliothèques logicielles) et un JRE (contenant le seul environnement d'exécution (compris de base dans le JDK).
JEE (J2EE ou Jakarta EE Java Platform, Enterprise Edition JEE (anciennement Java 2 Platform (Enterprise Edition) est une spécification pour la plate-forme Java d'Oracle, destinée aux applications d'entreprise. La plate-forme fournie une API de mapping relationnel objet, des architectures distribuées, des multitiers et des services web. Elle se fonde principalement sur des composants modulaires exécutés sur un serveur d'applications. Pour ce faire, JEE définit une plate-forme pour héberger et exécuter les applications (incluant, outre JSE, des bibliothèques logicielles additionnelles du JDK), une suite de tests (JEE Compatibility Test Suite) pour vérifier la compatibilité, une réalisation de référence (JEE Reference Implementation) dénommée GlassFish, un catalogue de bonnes pratiques (JEE BluePrints) et un code script. À chaque version de JEE correspond notamment (comme toutes les éditions Java), les JSR (constituant les spécifications de la version considérée), un JDK (contenant des bibliothèques logicielles) et un JRE (contenant le seul environnement d'exécution, qui est inclus de base dans le JDK).
JME (JavaME ou J2ME) Java Platform, Micro Edition C'est une spécification de la plate-forme Java d'Oracle, destinée typiquement aux applications pour systèmes embarqués et mobiles (microcontrôleurs, capteurs, passerelles, smartphones, assistants personnels numériques, décodeurs TV et imprimantes). JME est né en 1999. Sun avait la volonté de structurer ses différentes plateformes, notamment Java Card, Personnal Java et Embedded Java. La plate-forme est composée d'une KVM (une VM capable d'exécuter une application Java) et d'un ensemble de bibliothèques, notamment une API donnant accès aux fonctions de base du système ainsi qu'aux fonctions spécifiques de l'écosystème visé.
JSR Java Specification Requests C'est un système normalisé ayant pour but de faire évoluer la plate-forme Java. Il y a actuellement plus de 350 JSR. Elles

remplissent chacune un rôle bien précis. Par exemple, la gestion de dispositifs Bluetooth (JSR 821) et l'accès aux informations personnelles (JSR 75). Certaines JSR sont consacrées exclusivement aux métadonnées (par exemple, Java API pour XML Processing (JAXP) et JavaBeans Enterprise).

JVM Java Virtual Machine C'est un appareil informatique fictif (VM) qui exécute des programmes compilés sous forme de Bytecode Java. L'appareil est simulé par un logiciel spécifique à chaque plate-forme ou couple machine / OS et permet aux applications Java compilées en Bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la VM Java adéquate. Une VM Java permet d'exécuter d'autres langages que le langage Java, du moment qu'un compilateur transforme les expressions de cet autre langage en une série d'octets respectant le format binaire d'une classe Java. La VM exécute les instructions données par le Bytecode contenu dans la classe Java, en suivant le modèle de la pile. Chaque niveau de pile contient les données propres à chaque opération. Une spécification de Sun décrit les fonctions et propriétés que doivent respecter toutes les VM Java. De plus, la plupart de ces machines comportent un ramasse-miettes (la notion est citée dans la spécification, mais sans être formellement rendue obligatoire), ou un compilateur à la volée. Le compilateur Java faisant peu d'optimisations, c'est à la VM de les faire, selon les objectifs propres à cette dernière.
TCK Technology Compatibility Kit C'est une suite de tests de compatibilités logicielles de la technologie Java, permettant de qualifier une implémentation des JSR.
Python C'est un langage de programmation objet, multi-paradigme et multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions. Il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et TCL. Le langage Python est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix avec notamment GNU/Linux en passant par Mac OS, ou encore Android, iOS et aussi avec Java ou encore Microsoft.NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Il est également apprécié par certains pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation. Son extension est .py.
VB (VB.NET, .NET ou Microsoft.NET) Microsoft Visual Basic C'est un langage de programmation événementielle de troisième génération (commercialisé avec Microsoft Visual Studio 6.0 et antérieur) ainsi qu'un environnement de développement intégré, créé par Microsoft pour son modèle de programmation COM. Il est directement dérivé du BASIC et permet le développement rapide d'applications, la création d'interfaces utilisateurs graphiques, l'accès aux BDD en utilisant les technologies DAO, ADO et RDO, ainsi que la création de contrôles ou objets ActiveX. Les langages de script tels que VB pour applications et VBScript sont syntaxiquement proches de Visual Basic, mais s'utilisent et se comportent de façon sensiblement différente. Un programme en VB peut être développé en utilisant les composants fournis avec Visual Basic lui-même. Les programmes écrits en VB peuvent aussi utiliser l'API Windows, ceci nécessitant la déclaration dans le programme des fonctions externes. Dans une étude conduite en 2005, 62 % des développeurs déclaraient utiliser l'une ou l'autre forme de VB. Selon la même étude, les langages les plus utilisés dans le domaine commercial sont Visual Basic, C++, C# et Java. La dernière mise à jour de VB est la version 6.0, sortie en 1998. Le support étendu Microsoft a pris fin en 2008. À partir de la version 7, le VB subit des changements substantiels, le rapprochant de la plate-forme « dot Net », qui amènent Microsoft à le commercialiser sous le nom de Visual Basic .NET. Sa syntaxe est similaire à celle de Visual Basic 6. « .NET » permet de développer en .NET, via Visual Studio, sur les systèmes d'exploitations de Windows (98, 2000, XP, Vista, 7, 8, 8.1, 10, 10.1 et 10.2). Comme tout autre langage de la plateforme .NET, VB.NET est compilé vers le langage intermédiaire CIL. Son extension est .vb.
VB Script (VBS) Visual Basic Scripting Edition C'est un sous-ensemble de VB, utilisé en tant que langage de script d'usage général. Il est souvent comparé au Java Script.
CIL (MSIL) Common Intermediate Language ou MicroSoft Intermediate Language Dans l'environnement de programmation Microsoft, le CIL est le langage de programmation de plus bas niveau qui peut être lu par un humain. Le code de plus haut niveau dans l'environnement .NET est compilé en code CIL qui est assemblé dans un code dit Bytecode. CIL est un code assembleur orienté objet et pile. Il est exécuté par une VM. Le CIL existe durant les bêtas du langage .NET. Après la standardisation du C# et de la CIL, le Bytecode fut officiellement référencé sous le nom de CIL. Les utilisateurs précoces de la technologie continuent néanmoins à se référer au terme MSIL. CIL est un langage intermédiaire, sous-ensemble simplifié du langage de programmation C. C'est également un ensemble d'outils libres publiés sous licence BSD pour analyser et transformer ce langage intermédiaire et transformer des programmes écrits en C, de et vers ce langage. CIL est utilisé par CCured, un compilateur qui compile un programme écrit en C en un code offrant un typage sûr. En analysant l'utilisation des pointeurs et en insérant des vérifications à l'exécution, le typage ne peut pas être déterminé statiquement.
CLI Common Language Infrastructure

(Infrastructure de Langages Communs)

C'est une spécification ouverte développée par Microsoft pour sa plate-forme .NET qui décrit l'environnement d'exécution de la VM, basé sur CIL. La spécification définit un environnement qui permet d'utiliser de nombreux langages de hauts niveaux sur différentes plates-formes, sans nécessité de réécrire le code pour des architectures spécifiques. Le code répondant aux spécifications CLI est dit « managed code », littéralement « code géré », ce qui est parfois traduit abusivement par « code managé ». L'implémentation de la CLI inclut des fonctions pour gérer les erreurs, le ramasse-miettes, la sécurité et l'interopérabilité avec l'OS (les objets COM pour Microsoft Windows, GTK pour Mono de Novell). Bytecode Le Bytecode (signifiant « code octal », en référence à l'octet informatique) est un code intermédiaire entre les instructions machines et le code source, qui n'est pas directement exécutable. Le Bytecode peut être créé à la volée et résider en mémoire (compilation à la volée (JIT, just-in-time en anglais) ou bien résider dans un fichier (généralement binaire) qui représente le programme, tout comme un fichier de code objet produit par un compilateur. Il est appelé Bytecode du fait de son format où chaque instruction est codée en binaire. Puisque c'est un code qui n'est pas exécutable directement par un processeur (à l'exception de certains processeurs gérant le Bytecode Java nativement), il est utilisé par les créateurs de langages de programmation en guise de code intermédiaire réduisant la dépendance vis-à-vis du matériel et facilitant son interprétation sur plusieurs architectures. Certains compilateurs (comme LLVM), langages de scripts (comme SmallTalk), Java ou certaines implémentations de Ruby (telles que JRuby, Ruby.NET ou SmallRuby), utilisent le Bytecode comme représentation intermédiaire avant la transformation en code machine vers l'architecture cible (x86, ARM, MIPS, PowerPC ... Certains systèmes, souvent appelés « traducteurs dynamiques », « compilateurs à la volée » ou JIT, traduisent le Bytecode en code machine au fur et à mesure de l’exécution. Cela permet d’accélérer l’exécution sur les boucles ou les fonctions appelées plusieurs fois tout en évitant de stocker sur disque ou de transférer (via les réseaux), des données pré-compilées. Cette technique est notamment utilisée dans le langage Java et dans les émulateurs de systèmes (ordinateurs ou consoles de jeux), retranscrivant les instructions d'un langage machine à un autre et plus généralement d'une architecture matérielle à une autre. Un programme à base de Bytecode est exécuté par un interpréteur appelé VM, car elle exécute le code tout comme un microprocesseur. L'avantage est la portabilité. Le même Bytecode peut être exécuté sur diverses plates-formes ou architectures pour lesquelles un interpréteur existe. Un programme (sous forme de Bytecode) peut donc être transmis d'une machine à une autre et être interprété puis exécuté sans modification de celui-ci par différents types d'architectures matérielles. L'avantage est le même que pour les scripts qui sont directement interprétés (et non compilés en Bytecode). Cependant, le Bytecode est plus concret, plus compact et plus facile à manipuler qu'un script, prévu pour être intelligible par l'homme. Pour ces raisons, les performances des interpréteurs de Bytecode sont généralement bien meilleures que celles des interpréteurs de scripts. Pour bénéficier de ces avantages, de nombreux langages interprétés sont en fait compilés en Bytecode avant d'être exécutés par un interpréteur. C'est le cas par exemple de PHP (lorsqu'il est utilisé pour des applications), de TCL et de Python. Un programme Java est habituellement transmis sous forme de Bytecode à une machine hôte qui utilisera une compilation à la volée pour traduire le Bytecode en code machine avant exécution. Les implémentations actuelles de Perl et de Ruby utilisent non pas du Bytecode, mais une structure en arbre qui se rapproche de la représentation intermédiaire des compilateurs. Les p-codes diffèrent des Bytecodes par le codage de leurs opérations, qui peut être de plusieurs octets avec une taille variable, tout comme les opcodes de nombreux processeurs. Ils ont un plus haut niveau descriptif, comme « afficher cette chaine de caractères » ou encore « effacer l'écran ». Le BASIC et quelques versions de Pascal utilisent un p-code.
WinDev C'est un atelier de génie logiciel (AGL) édité par la société française PC SOFT et conçu pour développer des applications, principalement orientées données, pour Windows 2000, 2003, 2008, XP, Vista, 7, 8 et 10, mais également pour Linux, .NET et Java. Il propose son propre langage, le WLangage. La première version de l'AGL est sortie en 1993. Il est apparenté à WebDev et WinDev Mobile. WinDev inclut (en standard) un ensemble d'éditeurs qui composent l'AGL. Les éditeurs (d'analyse (descriptions des données), de fenêtres, de requêtes SQL, d'états, de tests automatisés, d'aides, d'images, d'UML, de code, de télémétrie, de dossiers RGPD ...), des robots de surveillances et des audits d'applications. WinDev fonctionne selon un mode différent des autres langages. Les fenêtres et états sont créés à l'aide d'un éditeur visuel. Les différents champs sont créés sous l'éditeur et leurs paramètres sont définis à l'aide d'assistants de paramétrage visuels nommés « 7 onglets ». Chaque champ dispose en moyenne d'une centaine de paramètres. Cet éditeur ne génère pas de code mais crée un objet WinDev (fenêtre ou état). Cet objet sera ensuite utilisé par l'application. Ces objets effectuent directement un grand nombre de traitements (masques, tests de saisies, liens avec les BDD, gestion des différentes langues, effets visuels, messages d'aides ... Il utilise son propre langage de programmation, le WLangage, ressemblant beaucoup à du pseudo-code, par son côté langage naturel, qui peut faciliter la lecture du code par un débutant. L'éditeur d'interface graphique permet de créer des IHM par glisser-déplacer. Il permet également de choisir un modèle de charte graphique parmi un ensemble proposé et d'en créer de nouveaux. À partir de la version 19, les champs peuvent être créés par pure programmation. Ce mode de création n'est pas le mode par défaut dans WinDev, il assure plutôt un dépannage. Les développeurs WinDev ont l'habitude de cloner des champs (visibles ou invisibles) lorsqu'ils désirent rajouter des champs par programmation dans une interface existante. La réutilisation et la spécialisation des champs sont possibles grâce aux modèles de fenêtres et de champs. Un modèle permet de surcharger les propriétés standards du champ, de déclarer des variables (qui jouent un rôle équivalent aux membres d'une classe) et de redéfinir des procédures (qui jouent un rôle équivalent aux méthodes d'une classe). Bien que prévu initialement pour Windows, WinDev supporte aussi GNU / Linux pour les applications (avec et sans interface graphique), mais aussi Mac OS X. Cependant, l'environnement de développement supporte uniquement Windows. WinDev peut également s'appuyer sur le langage Java pour une partie de ses fonctionnalités, ce qui permet une relative indépendance du fichier exécutable par rapport au système d'exploitation cible. WebDev et WinDev Mobile permettent d'utiliser le même langage de programmation (WLangage) et les mêmes concepts (analyses, fenêtres, états, composants, classes ...), pour la génération de sites Web et d'applications mobiles. WinDev utilise des formats de fichiers propriétaires sous forme binaire, ce qui implique l'utilisation exclusive du gestionnaire de source maison (GDS), livré en standard, ainsi que le moteur de recherche de l'EDI. Le code ne peut pas être édité via un logiciel classique tel que le bloc-notes et surtout ne peut être mis sous contrôles de versions, dans un système standard tel que Subversion, Git ou Mercurial. Le développeur WinDev est totalement lié à l’environnement de développement vendu par l'éditeur. Il est ainsi contraint à un ensemble d'outils totalement intégrés, bénéficiant d'un support technique gratuit assuré par PC SOFT sur la version en cours. La programmation s'effectue directement dans les objets, en saisissant directement le code dans les événements proposés (entrées de champs, modifications de champs, sorties de champs, survols de champs ...). La programmation orientée objet est possible, avec des spécificités par rapport à des langages tels que C++ ou Java (pas de gestion de templates mais gestion de l'héritage multiple). L'usage du vocabulaire est particulier. Alors que (traditionnellement), une fonction virtuelle est une fonction destinée à être redéfinie dans des classes héritant d'une classe de base, dans WinDev on appelle « virtuelles » les fonctions redéfinies. Son extension est .wd.
Eclipse C'est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, visant à développer un environnement de production de logiciels libres qui soient extensibles, universels et polyvalents, en s'appuyant principalement sur Java. Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités de programmation (notamment son environnement de développement intégré et ses frameworks) mais aussi d'AGL recouvrant modélisations, conceptions, tests, gestion de configurations, reporting ... Son EDI, partie intégrante du projet, vise notamment à supporter tout langage de programmation à l'instar de Microsoft Visual Studio. Bien qu'Eclipse ait d'abord été conçu uniquement pour produire des environnements de développement, les utilisateurs et contributeurs se sont rapidement mis à réutiliser ses briques logicielles pour des applications clientes classiques. Cela a conduit à une extension du périmètre initial d'Eclipse à toute production de logiciel. C'est l'apparition du framework Eclipse RCP en 2004. Figurant parmi les grandes réussites de l'Open Source, Eclipse est devenu un standard du marché des logiciels de développement, intégré par de grands éditeurs de logiciels et des sociétés de services. Les logiciels commerciaux Lotus Notes 8, IBM Lotus Symphony ou WebSphere Studio Application Developer sont notamment basés sur Eclipse.
Applications

de

développement

API Application Programming Interface C'est un ensemble normalisé de classes, de méthodes ou de fonctions qui sert de façade par laquelle un logiciel offre des services à d'autres logiciels. Elle est offerte par une bibliothèque logicielle ou un service Web, le plus souvent accompagnée d'une description qui spécifie comment des programmes consommateurs peuvent se servir des fonctionnalités du programme fournisseur. Dans l'industrie contemporaine du logiciel, les applications informatiques se servent de nombreuses interfaces de programmation, qui se fait en réutilisant des briques de fonctionnalités fournies par des logiciels tiers. Cette construction par assemblage nécessite, pour le programmeur, de connaître la manière d’interagir avec les autres logiciels, ce qui dépend de leur interface de programmation. Le programmeur n'a pas besoin de connaître les détails de la logique interne du logiciel tiers et celle-ci n'est généralement pas documentée par le fournisseur. Des logiciels tels que les OS, les systèmes de gestion de BDD, les langages de programmation, ou les serveurs d'applications comportent une interface de programmation.
Windows API Win16, Win32 et Win32s sont des ensembles normalisés de fonctions qui permettent aux logiciels applicatifs de se servir des fonctionnalités des différents OS de la famille Windows. Win32 est l'ensemble de fonctions le plus souvent utilisé et les programmes dits, pour Windows, sont généralement des programmes utilisant Win32. Win32, successeur de Win16, a été introduit en 1993, dans les produits 32 bits de la famille Windows comme Windows 95, Windows NT, Windows 2000 ou leurs successeurs. Cette interface de programmation est mise en œuvre par 3 bibliothèques logicielles, Kernel32.dll, User32.dll et GDI32.dll. Les mêmes fonctions de Win32 sont disponibles dans tous les produits Windows et, suivant le produit, l'utilisation de certaines fonctions peut aboutir à une erreur de service non disponible. Les fonctions de Win32 permettent notamment de manipuler des processus, de communiquer entre programmes, d'exploiter les réseaux informatiques, de manipuler des fichiers, des imprimantes, des serveurs et des ports de communication. Un SDK est disponible pour Windows qui fournit la documentation et les outils pour permettre aux développeurs de créer des logiciels en utilisant cette API et les technologies associées.
OpenGL ES

(GLES ou OGLES)

Open Graphics Library for Embedded System C'est une spécification du Khronos Group qui définit une API multiplate-forme pour la conception d'applications générant des images 3D dérivée de la spécification OpenGL, sous une forme adaptée aux plate-formes mobiles ou embarquées tel que les téléphones mobiles, les assistants personnels (PDA), les consoles de jeux vidéo portables, les lecteurs multimédia de poche ou de salon ... La console de jeux vidéo PlayStation 3 utilise également un dérivé d'OpenGL ES nommé PSGL. OpenGL ES est principalement une simplification d'OpenGL, avec deux buts, une API plus légère en termes de mémoires et de coûts processeurs, ainsi qu'une simplification plus poussée. Elles sont plus légères car ces plates-formes sont généralement peu puissantes et peu fournies en mémoires vives. De nombreuses fonctionnalités ont donc été délaissées. Certaines extensions ont été intégrées voire ajoutées dans le profil par défaut car indispensables dans ces environnements. D'autres ont été conservées mais la plupart ont été éliminées. Les calculs se font préférentiellement en virgule fixe, du fait que les processeurs concernés ne disposent que rarement de capacités de calculs en virgules flottantes. C'est une simplification appréciable au niveau des spécificités des plates-formes, qui facilite le travail des développeurs. En effet, un développeur 3D classique doit gérer une ou deux consoles et / ou un ensemble de cartes graphiques émanant des deux ou trois principaux constructeurs. Un programmeur de plate-formes embarquées devant adresser des centaines de mobiles différents, pour une dizaine de marques, tournant sous trois ou quatre OS (Windows Mobile, Symbian, Android, Brew, Linux, WIPI ...), avec des cartes graphiques en provenance des trois principaux fournisseurs (ATI, NVidia et Imagination Technologies), ainsi que des écrans de résolutions très différentes, que ce soit en orientation portrait ou paysage. Il est donc nécessaire pour lui de pouvoir préciser ses besoins et de laisser ensuite OpenGL ES faire les choix internes, tout comme il est important que le rendu logiciel ou accéléré se contrôle de la même manière. Certains navigateurs récents permettent, grâce à WebGL et JavaScript, d’afficher nativement du contenu 3D en OpenGL ES. Cela ouvre des perspectives pour le développement de jeux 3D en ligne.
WebGL C'est une spécification d'interface de programmation de 3D dynamique pour les pages et applications HTML5 (créée par le Khronos Group). Elle permet d'utiliser le standard OpenGL ES au sein d'une page Web, d'un livre numérique au format ePUB, d'un diaporama ou bien d'une application basée sur le standard HTML5 (en s'aidant du langage JavaScript), des données au format JSON et des accélération matérielles pour les calculs et le rendu 3D (à l'aide des pilotes OpenGL ES), du ou des processeurs graphiques du terminal informatique (Ordinateur, smartphone, tablette numérique ...). OpenGL ES a été choisi pour son large support au sein des architectures embarquées et mobiles. WebGL permet d'afficher, de créer et de gérer dynamiquement des éléments graphiques complexes en 3D, dans la fenêtre du navigateur Web d'un client. Il est actuellement implémenté dans la plupart des grands navigateurs modernes, mais cette implémentation est récente, d'où le fait que cette technologie reste assez méconnue du grand public. Lorsqu’un élément graphique de type WebGL est inclus dans une page web, le navigateur exécute un programme en Java Script, utilisant l'interface WebGL. La bibliothèque WebGL appelle à son tour le pilote OpenGL ES de l'OS, qui se chargera de faire les calculs nécessaires à l'affichage sur l'écran, en exploitant (si possible), les accélérations matérielles du ou des processeurs graphiques du terminal.
SDK Software Development Kit

(ou Dev Kit)

Un SQK logiciel, aussi appelé trousse de développement logiciel, est un ensemble d'outils logiciels destinés aux développeurs, facilitant le développement d'un logiciel sur une plate-forme donnée (iOS, Android, BlackBerry 10, Symbian, Bada, Linux, OS X, Microsoft Windows). Un SDK est conçu pour un ou plusieurs langages de programmation, une ou plusieurs cibles (plate-forme, jeux vidéo ...). Un SDK comporte au moins, un traducteur (compilateur, interpréteur ...) qui traduit le fichier source en langage de programmation vers un fichier destination, en langage machine et un éditeur de liens (lieur) qui lie ensemble les différents modules et les bibliothèques de routines en un seul fichier exécutable (programme) des bibliothèques contenant des routines déjà prêtes à l'utilisation. Un SDK peut aussi comporter un éditeur de code (en), un débogueur, un exécuteur (souvent l'OS du système cible) ou un émulateur (qui inclut un éditeur de code (en)). Les deux outils principaux, le traducteur et le lieur, d'un SDK peuvent se retrouver dans un seul outil. Par exemple, un interpréteur traduit et établit les liens d'un programme, l'interpréteur exécute même le programme. Il existe aussi des SDK matériels, utiles ou nécessaires notamment pour le développement d'applications sur les consoles de jeux vidéos.
JDK Java Development Kit DK désigne un ensemble de bibliothèques logicielles, de base, du langage de programmation Java, ainsi que les outils avec lesquels le code Java peut être compilé, transformé en Bytecode destiné à la JVM. Il existe plusieurs éditions de JDK, selon la plate-forme Java considérée, ainsi que la version de Java ciblée. À chacune de ces plateformes correspond une base commune de kits de développement, plus des bibliothèques additionnelles spécifiques selon la plate-forme Java que le JDK cible, mais le terme de JDK est appliqué indistinctement à n'importe laquelle de ces plates-formes.
JRE Java Runtime Environment C'est une famille de logiciels qui permet l'exécution des programmes écrits en langage de programmation Java, sur différentes plate-formes informatiques. Il est distribué gratuitement par Oracle Corporation, sous forme de différentes versions destinées aux OS Windows, Mac OS X et Linux, toutes conformes aux JSR. JRE est souvent considéré comme une plate-forme informatique au même titre qu'un OS. En effet, s'il n'est pas un OS, il offre les mêmes fonctionnalités par l'intermédiaire de ses bibliothèques et permet ainsi l'exécution des programmes écrits en langage Java sur de nombreux types d'appareils (ordinateurs personnels, mainframes et téléphones mobiles) en faisant abstraction des caractéristiques techniques de la plate-forme informatique sous-jacente qui exécute le JRE. JRE est un logiciel populaire, installé sur plus de 900 millions d'ordinateurs.
IDE Integrated Development Environment

(Environnement de Développement Intégré)

C'est un ensemble d'outils pour augmenter la productivité des programmeurs qui développent des logiciels. Il comporte un éditeur de texte destiné à la programmation, des fonctions qui permettent, par pression sur un bouton, de démarrer le compilateur ou l'éditeur de liens ainsi qu'un débogueur en ligne, qui permet d'exécuter, ligne par ligne, le programme en cours de construction. Certains environnements sont dédiés à un langage de programmation en particulier. Dans un IDE, les outils sont prévus pour être utilisés ensemble (le produit d'un outil peut servir de matière première pour un autre outil). Les outils peuvent être intégrés dès le départ, c'est-à-dire qu'ils sont construits dans le but d'être utilisés ensemble. Il peut aussi s'agir d'un ensemble d'outils développés sans lien entre eux et intégrés a posteriori. L'objectif d'un environnement de développement est d'augmenter la productivité des programmeurs en automatisant une partie des activités et en simplifiant les opérations. Les environnements de développement visent également à améliorer la qualité de la documentation en rapport avec le logiciel en construction. Certains environnements de développement offrent également la possibilité de créer des prototypes, de planifier les travaux et de gérer des projets. Depuis 1980, le développement et la maintenance de logiciels sont partiellement automatisés à l'aide d'un lot d'outils (l'environnement de développement). Leurs outils sont un sujet d'étude en génie logiciel (c'est le coeur su savoir-faire en ingénierie du logiciel.
UML Unified Modeling Language

(ou Langage de Modélisation Unifié)

C'est un langage de modélisation graphique, à base de pictogrammes, conçu pour fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment utilisé en développement logiciel et en conception orientée objet. L'UML est le résultat de la fusion de précédents langages de modélisation objet (Booch, OMT et OOSE). Principalement issu des travaux de Grady Booch, James Rumbaugh et Ivar Jacobson, l'UML est à présent un standard adopté par l'Object Management Group (OMG).
MCD Modèle Conceptuel de Données Le terme « entité-relation » (ou diagramme entité-association ou ERD) est une traduction erronée mais largement répandue. Un MCD est un modèle de données (ou diagramme) pour des descriptions de haut niveau de modèles conceptuels de données. Il fournit une description graphique pour représenter de tels modèles de données sous la forme de diagrammes contenant des entités et des associations. De tels modèles sont utilisés dans les phases amonts de conception des systèmes informatiques. Ils sont utilisés pour décrire les besoins en information et / ou le type d'informations qui doivent être enregistrés dans les BDD pendant la phase d'élaboration du cahier des charges. La technique de modélisation des données peut être utilisée pour décrire toute ontologie (une vue globale et des classifications des termes utilisés et de leurs relations) dans un domaine d'intérêt. Dans le cas de la conception par la méthode Merise d'un système d'information construit sur une BDD, le modèle conceptuel de données est, à un stade ultérieur, transformé en modèle logique de données, tel que le modèle relationnel. Ce modèle est ensuite transformé en modèle physique pendant la phase de conception physique. Quelquefois, ces deux dernières phases sont appelées « conception physique ». Cette méthode est employée depuis les années 1970 pour concevoir des BDD.
Merise C'est une méthode d'analyse, de conception et de gestion de projets. Il a été très utilisée dans les années 1970 et 1980 pour l'informatisation massive des organisations. Cette méthode reste adaptée pour la gestion des projets internes aux organisations, se limitant à un domaine précis. Elle est en revanche moins adaptée aux projets aux organisations, qui gèrent le plus souvent des informations à caractère sociétal (environnemental et social) avec des parties prenantes.
JFC Java Foundation Classes C'est un framework graphique pour Java composé de AWT, Swing et Java2D.
Swing C'est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package JFC, inclus dans JSE. Il constitue l'une des principales évolutions apportées par Java 2, par rapport aux versions antérieures. Il offre la possibilité de créer des interfaces graphiques identiques, quel que soit l'OS sous-jacent, au prix de performances moindres qu'en utilisant AWT. Il utilise le principe du MVC, les composants Swing jouent le rôle de la vue au sens du MVC et dispose de plusieurs choix d'apparences pour chacun des composants standards. Avec l'apparition de Java 8 (en mars 2014), JavaFX devient la bibliothèque graphique officielle du langage Java, pour toutes les sortes d'applications (applications mobiles, sur poste de travail et Web). Le développement de son prédécesseur (Swing) fût abandonné (sauf pour les corrections de bogues). Depuis les premières versions de Java, AWT fournit une API indépendante de l'OS pour mettre en œuvre des composants graphiques. Dans AWT, chaque composant est dessiné et contrôlé par un composant tiers natif, spécifique à l'OS. C'est pourquoi les composants d'AWT sont appelés composants lourds. Au contraire, les composants Swing sont décrits comme légers. En effet, ils ne requièrent pas d'allocations de ressources natives de la part du gestionnaire de fenêtres sous-jacent, mais empruntent les ressources de leurs ancêtres. Une grande partie de l'API Swing est une extension complémentaire à AWT, plutôt qu'un remplaçant direct. L'affichage est fourni par Java2D, un autre composant des JFC. Cependant, l'usage conjoint de composants légers et lourds au sein d'une même fenêtre est généralement déconseillé à cause de problèmes de gestions de la profondeur.
AWT Abstract Window Toolkit C'est une bibliothèque graphique pour Java, faisant partie de JFC. Elle a été introduite dès les premières versions de Java. Depuis Java2, la bibliothèque de gestion des fenêtres officielles est Swing. Toutefois, AWT sert encore de fondement à Swing, dans la mesure où de nombreuses classes Swing héritent de classes AWT. Il emploie les composants natifs de la plate-forme, alors que Swing utilise des composants en pure Java.
Java 2D C'est une bibliothèque graphique de bas niveau pour Java, faisant partie à la fois de JFC et de Java Media. Cette bibliothèque est le fruit d’une collaboration entre Sun Micro Systems et Adobe Systems pour pallier les manques et déficiences de l'AWT. Tant la pile d’exécution de Java2D que ses commandes, offrent d’ailleurs une grande similarité avec le langage de rendu PostScript. Il permet de tracer toutes sortes de figures géométriques en deux dimensions. En effet chaque opération Java2D peut se résumer en un remplissage d'une forme avec une peinture suivie de sa composition sur l’écran. Ces objets sont les composants de base de presque toutes les opérations Java2D.
JAXP Java API for XML Processing C'est l'interface de programmation Java de Sun, permettant la création, la manipulation et le traitement de fichiers XML à bas niveaux. Cette interface permet d'analyser les fichiers XML selon les normes DOM, SAX ou StAX, et de les transformer à l'aide de feuilles de style XSL.
JDBC Java DataBase Connectivity C'est une interface de programmation créée par Sun Micro Systems (depuis racheté par Oracle Corporation) pour les programmes utilisant la plateforme Java. Elle permet aux applications Java d'accéder, par le biais d'une interface commune, à des sources de données pour lesquelles il existe des pilotes JDBC. Normalement, il s'agit d'une SGBDR où des pilotes JDBC sont disponibles pour tous les systèmes de SGBDR connus.
Java FX C'est une technologie créée par Sun Microsystems (qui appartient désormais à Oracle), à la suite du rachat le 20 avril 2009. Avec l'apparition de Java 8, JavaFX devient la bibliothèque de créations d'interfaces graphiques officielles du langage Java, pour toutes les sortes d'applications (mobiles, postes de travail et Web). Le développement de son prédécesseur Swing étant abandonné, JavaFX est désormais une API pure Java (le langage de script spécifique, qui a été un temps associé à JavaFX, est maintenant aussi abandonné). JavaFX contient des outils très divers, notamment pour les médias audio et vidéo, les graphismes 2D et 3D, la programmation Web, la programmation multi-fils ... Le SDK de JavaFX étant désormais intégré au JDK standard de JSE, il n'y a pas besoin de réaliser des installations spécifique pour JavaFX. Des projets libres complètent JavaFX en fournissant des composants absents de JavaFX JFXtras et ControlsFX.
Java Beans C'est une technologie de composants logiciels écrits en langage Java. La spécification Java Beans (d'Oracle) définit les composants de type Java Beans comme « des composants logiciels réutilisables et manipulables visuellement dans un outil de conception ». Ils sont utilisés pour encapsuler plusieurs objets dans un seul objet. Le « bean » (ou haricot en français) regroupe alors tous les attributs des objets encapsulés et peut définir d'autres attributs si besoin. Ainsi, il représente une entité plus globale que les objets encapsulés de manière à répondre à un besoin métier. En dépit de quelques similarités, les Java Beans ne doivent pas être confondus avec les Enterprise Java Beans (EJB), une technologie de composants côté serveur faisant partie de JEE.
MVC Modèle-Vue-Contrôleur C'est un motif d'architectures logicielles destiné aux interfaces graphiques. Lancé en 1978 et très populaire pour les applications Web, le motif est composé de trois types de modules ayant trois responsabilités différentes (les modèles, les vues et les contrôleurs). Un modèle contient les données à afficher. Une vue contient la présentation de l'interface graphique. Un contrôleur contient la logique concernant les actions effectuées par l'utilisateur. Ce motif est utilisé par de nombreux frameworks pour applications Web tels que Ruby on Rails, Django, ASP.NET MVC, Spring, Struts, Symfony, Apache Tapestry ou Angular Js.
Tomcat C'est un conteneur Web libre de servlets, JSP (par un compilateur Jasper compilant les pages JSP pour en faire des servlets) et JEE. Issu du projet Jakarta, c'est un des nombreux projets de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process. Il est paramétrable par des fichiers XML et des propriétés. Il inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP. Tomcat a été écrit en langage Java. Il peut donc s'exécuter via la VM Java sur n'importe quel OS la supportant. Catalina est le conteneur de servlets utilisé par Tomcat. Il est conforme aux spécifications servlet de Oracle Corporation et les JSP. Coyote est le connecteur HTTP de Tomcat, compatible avec le protocole HTTP 1.1 pour le serveur Web ou conteneur d'application. Jasper est le moteur JSP d'Apache Tomcat. Tomcat 5.x utilise Jasper 2, qui est une implémentation de la spécification JSP 2.3 de Sun Microsystems. Jasper parse les fichiers JSP afin de les compiler en code Java en tant que servlets (gérés par Catalina). Pendant son exécution, Jasper est capable de détecter et recompiler automatiquement les fichiers JSP modifiés.
PDO C'est une extension définissant l'interface pour accéder à une BDD avec PHP. Elle est orientée objet, la classe s’appelant PDO. Il constitue une couche d'abstraction qui intervient entre l'application PHP et l'application MySQL ou MariaDB d'un serveur. La couche d'abstraction permet de séparer le traitement de la BDD à proprement dite. PDO facilite donc la migration vers un autre SGBD puisqu'il n'est plus nécessaire de changer le code déjà développé. Il faut seulement changer les arguments de la méthode, qui seront envoyés au constructeur. Pour récupérer les enregistrements d’une table de la BDD, la procédure classique en PHP consiste à parcourir cette table ligne par ligne, en procédant à des aller-retour entre l'application PHP et l'application MySQL ou MariaDB d'un serveur. Ceci risque d’alourdir le traitement, surtout si les deux serveurs sont installés chacun sur une machine différente. PDO corrige ce problème en permettant de récupérer, en une seule reprise, tous les enregistrements de la table sous forme d’une variable PHP de type tableau à deux dimensions, ce qui réduit le temps de traitement.
phpMyAdmin

(ou PMA)

Hypertext Preprocessor

My Administration

(ou Preprocessor My Administration)

C'est une application Web de gestion, pour les systèmes de gestion de BDD MySQL, réalisée principalement en PHP et distribuée sous licence GNU GPL. Il s'agit de l'une des plus célèbres interfaces pour gérer une BDD MySQL sur un serveur PHP. De nombreux hébergeurs, gratuits comme payants, le proposent ce qui évite à l'utilisateur d'avoir à l'installer. Cette interface pratique permet d'exécuter, très facilement et sans grandes connaissances en BDD, des requêtes comme les créations de table de données, insertions, mises à jour, suppressions et modifications de structure de la BDD, l'attribution et la révocation de droits ainsi que l'import / export. Ce système permet de sauvegarder commodément une BDD, sous forme de fichier .sql et d'y transférer ses données, même sans connaître SQL. Les requêtes SQL restent possibles, ce qui permet de les tester interactivement lors de la création d'un site pour les utiliser ensuite en batch (c'est-à-dire en différé) une fois au point.
ART Android Runtime À partir de la version 5.0 (sortie en 2014), l'environnement d'exécution ART remplaça la VM Dalvik. Cet environnement d'exécution plus performant fut développé par Google pour pallier le potentiel limité de Dalvik (créé en 2007). Avec ART, contrairement à la JVM, les fichiers .apk ne sont plus lancés directement mais décompressés et lancés avec de nouvelles bibliothèques et API. Les applications prennent ainsi plus de place (+20 %), mais les gains en performance et en autonomie des batteries sont conséquents (+20 % à +30 %).
Dalvik C'est une VM destinée aux smartphones et tablettes tactiles, qui est incorporée dans l'OS Android. Dalvik est destiné à permettre l'exécution simultanée de plusieurs applications sur un appareil de faibles capacités (peu d'espaces mémoires et peu de puissances de calculs). Créé par Dan Bornstein, Dalvik fait partie du runtime, le moteur qui permet l'exécution des applications pour Android. Le nom est celui d'un village de pêcheurs en Islande, pays d'origine de son auteur. Dalvik offre une alternative à la VM de la technologie Java. Les fichiers de bytecode de la technologie Java sont préalablement transformés et consolidés dans un fichier .dex (Dalvik Executable) en vue de leur utilisation par Dalvik. Le but d'une VM comme Dalvik est de permettre d'exécuter le même programme sur une grande variété d'appareils, quelles que soient leurs caractéristiques techniques. Le code exécutable du programme (dit Bytecode) est transformé à la volée en instructions spécifiques à l'appareil sur lequel le programme est exécuté (c'est la fonction de compilation just-in-time de la VM). Dalvik est un des composants clé d'Android. Java étant un langage de programmation destiné à être utilisé sur une grande variété d'appareils, sa devise est « write once, run anywhere » (écries-le une fois, utilise-le partout). Les programmes écrits dans ce langage sont traduits en Bytecode qui sera ensuite exécuté par une VM telle que celle de l'environnement d'exécution Java de Oracle. L'objectif de Dalvik est de fournir une VM alternative, adaptée aux limitations des appareils mobiles. Dalvik exécute un Bytecode différent, dont les instructions sont basées sur des registres, alors que la VM classique de la technique Java est basée sur la pile. Une machine à registres nécessite moins d'instructions pour effectuer les mêmes opérations qu'une machine à pile et est, par conséquent, mieux adaptée à un appareil ayant peu de puissances de calculs. En raison de cette différence, les fichiers de Bytecode Java ordinaires ne peuvent pas être exécutés tel quel par Dalvik. Un programme inclus dans le SDK Android transforme au préalable ces fichiers en DEX (Dalvik Executable, les fichiers de bytecode pour Dalvik). Les fichiers exécutables pour Dalvik (.dex) sont créés par consolidations des fichiers de bytecode Java. La taille du fichier .dex est typiquement la moitié de la taille des fichiers de Bytecode Java desquels ils sont issus. La VM Dalvik se sert des services offerts par le noyau Linux. Dans Android il est également possible de créer des applications qui n'utilisent pas Dalvik et qui se servent directement du noyau Linux, cependant cette technique offre peu d'avantages et est rarement utilisée. Tous les services fournis par Android ainsi que les moyens matériels des appareils sont mis à disposition à travers Dalvik. Cette VM joue le rôle d'écran qui cache les caractéristiques techniques de l'appareil sur laquelle elle est exécutée. Dalvik est remplacé par ART à partir de la version 5 d'Android, sortie en novembre 2014 (ART est disponible en version expérimentale dès Android 4.4). Cependant, à sa sortie, ART n'est pas compatible avec toutes les applications Android.
WebKit C'est une bibliothèque logicielle libre, permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Elle est disponible sous licence BSD et GNU LGPL. Originellement réservée à l'OS Mac OS X (à partir de la version 10.3 Panther), elle a été portée vers Linux et Windows. Ainsi, le portage de WebKit pour les environnements GTK+ et Qt se nomment respectivement WebKitGTK+ et QtWebKit. WebKit est un fork du moteur de rendu KHTML du projet KDE utilisé notamment dans le navigateur Konqueror. Elle intègre deux sous-bibliothèques (Web Core et Java Script Core), correspondant respectivement à KHTML et KJS. Il passe avec succès le test Acid et la version en développement obtient 100 % aux tests Acid depuis le 27 mars 2008. Webkit intégrait un moteur Java Script qui portait le même nom et qui, depuis, a été réécrit. Le nouveau moteur s'appelle désormais Squirrel Fish. Il est beaucoup plus rapide que le précédent. En février 2012, le succès de diffusion de WebKit amène le groupe OpenWeb (prônant la standardisation des technologies de développement web), à lancer un appel aux développeurs et à pointer les conséquences de la dominance de WebKit sur le mobile et des pratiques des développeurs. En janvier 2013, la position dominante de Webkit pose encore des problèmes.
Blink C'est une bibliothèque logicielle fournissant un moteur de rendu HTML libre, développée par l'équipe responsable du projet Chromium, au sein de Google, basée sur un fork de Webkit d'Apple, lui-même basé sur un fork de KHTML de KDE. Elle fut annoncée le 3 avril 2013. Étant dérivée de WebKit, elle conserve sa double licence libre, BSD et GNU LGPL.
Gestions

de

Parcs

Informatiques

GLPI Gestionnaire Libre de Parc Informatique

(ou ITSM Issue Tracking

System Managment)

C'est un logiciel libre de gestion des services, d'assistances et de Service Desk. Cette solution est éditée en PHP et est distribuée sous licences GPL. En tant que technologie libre, toute personne peut exécuter, modifier ou développer le code puisqu'il est libre. De ce fait, les contributeurs peuvent participer à l’évolution du logiciel en soumettant des modules supplémentaires libre et Open Source, sur GitHub. GLPI est une application Web qui aide les entreprises à gérer leurs systèmes d’informations. Parmi ses caractéristiques, cette solution est capable de construire un inventaire de toutes les ressources de la société et de réaliser la gestion des tâches administratives et financières. Les fonctionnalités de cette solution aident les Administrateurs IT à créer une BDD regroupant des ressources techniques et de gestion, ainsi qu’un historique des actions de maintenances. La fonctionnalité de gestions d'assistances (helpdesk) fournit aux utilisateurs un service leur permettant de signaler des incidents ou de créer des demandes basées sur un actif ou non, ceci par la création de tickets d’assistances.
OCS Inventory Open Computer and Software Inventory C'est une application permettant de réaliser un inventaire sur les configurations matérielles des machines des réseaux, sur les logiciels qui y sont installés et de visualiser ces informations grâce à une interface Web. Il comporte également la possibilité de télé-déployer des applications sur un ensemble de machines selon des critères de recherches. Le dialogue entre les machines clientes et les serveurs de gestions est basé sur les standards actuels (protocoles HTTP et HTTPS) et formatages des données en XML. Les serveurs de communications (aussi appelés moteurs) fonctionnent avec Apache/MySQL/Perl. Il est multiplate-forme et il fonctionne aussi bien sous UNIX que sous Windows (2000 ou postérieur). Sa conception et l'utilisation de mod_perl donne des performances serveurs permettant à des machines modestes d'inventorier plusieurs milliers de machines. Il est l'interface entre les agents et la BDD d'où il peut prendre ses configurations. À ce titre, il active et paramètre les lancements (sur les agents), d'un ensemble extensible de modules (inventaires, sniffeurs d'IP, requêtes sur les registres, télé-déploiements, recherches sur disques durs ...) et prend en charge diverses requêtes (événements de changements d'IP, notifications événementielles d'états de télé-déploiements ...). C'est également lui qui assure la gestion automatique des doublons. Chaque moteur peut être interfacé avec deux serveurs de BDD (un maitre (Master) et un esclave (Slave)). Afin de collecter le maximum d'informations, des clients (agents) sont installés sur les machines à inventorier. Les clients supportent de nombreuses plate-formes (Windows, Linux, FreeBSD, Net BSD, Open BSD, Mac OS X, Sun Solaris, IBM AIX). Une interface Web écrite en PHP permet les visualisations des données et les paramétrages des applications, les consultations des inventaires (recherches multi critères) et des consultations des données réseaux, les utilisations des télé-déploiements (Créations des paquets, activations, affectations aux machines...), les gestions des groupes de machines (statiques et dynamiques), les paramétrages des fonctionnalités des agents (registres, IP Discover, fréquences d'inventaires, rapidités de télé-déploiements ...).
TSE Terminal Server Edition C'est un composant de Microsoft Windows (dans les versions clientes et serveurs) qui permet à des utilisateurs d'accéder à des applications et des données sur des ordinateurs distants, via n'importe quel types de réseaux. Son utilisation est optimisée sur des réseaux locaux (LAN, pour Local Area Network) ou régionaux (MAN, pour Metropolitan Area Network), fournissant des latences diminuées et des débits améliorés, par rapport à des réseaux plus larges comme Internet. Terminal Services consiste en la mise en œœuvre, par Microsoft, du client léger où les applications Windows ou même également le bureau entier des ordinateurs les exécutants sont rendus disponibles à l'aide de clients à distances. Les clients peuvent aussi bien être des ordinateurs à part entière exécutants n'importes quels OS, tant que les protocoles des services du Terminal est supporté ou des ordinateurs de types baronnes assez puissants pour supporter les protocoles (tel que Windows FLP). Avec les Services de Terminal, seule l'interface utilisateur d'une application est présentée aux postes clients. Chaque opération est redirigée au travers des réseaux vers les serveurs où toutes les opérations des applications sont effectuées. Le service de Terminal représente un contraste avec les systèmes de virtualisations d'applications tel que Microsoft Softgrid, avec lesquels les applications (stockées sur un serveur central) sont diffusées sur les postes clients, à la demande et sont ensuite gérées par les postes clients. MSRA.exe donne l'accès du bureau à distance Windows.
MSRA Assistance à distance Windows La fonction MSRA.exe est un logiciel de téléassistance informatique qui est intégré aux systèmes Windows NT. Il est sorti avec Windows XP et permet à un utilisateur de visualiser ou de contrôler un ordinateur Windows à distance sur un réseau local ou sur Internet pour résoudre les problèmes d'un autre utilisateur sans toucher directement à l'unité centrale. Il est basé sur le protocole RDP. Il est basé sur le protocole RDP. Dans Windows 7, le programme se trouve dans le dossier Accessoires et est basé sur la version 7 du Remote Desktop Protocol et utilise le Peer Name Resolution Protocol lors de la connexion à l'aide de l'option Easy Connect. Avec Easy Connect, seul un mot de passe doit être partagé au lieu d'un fichier d'invitation, et deux ordinateurs peuvent établir une connexion peer-to-peer sur un réseau local (LAN, Local Area Network) ou sur Internet sans un serveur relais. La connexion bureau à distance ne supporte pas le transfert de fichiers et le partage de tableau blanc sur Windows 7.
Easy Vista Plateforme de Gestion de services (IT : incidents, problèmes, changements, configurations, ...). Comporte des indicateurs et des fonctionnalités Green IT permettant de se conformer à la directive européenne sur les DEEE. On-premise & Cloud, accessible via mobile. Simple à déployer, facile à utiliser.
Jira

(ou Gojira)

Jira est un système de suivi de bugs, un système de gestion des incidents, et un système de gestion de projets développé par Atlassian. Ce n'est pas un acronyme (JIRA) mais une troncation par aphérèse de Gojira (le nom japonais de Godzilla). Atlassian propose Jira gratuitement pour les projets Open Source et les organisations non commerciales. Pour les autres organisations, il est vendu entre 10 000 $ et 24 000 $, en fonction de la version, avec une réduction de 50 % pour les licences universitaires. Un connecteur Jira existe pour le système de gestion des tâches Mylyn sous Eclipse IDE. En raison de sa licence gratuite pour les projets open source, plusieurs groupes de développeurs ont adopté Jira pour leurs projets comme JBoss4, Spring Framework, OpenSymphony, Codehaus XFire et Valve. Apache Software Foundation utilise Jira et Bugzilla. Les projets utilisant Bugzilla sont encouragés à migrer vers Jira. Dans une évaluation d'octobre 2006, Python.org, le site officiel du langage Python, souhaitait passer de SourceForge à un autre gestionnaire d'incidents, avec Jira, Launchpad, Roundup et Trac comme suggestion de remplacement. La décision a été prise d’utiliser Roundup. En 2007, Eclipse parlait du remplacement de Bugzilla par Jira, mais n'a pas changé, car la migration avait un coût trop grand pour le bénéfice apporté. De plus, Jira n'est pas considéré comme un programme open source.
Putty PuTTY est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet, rlogin, et TCP brut. Il s'utilise en CLI, dans un terminal. Il permet également des connexions directes par liaison série RS-232. À l'origine disponible uniquement pour Windows, il est à présent porté sur diverses plates-formes Unix (et non-officiellement sur d'autres plates-formes). PuTTY est écrit et maintenu principalement par Simon Tatham. C'est un logiciel libre distribué selon les termes de la licence MIT.