Glossaire des termes informatiques pour les recruteurs de techniciens

Par 9 octobre 2017 #!31jeu, 16 Juil 2020 10:50:50 +0200p5031#31jeu, 16 Juil 2020 10:50:50 +0200p-10Europe/Warsaw3131Europe/Warsawx31 16 31 -31jeu, 16 Juil 2020 10:50:50 +0200p10Europe/Warsaw3131Europe/Warsawx312020jeu, 16 Juil 2020 10:50:50 +02005010507 jeudi=254#!31jeu, 16 Juil 2020 10:50:50 +0200pEurope/Warsaw7#juillet 16th, 2020#!31jeu, 16 Juil 2020 10:50:50 +0200p5031#/31jeu, 16 Juil 2020 10:50:50 +0200p-10Europe/Warsaw3131Europe/Warsawx31#!31jeu, 16 Juil 2020 10:50:50 +0200pEurope/Warsaw7# Ressources humaines, Recrutement informatique, Entretien technique
Glossaire des termes informatiques pour les recruteurs de techniciens

Tech language and IT terms are not easy if you are a non-coder. Still, in order to be able to recruit developers and communicate with them effectively, tech recruteurs have no choice but to understand the IT terms connected with their everyday job. So get out of your comfort zone and master the tech language. We’ve compiled this DevSkiller Tech Glossary of IT terms to make it as easy as it can be. This glossary is part of our extensive library of Ressources humaines.

We’ve gathered all the most important IT terms and put them together in an easily digestible, recruiter-friendly list divided into 10 categories. Learning and using these terms will boost your credibility in the IT recruitment process and improve your communication with developers. 

General IT terms

Langage de programmation

is a language used by programmeurs to instruct a computer to perform a certain job. It’s normally a set of instructions that can be used to achieve the desired output of a computer candidature écrit dans un certain langage de programmation.

Code source

est a set of instructions and statements written by a programmeur using a computer programming language. This code is later translated into machine language (binary code) by a compiler. The source code is the only stage where a programmer can read and modify a computer program. Plus d'informations ici : Wikipedia

Cadre

is code that is already written and covers low(er) level, generic functionalities. Programmers can selectively change it with additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications. It consists of many predefined solutions for common functionalities that are used to help build software applications, products, solutions on top of it. By using a framework, developers don’t have to write all the functionalities of the software that they are working on. These functionalities are already implemented in the framework and ready to use with a single command. Frameworks can improve developer productivity as well as the quality, reliability, and robustness of new software. Thus, a knowledge of frameworks for a specific job is one of the most important skills a developer can posses. Example frameworks: Bootstrap, React, Spring Framework, Rails, Symfony. Plus d'informations ici : Wikipedia  

Bibliothèque

est un ensemble de fonctions ou de routines prédéfinies qu'un programme peut utiliser. Les bibliothèques sont particulièrement utiles pour stocker les routines fréquemment utilisées car vous n'avez pas besoin de les relier explicitement à chaque programme qui les utilise. Exemples de bibliothèques : JQuery, Google Guava, RxJava, d3.js.

Culture IT terms

Développement logiciel agile

décrit un ensemble de valeurs et de principes pour le développement de logiciels en vertu desquels les exigences et les solutions évoluent grâce à l'effort de collaboration d'équipes interfonctionnelles auto-organisées. Il préconise une planification adaptative, un développement évolutif, une livraison rapide et une amélioration continue, et il encourage une réponse rapide et flexible au changement. Décrit dans Manifeste de l'agilité. Lire la suite : Wikipedia

DevOps

représente un changement de culture informatique axé sur la fourniture rapide de services informatiques par l'adoption de pratiques agiles et allégées dans le cadre d'une approche orientée système. DevOps est l'un des termes informatiques qui met l'accent sur les personnes (et la culture) et cherche à améliorer la collaboration entre les équipes d'exploitation et de développement. Les mises en œuvre de DevOps utilisent la technologie - en particulier les outils d'automatisation et de surveillance qui peuvent tirer parti d'une infrastructure de plus en plus programmable et dynamique dans une perspective de cycle de vie. Les principes de base de DevOps sont conformes à de nombreux principes et pratiques de l'ingénierie de fiabilité des sites (voir : SRE). On pourrait considérer DevOps comme une généralisation de plusieurs principes fondamentaux de l'ESR à un plus large éventail d'organisations, de structures de gestion et de personnel. On pourrait également considérer le SRE comme une implémentation spécifique du DevOps avec quelques extensions idiosyncrasiques. Plus d'informations ici : Gartner, O'Reilly Media

