Par Thomas Eveilleau
Dernière mise à jour : octobre 2019

Dans cette fiche, les éléments suivants du programme réglementaire seront abordés :

  • Concepts et notions de système d'information.
  • Principes généraux d'architecture matérielle et logicielle.
  • Système de gestion de bases de données.
  • Logiciels, progiciels et applicatifs.
  • Ingénierie : langages de programmation-algorithmique.
  • Conception, intégration d'application :
    • Méthodes, normes, outils de développement et maintenance applicative ;
    • Applications métiers.

1. Concepts et notions de système d’information – Définition du système d’information

Un système d’information (SI) participe à la gestion, au traitement, au transport et à la diffusion de l’information au sein d’une organisation.

Il comprend :

  • Des moyens humains : on associe au SI un ensemble de compétences et de métiers (développement logiciel, administration système et réseau, assistance technique et fonctionnelle…) et une structure organisationnelle, généralement désignée « Direction des Systèmes d’Information » (DSI) et composée de divers pôles (« projets », « applicatifs », « réseaux/systèmes », « assistances » ou encore « innovations »…).
  • Du matériel : postes de travail, serveurs, équipements réseaux, téléphonie au sens large et moyens d’impression.
  • Des logiciels : systèmes d’exploitation, applications (logiciels, progiciels etc.) et bases de données.
  • Des processus : on trouve parmi les processus tout ce qui concerne les méthodes d’ingénierie, de développement et de gouvernance des SI (méthodes agiles, méthodes ITIL…).

Les SI participent activement au développement et à la performance des organisations.

Avec l’informatisation qui touche pratiquement l’ensemble des compétences et des métiers exercés dans les collectivités, les DSI sont devenues des directions ressources stratégiques et incontournables.

Ces directions sont parfois rebaptisées DOSI (Direction de l’Organisation et des Systèmes d’Information) ou encore DSIN (Direction des Systèmes d’Information et du Numérique).

2. Principes généraux relatifs à l’architecture matérielle et logicielle

2.1. Architecture matérielle

L’architecture matérielle des SI est composée de quelques grandes familles d’équipements :

  • Les serveurs : il s’agit de machines dédiées à l’hébergement de ressources partagées (stockage, puissance de calcul…) généralement installées dans des locaux adaptés (sécurisés, climatisés…) dans les organisations (salles serveurs dédiées) ou chez des spécialistes (infocentres). On distingue les serveurs physiques (à un serveur correspond un ensemble de composants matériels) et les serveurs virtuels (les composants matériels sont mutualisés dans un objectif d’optimisation). Ces serveurs virtuels s’appuient parfois sur des équipements matériels dédiés appelés hyperviseurs.
  • Les postes de travail : de manière très générique, il s’agit de l’équipement mis à disposition des agents pour permettre l’utilisation du système d’information. On y inclut les ordinateurs fixes (généralement composés d’une unité centrale et d’un écran), les ordinateurs portables mais aussi les tablettes et les équipements hybrides. Les postes de travail peuvent eux aussi être virtualisés : le stockage, la puissance de calcul et le réseau sont centralisés, et les postes deviennent de simples consoles d’accès.
  • Le réseau : il est composé, pour sa partie matérielle, de câbles et de liens de diverses natures (cuivre, fibre optique, câbles réseaux etc.), d’équipements dits « actifs » (commutateurs ou switchs, concentrateurs ou hubs, etc.) et de bornes permettant la transmission d’ondes (bornes Wifi).
  • Les téléphones : utilisés pour passer des appels vocaux, ce terme englobe téléphones traditionnels, téléphones IP (TOIP), téléphones conférences, téléphones mobiles et smartphones. Il est à noter que les postes de travail sont également de plus en plus souvent utilisés pour passer des appels : on parle alors de téléphonie par internet et de softphones.
  • Les imprimantes, les photocopieurs et les multifonctions : utilisés pour obtenir sur papier un document numérique, on y inclut les scanners, les imprimantes 3D et les traceurs grands formats.

