Get Started. It's Free
or sign up with your email address
IT panorama by Mind Map: IT panorama

1. Technologies

1.1. Languages

1.1.1. Javascript

1.1.1.1. AngularJS

1.1.1.2. NodeJS

1.1.1.3. VueJS

1.1.1.4. ReactJS

1.1.2. Java

1.1.2.1. Spring

1.1.2.1.1. Spring Boot

1.1.2.1.2. Spring Data

1.1.2.1.3. Spring MVC

1.1.2.1.4. Spring Batch

1.1.2.1.5. ...

1.1.2.2. Hibernate

1.1.2.3. Android

1.1.2.4. Scala

1.1.2.5. Kotlin

1.1.2.6. Swing

1.1.2.7. SWT

1.1.2.8. Java Server Faces

1.1.2.9. JVM

1.1.2.9.1. =

1.1.2.9.2. fr

1.1.2.9.3. en

1.1.3. for iOS...

1.1.3.1. ObjectiveC

1.1.3.2. Swift

1.1.4. C

1.1.4.1. C++

1.1.5. IONIC

1.1.6. PHP

1.1.6.1. Laravel

1.1.6.2. Symfony

1.1.6.3. Zend

1.1.7. .NET

1.1.7.1. Visual Basic

1.1.7.2. C#

1.1.7.2.1. ASP.Net

1.1.7.2.2. EntityFramework

1.1.7.2.3. WCF

1.1.7.2.4. WPF

1.1.7.2.5. Testing

1.1.7.2.6. Xamarin

1.1.7.3. F#

1.1.8. SQL

1.1.8.1. =

1.1.8.1.1. Structured

1.1.8.1.2. Query

1.1.8.1.3. Language

1.1.8.2. Usage

1.1.8.2.1. DDL

1.1.8.2.2. DML

1.1.9. xxML

1.1.9.1. HTML

1.1.9.2. XML

1.1.9.3. YAML

1.1.9.4. =

1.1.9.4.1. Markup

1.1.9.4.2. Language

1.1.9.5. fr

1.1.9.5.1. Langage caractérisé par l'utilisation de balises : les informations sont stockées entre une balise d'ouverture et une balise de fermeture.

1.1.9.6. en

1.1.9.6.1. In these languages, information is stored within tags (one for opening, and another for closing)

1.1.10. Gherkin

1.1.10.1. Keywords

1.1.10.1.1. Feature

1.1.10.1.2. Scenario

1.1.10.1.3. Given

1.1.10.1.4. When

1.1.10.1.5. Then

1.1.10.1.6. Scenario Outline

1.1.10.1.7. Examples

1.1.10.2. fr

1.1.10.2.1. Langage utilisé pour définir des scénarios des test fonctionnels, en langage quasi naturel, en respectant la règle des 3A

1.1.10.3. en

1.1.10.3.1. This language is used to define functional tests scenarios ; it's very close to natural language, and 3A rule is applied

1.2. Domain

1.2.1. IoT

1.2.1.1. =

1.2.1.1.1. Internet

1.2.1.1.2. of

1.2.1.1.3. Things

1.2.1.2. fr

1.2.1.2.1. Ensemble de technologies permettant à des objets de communiquer entre eux, d'interagir avec leur environnement, en échangeant des informations via Internet

1.2.1.3. en

1.2.1.3.1. Set of technologies allowing objects to interact with their environment or between themselves, and communicate through internet

1.2.2. Artificial Intelligence

1.2.2.1. Machine Learning

1.2.3. BigData

1.2.3.1. L'ensemble des processus et technologies utilisée quand la source des données est caractérisée par : Velocity, Variety et Volume , le but étant d'en extraire de la Valeur (Information).

1.2.3.1.1. Data Science

1.2.3.1.2. Data Engineering

1.2.3.2. Process and Technologies used to extract value from a data source caracterised by : Velocity, Variety and Volume.

1.2.4. Blockchain

1.2.4.1. Smart Contract