SRE (ingénierie de la fiabilité des sites)

est une discipline qui intègre des aspects du génie logiciel et l'applique à des opérations dont le but est de créer des systèmes logiciels ultra-scalaires et hautement fiables. Elle encourage la fiabilité des produits, la responsabilité et l'innovation. Pour en savoir plus, cliquez ici : Google

Role IT terms

Développeur de premier plan

essentially creates whatever has a digital visual presence with which people interact (client-side environment). Traditionally, a front-end developer is a person who is comfortable with both design and coding; in other words someone who is comfortable using simple design tools and is able to create a website using HTML code, le style en utilisant CSS, et le rendre interactif en utilisant JavaScript.

Concepteur de l'interface utilisateur

ou "Interface utilisateur designer, est celui qui conçoit l'aspect de l'application du point de vue de l'utilisateur pour permettre à ce dernier d'interagir avec l'application. Les concepteurs de l'interface utilisateur doivent comprendre ce que le développeur en amont attend de lui et savoir comment communiquer avec lui, tout en ayant des compétences en matière de conception. Souvent, cette personne n'a pas besoin d'être un programmeur du tout.  

Concepteur d'UX

ou "Expérience de l'utilisateur Le concepteur est une personne qui aide à créer une meilleure expérience d'utilisation de l'application. Cette personne simplifie la partie visuelle de l'application et fait ressortir les fonctionnalités les plus souvent utilisées. Son travail consiste à rendre l'application aussi facile et utile que possible pour les utilisateurs afin d'en améliorer la convivialité.

Développeur en aval

est impliqué dans le processus consistant à combiner un serveur, une application et une base de données pour résoudre un problème (environnement côté serveur). Tout ce processus est solidement ancré dans la logique, un réseau de processus et de requêtes qui sont résolus en quelques fractions de secondes pour vous donner un certain résultat souhaité en tant qu'utilisateur. Ils sont différents des développeurs frontaux dans la mesure où le travail d'un développeur back-end est totalement dépourvu de toute conception visuelle. Il s'appuie plutôt sur un raisonnement logique et une architecture logicielle qui vise à fournir un résultat particulier.

Développeur complet

est une personne qui est à l'aise pour travailler avec les technologies d'arrière-plan et d'avant plan. Une compréhension générale des technologies de chaque partie du processus de développement est nécessaire pour un développeur en amont. Cela signifie, bien sûr, qu'il ne sera pas un expert dans un domaine particulier. Au contraire, il peut offrir une meilleure vue d'ensemble des possibilités d'application et la capacité de combler le fossé entre le fonctionnement du système et son aspect et sa convivialité pour l'utilisateur.

Développeur MEAN

est un développeur qui utilise une pile logicielle JavaScript pour créer des sites web et des applications web dynamiques. Les développeurs de la pile MEAN sont experts dans l'utilisation de MongoDB, Express.js, AngularJS (ou Angulaire) et Node.js. Comme tous les composants de la pile MEAN prennent en charge les programmes écrits en JavaScript, les applications MEAN peuvent être écrites dans un seul langage pour les environnements d'exécution côté serveur et côté client.

Administrateur système (SysOp, sysadmin)

est une personne qui est responsable de l'entretien, de la configuration et du fonctionnement fiable des systèmes informatiques, principalement des serveurs. Plus d'informations ici : Wikipedia

Programming language and technology IT terms

Java

est un langage de programmation compilé, orienté objet, dont la syntaxe est similaire à celle du C++. Il est destiné à permettre aux développeurs d'applications "d'écrire une fois, d'exécuter n'importe où", ce qui signifie que le code Java compilé peut s'exécuter sur toutes les plates-formes qui supportent Java sans qu'il soit nécessaire de le recompiler. Plus d'informations ici : DevSkiller

C