Concernant l’architecture matérielle d’un ordinateur, on distingue classiquement :

  • Le microprocesseur, utilisé pour l’exécution des instructions et le traitement des données ;
  • La mémoire vive ou RAM (Random Access Memory), utilisée pour stocker temporairement les informations qui seront traitées par microprocesseur ;
  • La mémoire de masse ou disque dur, utilisée pour stocker de manière plus pérenne les données informatiques ;
  • La carte graphique, en charge de la production d’une image affichable sur un écran.

2.2. Architecture logicielle

On peut identifier trois grandes familles de logiciels :

  • Les systèmes d’exploitation (logiciel système) : ils constituent l’intermédiaire entre le matériel physique (le disque dur, la mémoire vive, le processeur, etc.) et les logiciels applicatifs (traitements de textes, navigateurs Web, etc.). On peut citer ici : Microsoft Windows, GNU/Linux, Apple MacOS.
  • Les applications (logiciel applicatif) : ce sont des programmes informatiques permettant la réalisation d’une tâche ou d’un ensemble de tâches liées. On peut citer ici : un traitement de texte, un tableur, un navigateur Web, un système de gestion des ressources humaines.
  • Les bases de données : elles permettent de stocker et de consulter les données numériques. Des logiciels spécifiques appelés Systèmes de Gestion de Bases de Données (SGBD) fournissent des outils pour le faire.

Les logiciels sont constitués d’un ensemble d’instructions, définies dans un langage informatique ou langage de programmation (c’est-à-dire un code de communication entre un humain et une machine), qui sont exécutées par un ordinateur.

Il existe une grande variété de logiciels en termes de cibles (du particulier aux entreprises multinationales), de périmètre fonctionnel (du petit programme hyper spécialisé aux progiciels de gestion intégrés (PGI ou ERP) qui peuvent couvrir la totalité du système d’information d’une entreprise), de modèles économiques et licences associées (logiciels payants ou gratuits, propriétaires ou libres).

Différence entre logiciel et progiciel : il est d’usage de considérer qu’un logiciel est une application informatique générique pouvant être utilisée pour une vaste gamme d’usages alors qu’un progiciel est une application informatique permettant de répondre à l’ensemble des besoins d’un métier.

Exemples :

  • Un tableur est un logiciel car il peut être utilisé par un comptable, un informaticien, un médecin, un étudiant ou une mère de famille pour des usages très différents.
  • Une solution de de gestion financière est un progiciel car elle permet uniquement de gérer les finances d’une organisation.

3. Systèmes de gestion de bases de données

Les systèmes de gestion de bases de données (SGBD) sont des logiciels qui permettent de stocker, manipuler et partager des informations dans une base de données.

Les plus connus sont : MySQL, ORACLE, Microsoft SQL ou encore IBM DB2.

La majorité des SGBD manipulent des bases de données dites relationnelles, c’est-à-dire des bases de données dans lesquelles l’information est stockée dans des tableaux.

1546873774373-887.png

Un peu de vocabulaire : tables, enregistrements, valeurs, clefs, schéma.

L’image ci-dessus présente 3 tables (clients, ventes et produits) et indique comment le lien entre un produit et un client peut se faire depuis une vente. :  les clefs « id_client » et « id_produit » le permettent.

Le langage de programmation utilisé très majoritairement pour exploiter les bases de données de ce type est le « langage de requête structurée » ou SQL (Structured Query Language). Il sert à construire des « requêtes ».

image-20190107160437-2.png

Dans la portion de code SQL présenté ci-dessus on retrouve du vocabulaire très courant en SQL : le SELECT qui liste ce que nous voulons chercher, le FROM qui précise où, le WHERE qui indique les conditions et le LIMIT qui limite les résultats de recherche.