1.2.5. Business Intelligence

1.2.5.1. Ensemble des processus d'extraction, transformation et visualisation des données opérationnelles d'une entreprise afin d'éclairer la prise de décision.

1.2.5.1.1. ETL

1.2.5.1.2. ODS

1.2.5.1.3. DataWare House

1.2.5.1.4. Data Vizualisation

1.3. Tools

1.3.1. Cloud solutions

1.3.1.1. GCP

1.3.1.1.1. =

1.3.1.2. Microsoft Azure

1.3.1.3. Amazon Cloud

1.3.1.4. Redhat Openshift

1.3.1.5. IBM

1.3.2. Databases

1.3.2.1. SQL

1.3.2.1.1. Oracle

1.3.2.1.2. PostgreSQL

1.3.2.1.3. MySQL

1.3.2.2. NOSQL

1.3.2.2.1. MongoDB

1.3.2.2.2. ElasticSearch

1.3.2.2.3. CouchBase

1.3.2.2.4. HDFS

1.3.2.3. Transact SQL

1.3.2.3.1. SQL Server (Microsoft)

1.3.3. Monitoring

1.3.3.1. ELK

1.3.3.1.1. =

1.3.3.2. AppInsights

1.3.3.3. Operation Management Service

1.3.3.4. NewRelic

1.3.3.5. Nagios

1.3.3.6. Cloudera Manager

1.3.3.7. Ambari

1.3.3.8. Fabric

1.3.4. Automation

1.3.4.1. Jenkins

1.3.4.2. Travis

1.3.4.3. VSTS

1.3.4.4. Octopus

1.3.4.5. Bitrise

1.3.5. Source Control

1.3.5.1. Git

1.3.5.1.1. Github

1.3.5.1.2. Gitlab

1.3.5.1.3. Bitbucket

1.3.5.2. SVN

1.3.5.2.1. Subversion

1.3.5.3. VSS

1.3.5.3.1. =

1.3.6. Docker

1.3.6.1. fr

1.3.6.1.1. Technologie de "conteneurisation"; il s'agit d'un environnement indépendant beaucoup plus léger qu'une machine virtuelle, mais se comportant quasiment à l'identique

1.3.6.2. en

1.3.6.2.1. Container-based technology ; it's like a virtual machine, but much more lightweight

1.4. Keywords

1.4.1. Stack

1.4.1.1. Fullstack

1.4.1.1.1. Backend

1.4.1.1.2. Frontend

1.4.1.2. Mobile

1.4.2. CRUD

1.4.2.1. =

1.4.2.1.1. Create

1.4.2.1.2. Read

1.4.2.1.3. Update

1.4.2.1.4. Delete

1.4.2.2. en

1.4.2.2.1. Basic operations one can apply on a system ; ie: SQL, REST

1.4.2.3. fr

1.4.2.3.1. Opérations de base qu'on peut effectuer sur un système ; notamment SQL

1.4.3. DDD

1.4.3.1. =

1.4.3.1.1. Domain

1.4.3.1.2. Driven

1.4.3.1.3. Design

1.4.4. CLI

1.4.4.1. =

1.4.4.1.1. Command

1.4.4.1.2. Line

1.4.4.1.3. Interface

1.4.5. OS

1.4.5.1. =

1.4.5.1.1. Operating

1.4.5.1.2. System

1.4.6. GUI

1.4.6.1. =

1.4.6.1.1. Graphical

1.4.6.1.2. User

1.4.6.1.3. Interface

1.4.6.2. fr

1.4.6.2.1. Représente la partie visible d'une application, avec laquelle l'utilisateur peut interagir

1.4.6.3. en

1.4.6.3.1. Visible part of an application, usable by the user

1.4.6.4. Lightweight client

1.4.6.4.1. fr

1.4.6.4.2. en

1.4.6.5. Heavy client

1.4.6.5.1. fr

1.4.6.5.2. en

1.4.7. ORM

1.4.7.1. =