est un langage de programmation informatique universel et impératif qui prend en charge la programmation structurée, la portée des variables lexicales et la récursivité, tandis qu'un système de type statique empêche de nombreuses opérations non intentionnelles. Le C a été développé à l'origine par Dennis Ritchie entre 1969 et 1973 aux Bell Labs, et utilisé pour réimplémenter le système d'exploitation Unix. Il est depuis devenu l'un des langages de programmation les plus utilisés de tous les temps. Plus d'informations ici : Wikipedia

C++

(pronounced cee plus plus /ˈsiː plʌs plʌs/) is a general-purpose programming language. It has imperative, object-oriented and generic programming features and it provides facilities for low-level memory manipulation. Read more: Wikipedia

C#

(prononcé "C sharp"), l'un des termes informatiques dont la prononciation est moins évidente, est un langage de programmation conçu pour la création d'une variété d'applications fonctionnant sur le cadre .NET. Le C# est simple, puissant, sûr et orienté objet. Plus d'informations ici : Wikipedia

Python

est l'un des langages de programmation les plus utilisés (top 3 selon IEEE Recherche sur le spectre). Il a été publié pour la première fois en 1991 et a depuis gagné en popularité car il est simple à apprendre, tout en étant puissant pour résoudre les problèmes. Sa syntaxe est similaire à celle de la famille C++, mais elle est dotée d'une variété de solutions modernes. En savoir plus DevSkiller

Visual Basic .NET

is a multi-paradigm, object-oriented programming language implemented on the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic language. Although the “.NET” portion of the name was dropped in 2005, “Visual Basic [.NET]” is used to refer to all Visual Basic languages releases since 2002 in order to distinguish between them and the classic Visual Basic. Along with Visual C#, it is one of the two main languages targeting the .NET framework. Read more: Wikipedia

PHP

(acronyme récursif de PHP : Hypertext Preprocessor) est un langage de script polyvalent à source ouverte très répandu, particulièrement adapté au développement web et pouvant être intégré au HTML. PHP En savoir plus : Wikipedia

JavaScript

(également connu sous le nom de JS) est un langage dynamique de haut niveau, basé sur un prototype, non typé. Selon l'environnement, JavaScript peut être interprété ou compilé. C'est un langage de programmation multi-paradigme, qui supporte des styles de programmation orientés objet, impératifs et fonctionnels. Pour en savoir plus, cliquez ici : DevSkiller

Perl

a été développé à l'origine par Larry Wall en 1987 comme un langage de script Unix à usage général pour faciliter le traitement des rapports. Depuis lors, il a subi de nombreux changements et révisions. Perl 6, qui a commencé comme une refonte de Perl 5 en 2000, a finalement évolué vers un langage distinct. Les deux langages continuent à être développés indépendamment par des équipes de développement différentes et ils empruntent librement des idées l'un à l'autre. Plus d'informations ici : Wikipedia

Ruby

est un langage de programmation dynamique, réfléchi, orienté objet et d'usage général. Il a été conçu et développé au milieu des années 1990 par Yukihiro "Matz" Matsumoto au Japon. Selon son créateur, Ruby a été influencé par Perl, Smalltalk, Eiffel, Ada et Lisp. Plus d'informations ici : Wikipedia

Swift

est un langage de programmation polyvalent et multi-paradigme compilé, développé par Apple Inc. pour iOS, macOS, watchOS, tvOS et Linux. Pour en savoir plus, cliquez ici : Wikipedia

R

is an open source programming language and software environment for statistical computing and graphics. It is widely used among statisticians and data miners for developing statistical software and data analysis. Plus d'informations ici : Wikipedia

Allez sur

(souvent appelé golang) est un langage de programmation libre et gratuit créé par Google. Plus d'informations ici : Wikipedia

Objectif-C

est un langage de programmation généraliste, orienté objet, qui ajoute des messages de type Smalltalk au langage de programmation C. Il a été le principal langage de programmation utilisé par Apple pour l'OS X et iOS et leurs interfaces de programmation d'applications (API) respectives Cocoa et Cocoa Touch avant l'introduction de Swift. Plus d'informations ici : Wikipedia

SQL