Les SGBD sont généralement gérés par un DBA (DataBase Administrator), ou administrateur de bases de données.

4. Langages de programmation et algorithmique

L’algorithmique est un ensemble d’opérations permettant la résolution d’un problème. Traduit par un langage de programmation, il permet la réalisation de ces opérations par un ordinateur. En d’autres termes, il permet de faire comprendre le langage humain à une machine. Il constitue la structure logique du programme informatique et est indépendant du langage de programmation.

image-20190107160437-3.png

Un langage de programmation est un code de communication entre un humain et une machine. C’est à l’aide de ces langages que sont écrits les programmes informatiques et les logiciels. Rédigé à partir d’un alphabet, d’un vocabulaire et de règles de grammaire et de significations, le code source est ensuite interprété en langage machine, c’est-à-dire en une succession d’opérations réalisées par l’ordinateur.

Parmi les langages de programmation les plus répandu, peuvent être cités :

  • Le JAVA
  • Le langage C
  • Le C++
  • Le PHP
  • Le HTML

Exemple d’une portion de code JAVA :

1546873802045-328.png

5. Méthodes, normes et outils de développement et maintenance applicative

5.1. Développement informatique

La réalisation (conception, développement) d’un logiciel informatique est une opération ou un ensemble d’opérations complexe pour laquelle l’utilisation de méthodes d’ingénierie est indispensable.

Ces méthodes ne sont pas toujours au cœur de l’activité des DSI dans les collectivités territoriales car le développement de logiciels est souvent laissé au soin des éditeurs informatiques. Il est toutefois indispensable de connaitre certains concepts clefs.

Parmi ces concepts, on peut citer les différents cycles de développement :

  • En cascade : on passe les étapes de la construction d’un logiciel de manière chronologique, les unes après les autres, comme on le ferait pour un immeuble : les fondations, puis les murs, puis la toiture, etc.
  • En V : ce cycle constitue une évolution du cycle en cascade en définissant des tests permettant de sécuriser le passage d’une étape à l’autre et de faciliter les retours en arrière si besoin.
  • En Spirale : ce cycle ajoute au cycle en V la notion de versions. La fin d’un cycle ne correspond pas à la fin du développement mais à la création d’une première version.
  • Itératif : chaque besoin, chaque fonctionnalité, est élaboré à partir d’un cycle de type « Roue de Deming » (faisabilité, élaboration, fabrication, transition ou plan, do, check, act – PDCA).

On peut également citer quelques méthodologies de développement souvent entendues :

  • Merise avec les notions de MCD (Modèle Conceptuel des Données) et MCT (Modèle Conceptuel des Traitements).
  • Les méthodes agiles avec notamment SCRUM et l’Extreme Programming.

5.2. Maintenance informatique

D’autres méthodes s’attachent à proposer des modèles d’organisation et de management des systèmes d’informations comme ITIL ou encore CMMI.

Tout comme les méthodes de développement, ces méthodes de management s’efforcent de définir des bonnes pratiques (comment organiser une DSI, comment gérer les utilisateurs, la mise en production de nouveaux outils, etc.).

ITIL (Information Technology Infrastructure Library) est une bibliothèque de bonnes pratiques organisées notamment autour de grandes fonction d’un service informatique : le soutien des services (le support), la fourniture des services, la gestion de l’infrastructure et de la sécurité. L’utilisation d’ITIL est très répandue et il est fréquent que l’organisation de DSI dans des collectivités s’appuie sur des préconisations s’y référant.

CMMI (Capability Maturity Model Integration) définie des domaines de processus et y associe 5 niveaux de maturité : Initial (niveau de maturité 1), Managed (discipliné, niveau de maturité 2), Defined (ajusté, niveau de maturité 3), Quantitatively managed (géré quantitativement, niveau de maturité 4), Optimizing (en optimisation, niveau 5).

6. Ressources en ligne

Tags :
    
© 2023 CNFPT