1.4.7.1.1. Object

1.4.7.1.2. Relational

1.4.7.1.3. Mapping

1.4.7.2. fr

1.4.7.2.1. Composant d'une application permettant de faire le lien entre des classes représentant des conteneurs de données, et la façon dont ces informations sont stockées dans une base de données (relationnelle)

1.4.7.3. en

1.4.7.3.1. Component of an application handling the link between applicative classes used as data containers, and storage of this data in a relational database

1.4.8. Portability

1.4.8.1. fr

1.4.8.1.1. Capacité à s'exécuter dans plusieurs environnements, ou plusieurs versions différentes. Exemple : Java

1.4.8.2. en

1.4.8.2.1. Ability to execute a program on different environments, or versions. IE : Java

1.4.9. xxx as a Service

1.4.9.1. IaaS

1.4.9.1.1. =

1.4.9.1.2. fr

1.4.9.1.3. en

1.4.9.2. PaaS

1.4.9.2.1. =

1.4.9.2.2. fr

1.4.9.2.3. en

1.4.9.3. CaaS

1.4.9.3.1. =

1.4.9.3.2. fr

1.4.9.3.3. en

1.4.9.4. SaaS

1.4.9.4.1. =

1.4.9.4.2. fr

1.4.9.4.3. en

1.4.10. CPU

1.4.10.1. =

1.4.10.1.1. Control

1.4.10.1.2. Processing

1.4.10.1.3. Unit

1.4.10.2. fr

1.4.10.2.1. Composant d'un ordinateur chargé de plus ou moins toutes les opérations de calcul, processing, logique, exécution d'instructions..

1.4.10.3. en

1.4.10.3.1. Technical component inside a computer which is reponsible for more or less all operations such as logical, processing, insttructions executions...

1.4.11. GPU

1.4.11.1. =

1.4.11.1.1. Graphical

1.4.11.1.2. Processing

1.4.11.1.3. Unit

1.4.11.2. fr

1.4.11.2.1. Même principe que le CPU, mais dédié aux opérations graphiques exclusivement ; intervient en complément du CPU

1.4.11.3. en

1.4.11.3.1. Same as CPU, but dedicated only to graphical purposes ; it's a complement to CPU

1.4.12. Responsive

1.4.12.1. fr

1.4.12.1.1. Caractéristique d'un site web capable d'adapter la disposition globale des éléments dans la page en fonction de la résolution de l'écran ; par exemple, si on est sur un mobile, un menu s'affichera en colonne, alors que sur un écran classique il sera horizontal

1.4.12.2. en

1.4.12.2.1. Property of a website which is able to adapt te layout of widgets depending on screen's resolution ; for example, on a mobile device, a menu would be displayed vertically, while on a computer screen it would be horizontal

1.4.13. Micro-Services

2. Methodologies

2.1. Software Craftsmanship

2.1.1. Testing

2.1.1.1. Test First approaches

2.1.1.1.1. TDD

2.1.1.1.2. BDD

2.1.1.2. FIRST

2.1.1.2.1. =

2.1.1.3. Comprehensive Testing

2.1.1.3.1. should...when...

2.1.1.3.2. fr

2.1.1.3.3. en

2.1.1.4. Property based testing

2.1.1.5. 3A rule

2.1.1.5.1. =

2.1.1.5.2. en

2.1.1.5.3. fr

2.1.1.6. Testing strategy

2.1.1.6.1. Tests types

2.1.1.6.2. Temporal naming

2.1.1.6.3. Tests categories

2.1.2. Code Quality

2.1.2.1. Clean Code

2.1.2.1.1. Code smells

2.1.2.1.2. Refactoring

2.1.2.2. SOLID

2.1.2.2.1. Single Responsibility

2.1.2.2.2. Open Close

2.1.2.2.3. Liskov Substitution

2.1.2.2.4. Interface Segregation

2.1.2.2.5. Dependency Inversion

2.1.2.3. DRY

2.1.2.3.1. =