est le langage de programmation de base de données le plus populaire. Historiquement, ce paradigme de programmation déclaratif a été une caractéristique clé des requêtes ad hoc exécutées pour l'introspection de données par des utilisateurs humains directement avec SQL (plutôt qu'avec une interface utilisateur). De nos jours, le SQL est également intégré dans d'autres langages de programmation plus généraux comme Java afin d'accéder aux données des bases de données centrales. Pour en savoir plus, cliquez ici : DevSkiller

Scala  

est un langage de programmation polyvalent fournissant un support pour la programmation fonctionnelle et un système de type statique fort. Conçu pour être concis, bon nombre des décisions de conception de Scala visent à répondre aux critiques de Java. Plus d'informations ici : Wikipedia

Android

is the world’s most popular operating system (it’s not a programming language) dedicated mainly to mobile devices. The source code was developed by Google under the Android Open Source Project (AOSP). Subsequent versions are usually released annually and are announced at Google I/O conferences. Read more: DevSkiller

Database IT terms

Base de données

est un ensemble d'informations stockées et utilisées par le logiciel, organisé de manière à pouvoir être facilement géré. Les bases de données traditionnelles sont organisées par champs, enregistrements et fichiers.

Base de données relationnelle

est une base de données organisée selon le modèle relationnel. Les relations sont une connexion logique entre différentes tables établie sur la base de l'interaction entre ces tables. Toutes les bases de données relationnelles utilisent le SQL (Structured Query Language) pour opérer sur les données (insertion, mise à jour, chargement). Il ressemble à un tableur. Exemples : Oracle, MySQL, Postgres, SQL Server. Plus d'informations ici : Wikipedia

Base de données NoSQL 

base de données non relationnelle ou non-SQL. Contrairement aux bases de données relationnelles, elle utilise d'autres formes que les données tabulaires comme les collections de valeurs clés, les structures à plusieurs niveaux, les graphiques, etc. Ces bases de données sont généralement choisies pour leurs performances, leur extensibilité et leur flexibilité dans la conception des schémas.

Le théorème de la PAC

states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees: consistency (every read receives the most recent write or an error), availability (every demander receives a non-error response without the guarantee that it contains the most recent write) and partition tolerance (the system continues to operate despite an arbitrary number of messages being dropped or delayed by the network between nodes). In other words, CAP theorem states that in the presence of a network partition, one has to choose between consistency and availability. Read more: Wikipedia

ACID

est un acronyme composé des termes informatiques Atomicité, Consistance, Isolation, Durabilité. Il s'agit d'un ensemble de propriétés liées aux moteurs de base de données garantissant la cohérence des données après modification. Plus d'informations ici : Wikipedia

User Interface IT terms

GUI/UI

ou "Interface utilisateur graphique", est la partie visuelle du logiciel ou d'un site web qui permet à l'utilisateur d'interagir avec l'application. Chaque fois que vous utilisez une application, vous l'utilisez en cliquant sur l'interface graphique.

Conception réactive

est chargé de faire en sorte que l'interface de l'application s'affiche bien sur tous les appareils possibles, comme les téléphones, les PC ou les tablettes, que nous utilisons pour y accéder.

CSS

(Cascading Style Sheets) est une méthode d'attribution de règles de formatage à une page HTML qui permet de séparer le contenu et la présentation d'un site web. Cette séparation donne aux développeurs web la possibilité de modifier instantanément l'apparence d'un élément HTML spécifique, comme la position, les couleurs, les polices, etc. dans l'ensemble d'un site web. Pour en savoir plus, cliquez ici : Wikipedia

Conception des matériaux

est la philosophie de conception de Google qui décrit l'aspect et le fonctionnement des applications. Elle décompose tout, de l'animation à la mise en page en passant par le style, et donne des conseils sur les modèles, les composants et la convivialité. Plus d'informations ici : Wikipedia

Bootstrap

est un cadre web frontal gratuit et open-source pour la conception de sites web et d'applications web. Il facilite la création de pages web en permettant aux concepteurs de choisir parmi une vaste collection d'éléments, de comportements et de raccourcis préétablis. L'objectif est d'unifier la conception et de permettre aux concepteurs, tant non techniques que techniques, d'améliorer la qualité de leur design. Plus d'informations ici : Wikipedia

Testing IT terms

Tests unitaires

est un processus de développement de logiciels dans lequel les plus petites parties testables d'une application (appelées unités) sont vérifiées individuellement et indépendamment pour voir si elles réussissent. C'est le cas de la plupart des bibliothèques populaires : JUnit, Mocha, NUnit, RSpec.

Tests d'intégration

sont un niveau de test de logiciels où les unités individuelles sont combinées et testées en tant que groupe. Ces tests sont effectués afin d'exposer les défauts de l'interface et des interactions entre les composants ou les systèmes intégrés. Elle se produit après les essais unitaires et avant les essais de validation. Plus d'informations ici : Wikipedia

Tests d'acceptation

sont un niveau de test de logiciel où un système est testé pour son acceptabilité. L'objectif de ce test est d'évaluer la conformité du système aux exigences de l'entreprise, aux besoins des utilisateurs et aux processus opérationnels. Les tests d'acceptation déterminent si un système satisfait aux critères d'acceptation et permettent à l'utilisateur, aux clients ou à une autre entité autorisée de déterminer s'il accepte ou non le système. Pour en savoir plus : Fondements du test de logiciels

Tests de performance

sont un type de test de logiciel qui vise à déterminer comment un système se comporte en termes de réactivité et de stabilité sous une certaine charge de travail (généralement sous stress). Plus d'informations ici : Fondements du test de logiciels

Development tools and processes IT terms

Système de contrôle des versions

est la gestion des modifications apportées aux documents, aux programmes informatiques, aux grands sites web et aux autres collections d'informations. Les modifications sont généralement identifiées par un code numérique ou une lettre, appelé "numéro de révision", "niveau de révision" ou simplement "révision". Par exemple, un ensemble initial de fichiers est "révision 1". Lorsque le premier changement est effectué, l'ensemble résultant est "révision 2", et ainsi de suite. Chaque révision est associée à un horodatage et à la personne qui effectue la modification. Les révisions peuvent être comparées, restaurées, et avec certains types de fichiers, fusionnées. Plus d'informations ici : Wikipedia

Subversion (svn)

est un autre système de contrôle de version open source populaire. Contrairement à Git, tous les développeurs utilisent un référentiel centralisé. Plus d'informations ici : Contrôle des versions avec subversion

Git

est un système de contrôle de version distribué en open source gratuit qui permet de suivre les modifications des fichiers informatiques et de coordonner le travail sur ces fichiers entre plusieurs personnes. Il est principalement utilisé pour la gestion du code source dans le développement de logiciels, mais il peut être utilisé pour suivre les changements dans n'importe quel ensemble de fichiers. Plus d'informations ici : Wikipedia

Engager 

Dans les systèmes de contrôle de version, a commit is a saved change made to the source code.  Commits are usually added/deleted files or directories, changed file contents, etc. Plus d'informations ici : Wikipedia

Développement basé sur le tronc

est la pratique consistant à fusionner toutes les copies de travail des développeurs sur une ligne principale partagée plusieurs fois par jour. Plus d'informations ici : TrunkBasedDevelopment

GitHub

est un service d'hébergement Git très populaire. Il est surtout utilisé pour le code. En plus de Git, il offre plusieurs fonctionnalités de collaboration, des termes informatiques importants tels que le suivi des bogues, les demandes de fonctionnalités, la gestion des tâches et les wikis. Site web : GitHub.com. Plus d'informations ici : Wikipedia

GitLab

tout comme GitHub est un hébergement de dépôt Git qui fournit des wikis et des fonctionnalités de suivi des problèmes. Il s'agit d'un projet open source développé par GitLab Inc. Site web : GitLab.com. Lire la suite : Wikipedia

Bitbucket

est un service d'hébergement de dépôts Git et Mercurial appartenant à Atlassian. Comme ses homologues, il offre plusieurs fonctions de collaboration telles que le suivi des problèmes et les wikis. Plus d'informations ici : Bitbucket.org

IDE

ou "Integrated Development Environment" est une application d'édition de code conçue pour aider les programmeurs à écrire, exécuter et déboguer du code. Exemples : Eclipse, IntelliJ IDEA, Visual Studio, PHP Storm, etc.

Construire des outils