2.1.2.4. KISS

2.1.2.4.1. =

2.1.2.4.2. fr

2.1.2.4.3. en

2.1.2.5. Functional Programming

2.1.2.5.1. Fluent expressions

2.1.2.5.2. Lambda expresssions

2.1.2.6. Boy Scout Rule

2.1.2.6.1. fr

2.1.2.6.2. en

2.1.3. Community

2.1.3.1. Pair programming

2.1.3.1.1. fr

2.1.3.1.2. en

2.1.3.2. Pair Review

2.1.3.2.1. fr

2.1.3.2.2. en

2.1.3.3. Collective Ownership

2.1.3.4. Lunch & Learn

2.1.3.4.1. fr

2.1.3.4.2. en

2.1.3.5. BBL

2.1.3.5.1. =

2.1.3.5.2. fr

2.1.3.5.3. en

2.1.4. Manifesto

2.1.4.1. http://manifesto.softwarecraftsmanship.org

2.1.4.2. Not only working software, but also well-crafted software

2.1.4.3. Not only responding to change, but also steadily adding value

2.1.4.4. Not only individuals and interactions, but also a community of professionals

2.1.4.5. Not only customer collaboration, but also productive partnerships

2.2. DevOps

2.2.1. CALMS

2.2.1.1. Culture

2.2.1.2. Automation

2.2.1.3. Learn / Lean

2.2.1.4. Measure

2.2.1.5. Sharing

2.2.2. Wall of Confusion

2.2.2.1. Dev => Change

2.2.2.2. Ops => Stabilize

2.2.3. Continuous Integration

2.2.3.1. fr

2.2.3.1.1. Les modifications faites par les différents développeurs sont "intégrées" entre elles en continu : les développeurs commitent (=envoient) leur code sur un serveur, qui garantit l'historisation des modifications, et l'usine logicielle s'assure à chaque nouveau commit que celui-ci est compatible avec la base de code existante

2.2.3.2. en

2.2.3.2.1. Changes made by developpers are "integrated" all together continuously : developpers commit (send / push) the code they updated to a server which garantees historization and consistency ; the software factory ensures for each new commit that it's compatible with existing code base

2.2.4. Continuous Deployment

2.2.4.1. Continuous Delivery

2.2.5. Continuous Testing

2.2.6. Alerting (Operation Management)

2.2.7. Scalability

2.2.7.1. Load Balancing

2.2.7.2. fr

2.2.7.2.1. Capacité d'un système à continuer à rendre son service malgré une augmentation de la charge ou du nombre d'utilisateurs

2.2.7.3. en

2.2.7.3.1. Capacity of a system to go on providing its service despite charge's of number of users' increase

2.3. Agile

2.3.1. Manifesto

2.3.1.1. http://agilemanifesto.org

2.3.1.2. 4 values

2.3.1.2.1. Working software over comprehensive documentation

2.3.1.2.2. Individuals and interactions over processes and tools

2.3.1.2.3. Customer collaboration over contract negotiation

2.3.1.2.4. Responding to change over following a plan

2.3.1.3. 12 principles

2.3.1.3.1. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée

2.3.1.3.2. Accueillez positivement les changements de besoins, même tard dans le projet

2.3.1.3.3. Les processus agiles exploitent le changement pour donner un avantage compétitif au client

2.3.1.3.4. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts

2.3.1.3.5. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet

2.3.1.3.6. Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont elles ont besoin et faites-leur confiance pour atteindre les objectifs fixés

2.3.1.3.7. La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face

2.3.1.3.8. Un logiciel opérationnel est la principale mesure d’avancement

2.3.1.3.9. Les processus agiles encouragent un rythme de développement soutenable. Une attention continue à l'excellence technique et à une bonne conception renforce l’agilité

2.3.1.3.10. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle

2.3.1.3.11. Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées

2.3.1.3.12. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence

2.3.2. Scrum

2.3.3. Kanban

2.3.4. SAFe