sont utilisés pour convertir le code de programmation écrit par le développeur en code binaire exécutable par un ordinateur et l'exécuter. Il gère généralement des dépendances externes (bibliothèques ou cadres) qui sont utilisées dans le projet. Exemples : Gradle, Maven, Rake, MSBuild, Phing.

Serveur d'automatisation (comme Jenkins, Bamboo, TeamCity)

aide à automatiser la partie non humaine du processus de développement de logiciels grâce à une intégration continue et en facilitant les aspects techniques de la livraison continue. Plus d'informations ici : Wikipedia

Intégration continue 

l'extension de la pratique du développement basé sur le tronc, où chaque intégration est vérifiée par des outils automatisés et testée pour donner un retour d'information rapide et détecter les erreurs le plus vite possible. Plus d'informations ici : Martin Fowler

Livraison continue

est une approche de génie logiciel dans laquelle les équipes produisent des logiciels dans des cycles courts, garantissant qu'ils peuvent être diffusés de manière fiable à tout moment. Cela signifie que le progiciel de déploiement est préparé et testé automatiquement en continu (par exemple une fois par jour) et prêt à être envoyé en production. Pour en savoir plus, cliquez ici : Wikipedia

Déploiement continu

est similaire à la livraison continue mais se termine par le déploiement du paquet en production au lieu d'être simplement prêt à être déployé.

Déploiement

c'est pousser la nouvelle version d'un logiciel dans son environnement cible.

Dossier

est une caractéristique distinctive d'un élément de logiciel (par exemple, la performance, la portabilité ou la fonctionnalité). Plus d'informations ici : Wikipedia

Communiqué 

la mise à disposition des utilisateurs finaux du paquet de versions (fonctionnalités).

Pipeline de déploiement

defines the sequence of stages that must be complété before an application is rolled out to production. By breaking up the deployment lifecycle into stages, you collect increasing confidence, usually at the cost of extra time. Early stages reveal most problems yielding faster feedback, while later stages provide slower and more thorough probing. Stages can comprennent la construction, le déploiement, les tests, l'archivage, etc. Plus d'informations ici : Martin Fowler

Billet / émission / incident

est un rapport en cours d'exécution sur un problème particulier, son statut et d'autres données pertinentes dans le cadre d'un système de suivi des problèmes. Ils sont généralement créés dans un environnement de service d'assistance ou de centre d'appel et ont presque toujours un numéro de référence unique, également appelé une affaire, de l'UE, ou journal des appels numéro. Ce numéro est utilisé pour permettre à l'utilisateur ou au personnel d'aide de localiser rapidement, d'ajouter ou de communiquer le statut de la question ou de la demande de l'utilisateur. Plus d'informations ici : Wikipedia

Architecture IT terms

Architecture

dans les technologies de l'information (en particulier les ordinateurs et plus récemment les réseaux), l'architecture est un terme appliqué à la fois au processus et au résultat de la réflexion et de la spécification de la structure globale, des composants logiques et des interrelations logiques d'un ordinateur, de son système d'exploitation et de son réseau. Plus d'informations ici : WhatIs.com

API

(Application Programming Interface) est un ensemble de définitions, de protocoles, de schémas, d'outils et de pratiques pour communiquer avec l'application. Pour les développeurs, l'API est ce que l'interface utilisateur graphique est pour les utilisateurs. Elle permet aux développeurs (et enfin aux autres applications) de communiquer avec les applications. Pour en savoir plus : Wikipedia

REST

(Representational State Transfer) est un ensemble de lignes directrices pour la mise en place de services web assurant l'interopérabilité entre des ordinateurs distants. Il est axé sur les ressources et les opérations de base (comme l'édition, la lecture et l'ajout) qui y sont liées. Ils sont couramment utilisés pour exposer l'API publique. Pour en savoir plus, cliquez ici : Wikipedia

SOAP 

Le protocole Simple Object Access Protocol est un moyen d'échanger des informations structurées entre ordinateurs. Par rapport à REST, il est plus formel, moins flexible et nécessite une définition de schéma (WSDL). Plus d'informations ici : Wikipedia

Monolithe

est un style d'architecture basé sur l'exécution sur une seule couche d'application qui tend à regrouper toutes les fonctionnalités nécessaires à l'architecture. Pour faire simple, cela signifie être composé d'un seul tenant. Les logiciels monolithiques sont conçus pour être autonomes ; les composants du programme sont interconnectés et interdépendants plutôt que d'être couplés de façon lâche comme c'est le cas des logiciels modulaires. De plus, si un composant du programme doit être mis à jour, l'application entière doit être réécrite, alors que, dans les applications modulaires, tout module séparé (tel qu'un micro-service) peut être modifié sans affecter les autres parties du programme. Pour en savoir plus : WhatIs.com

Système distribué

est un modèle dans lequel les composants situés sur des ordinateurs en réseau communiquent et coordonnent leurs actions en faisant passer des messages, apparaissant à ses utilisateurs comme un seul système cohérent. Les composants interagissent les uns avec les autres afin d'atteindre un objectif commun. Trois caractéristiques importantes des systèmes distribués sont : la simultanéité des composants, l'absence d'une horloge globale et la défaillance indépendante des composants. Plus d'informations ici : Wikipedia

Architecture orientée services (SOA)

is a style of software design based on discrete software components (services) that collectively provide functionalities of larger software architecture. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement en ligne. In this approach, services are provided to other components by application components, through a communication protocol over a network. Basic principles of service-oriented architecture are independent of vendors, products, and technologies. Service-oriented architecture has been mainly been used and focused on a big enterprise scale. Read more: Wikipedia

Microservices

sont une variante du style architectural de l'architecture orientée services (SOA). L'idée sous-jacente aux microservices est que certains types d'applications deviennent plus faciles à construire et à maintenir lorsqu'elles sont décomposées en morceaux plus petits et composables qui fonctionnent ensemble. Chaque composant est autonome, développé séparément, et l'application est alors simplement la somme de ses composants constitutifs. Cela contraste avec une application traditionnelle, "monolithique", développée en une seule pièce. Le style Microservices est utilisé par de nombreuses organisations (comme Netflix, Uber et Facebook) aujourd'hui pour changer la donne et atteindre un haut degré d'agilité, de rapidité de livraison et d'échelle. Pour en savoir plus, cliquez ici : Martin Fowler

CRUD 

acronyme de Create, Read, Update, Delete. Il décrit un type d'applications axées sur la simple édition de données sans aucune opération commerciale riche. Appelées familièrement "visionneuses de bases de données". Plus d'informations ici : Wikipedia

Infrastructure IT terms

Infrastructure

désigne le matériel, les logiciels, les ressources réseau et les services composites nécessaires à l'existence, au fonctionnement et à la gestion d'un environnement informatique d'entreprise. Il permet à une organisation de fournir des solutions et des services informatiques à ses employés, partenaires et/ou clients. Il est généralement interne à une organisation et déployé dans des installations qui lui appartiennent.

Service de cloud computing

est tout service mis à la disposition des utilisateurs à la demande sur Internet à partir des serveurs d'un fournisseur d'informatique en nuage (par exemple, Microsoft Azure ou Amazon Web Services), par opposition à un service fourni à partir de serveurs physiques sur place.

Software as a Service (SaaS)

parfois appelé "logiciel à la demande", est un modèle de licence et de livraison de logiciels dans lequel les logiciels sont concédés sous licence sur la base d'un abonnement et sont hébergés de manière centralisée. Le SaaS est la forme la plus connue de service en nuage pour les consommateurs. Les fournisseurs de SaaS mettent l'application à la disposition des utilisateurs par l'intermédiaire d'Internet, généralement une interface basée sur un navigateur. Les clients SaaS peuvent profiter du logiciel sans avoir à se soucier du développement, de la maintenance, du support, des mises à jour ou des sauvegardes. L'inconvénient, cependant, est que votre expérience du logiciel dépend entièrement du fournisseur de SaaS, qui est responsable de la stabilité, des rapports, de la facturation et de la sécurité. Exemples de SaaS : Gmail, Dropbox, Salesforce ou Netflix. Pour en savoir plus, cliquez ici : Wikipedia

Plate-forme en tant que service (PaaS)

est une catégorie de services de cloud computing. Le PaaS fonctionne à un niveau inférieur au SaaS, fournissant généralement une plate-forme sur laquelle des logiciels peuvent être développés et déployés. Les fournisseurs de services PaaS réduisent une grande partie du travail lié aux serveurs et offrent aux clients un environnement dans lequel le système d'exploitation et le logiciel du serveur, ainsi que le matériel du serveur et l'infrastructure réseau sous-jacents sont pris en charge, laissant aux utilisateurs la liberté de se concentrer sur l'aspect commercial de l'évolutivité et sur le développement d'applications de leur produit ou service. Il permet customers to développer, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Le PaaS rend le développement, les tests et le déploiement des applications rapides, simples et rentables. Exemples de PaaS : Pivotal Cloud Foundry, Heroku. Plus d'informations ici : Wikipedia

Infrastructure as a Service (IaaS)

est le le modèle de service dans le nuage le plus élémentaire offrant une infrastructure informatique - termes informatiques comme les machines virtuelles et autres ressources - sous forme de service aux abonnés. Il s'agit d'un niveau inférieur à celui du PaaS. Généralement, le IaaS fournit du matériel, du stockage, des serveurs et de l'espace de centre de données ou des composants de réseau. Il vous permet d'évoluer rapidement en fonction de la demande et de ne payer que ce que vous utilisez. L'IaaS est donc bien adapté aux charges de travail temporaires, expérimentales ou qui changent de manière inattendue. Exemples d'IaaS : Amazon Web Services et son EC2. Pour en savoir plus, cliquez ici : Wikipedia

Automatisation 

L'automatisation des TI consiste à relier des systèmes et des logiciels disparates de telle sorte qu'ils deviennent autonomes ou autorégulés. Plus d'informations ici : TechTarget.com

L'infrastructure comme code (IaC)

également appelée infrastructure programmable, signifie l'écriture de code (qui peut se faire en utilisant un langage de haut niveau ou tout langage descriptif) pour gérer les configurations et automatiser l'approvisionnement de l'infrastructure en plus des déploiements. L'IaC ne consiste pas seulement à écrire des scripts, mais aussi à utiliser des pratiques de développement de logiciels testées et éprouvées qui sont déjà utilisées dans le développement d'applications, par exemple le contrôle de version, les tests, les petits déploiements, l'utilisation de modèles de conception, etc. En bref, cela signifie que vous écrivez du code pour approvisionner et gérer votre serveur, en plus d'automatiser les processus. C'est une approche de la gestion de l'infrastructure informatique à l'ère du cloud, des microservices et de la fourniture continue. Pour en savoir plus, cliquez ici : ThoughtWorks

Conteneurs

consiste en un environnement d'exécution complet : une application, plus toutes ses dépendances, bibliothèques et autres binaires, ainsi que les fichiers de configuration nécessaires à son exécution, regroupés en un seul paquet. Les conteneurs sont une solution au problème de la fiabilité d'exécution des logiciels lorsqu'ils sont déplacés d'un environnement informatique à un autre. Il peut s'agir du portable d'un développeur à un environnement de test, d'un environnement de mise en scène à la production, et peut-être d'une machine physique dans un centre de données à une machine virtuelle dans un nuage privé ou public. Plus d'informations ici : CIO

Système d'exploitation

est un logiciel système qui gère le matériel informatique et logiciel et fournit des services communs pour les programmes informatiques. Tous les programmes informatiques, à l'exception des microprogrammes, nécessitent un système d'exploitation pour fonctionner. Exemples : Microsoft Windows, macOS, Linux. Plus d'informations ici : Wikipedia

Shell

est une interface qui permet à l'utilisateur d'interagir avec un ordinateur. Elle fournit une interface utilisateur pour l'accès aux services d'un système d'exploitation. En général, les shells des systèmes d'exploitation utilisent soit une interface en ligne de commande (CLI), soit une interface utilisateur graphique (GUI), selon le rôle et le fonctionnement particulier de l'ordinateur. Le nom vient du fait que les shells sont des couches autour du noyau du système d'exploitation. Plus d'informations ici : Wikipedia

Métrique

la mesure d'une caractéristique particulière de la performance ou de l'efficacité d'un programme.

Journal de bord

est un compte rendu de ce qui s'est passé. En général, il permet de diagnostiquer des problèmes ou d'avoir un aperçu de ce qui se passe pendant le cycle de vie d'une application.