Des phases et des environnements différents
En
matière de conclusion : Le système des informations et la gouvernance
Le but de cette présentation est d'aborder concrètement, dans le contexte de l'entreprise, les principales étapes et processus de mise en production d'une application et de ses données, de sa phase de développement jusqu'à sa maintenance.
Ou comment intéger un programme et des données à un environnement industriel.
Les objectifs visés :
Cela veut dire , pour les développeurs et administrateurs que nous sommes,
dépasser la satisfaction d'avoir écrit un programme
qui répond aux exigences fonctionnelles des spécifications détaillées,
voire simplement, d'avoir réussi à écrire un programme
qui fonctionne ;-)
Exemples centrés sur les bases de données et les applications web.
Dans le cycle de vie du SI il existe un certain nombre de phases distinctes, nous nous focaliserons sur 4 d'entre elles
a l'issue de chaque phase,
on devra obtenir les documents, scripts, programme nécessaires au passage
à la phase suivante. En ce qui nous concerne, par exemple outre le programme
développé, tous les éléments permettant le passage
en préproduction.
Un peu plus dans le détail nous pouvons présenter un exemple concret objectifs et livrables de chaque phase :
Étapes |
Objectif |
Livrables |
Expression des besoins | Rassembler et formaliser les besoins dans un domaine technique ou fonctionnel | Dossier d’expression des besoins Cahier des Charges |
Étude d’opportunité | Étudier et formaliser les éléments nécessaires à la prise de décision sur le lancement ou non d’un projet | Dossier d’Étude d’opportunité |
Conception | Étudier du général vers le détaillé les spécifications de la solutionÉventuellement maquetter | Dossier d’étude préalable, Dossier d’étude détaillée Dossier d’Architecture Dossier de Description des Données, Dossier d’étude technique |
Planification | Mettre en place le projet : organisation de l’équipe, des moyens matériels et humains,Définition des tâches, élaboration des plannings | Planning du projet Organisation de l’équipe de réalisation |
Développement | Construire la solution retenue selon les spécifications validées | Programmes, |
Tests, Recette, préproduction | Valider la conformité de la solution construite et de sa capacité à la mise en production | Plan de tests Dossier d’Architecture Cahier des contraintes techniques Description des Données Consignes d’exploitation |
Mise en œuvre | Installer et déployer la solution recettée | Dossier d’installation |
Exploitation | Surveiller, Administrer les comptes et les système, Sauvegarder, Épurer, Archiver, Exécuter les travaux différés, Déceler les incidents de production | Journal de Bord Consignes et modes opératoires (sauvegardes, restauration, redémarrage, reprise après panne, ...) |
Maintenance | Prise en compte des anomalies
et demandes d’évolutions Mesure de la performance et controle qualité |
Suivi des anomalies et
demandes d’évolutions |
![]() |
architecture 'idéale'
![]() |
architecture minimale
l'architecture 'idéale'
est une architecture à 3 tiers, la minimale à 2 tiers (base locale
au serveur)
on pourrait imaginer une architecture minimaliste (à bannir) : srv de
DEV = srv de TEST = srv de PROD
Chaque environnement est spécifique en terme de charge, de ressources, de standardisation, de disponibilité, de niveau de sécurité, ou de qualité de service du manière générale. C'est surtout pour cela qu'il est nécessaire d'avoir des environnements distincts.
ressources |
charge USER |
disponibilité |
confidentialité / intégrité |
||
DEV |
poste serveur BD |
**** * / *** ** |
- * ** |
* ** ** |
* ** * |
TEST |
poste serveur BD |
** *** *** |
- **** **** |
* ** ** |
* ** * |
PROD |
poste serveur BD |
|
- **** **** |
* **** **** |
**** **** **** |
Du fait de cette
hétérogénéité du SI, standards et normes
sont très importants. En production bien sûr pour des raisons d'efficacité,
mais entre les 3 environnements, pour éviter les problèmes d'incompatibilité.
une dérive classique, consiste à recopier les
bases de PROD dans la base de TEST, voire dans la base de DEV. Cela évite
d'avoir à produire un jeu d'essai (pertinence parfois complexe à
réaliser) ou d'initialiser le schéma lors du développement
d'une nouvelle version.
Effet pervers : plus aucune confidentialité, des volumes totalement
superflus
Développer un programme fonctionnellement satisfaisant n'est pas suffisant
(d'où l'utilité d'une recette technique en plus
de la fonctionnelle)
Outre le développement du programme dans un langage donné il existe
un certain nombre d'outil logicies complémentaires, parfois intégrés
au sein d'un logiciel complexe
Ne pas mélanger les genres
Utiliser des ateliers de génie logiciel complets ou des utilitaires additionnels pour développer, qui permettent de :
exemples de scripts SQL
exemple de script général
-- cr_schema.sql |
exemple de scripts de gestion de droits
-- cr_grant.sql CREATE ROLE AN_CONS; |
Un cahier des contraintes techniques (matérielles et logicielles) est
nécessaire, surtout dans le cas de mise en place de progiciel.
Il sera transmis aux fournisseurs dès l'expression du besoin.
OS client (+ SP, + niveau kernel), type de navigateur, niveau d'HTML supporté,
capacité mémoire et disque
OS serveur (+ SP, + niveau kernel)
logiciels systèmes (SGBDs
protocole supportés : TCP/IP, SQL*Net, webdav, samba, http, SSL, ...
et les caractéristiques techniques détailléesdes différents
composant matériels du SI.
Outre les méthodes classiques et les ateliers de génie logiciel associés (MERISE, MEGA, CASEs, UML) qui dépendent de la technologie retenue et des choix stratégiques de l'entreprise, on pourra mettre à profit une méthode comme XP, pratique et facile à mettre en oeuvre.
extrême programming : XP.
Comme son nom l'indique elle est très orienté développement
mais l'assurance qualité est très présente dans cette méthode.
Les concepts sont simples et issues de l'expérience de la communauté
des programmeurs. Il n'y a pas d'outil lourds à mettre en place , mais
des préconisations de pratiques référenbtes (best practices).
En collaboration étroite et récurrente avec l'utilisateur final,
la satisfaction de ce dernier est plus probable.
exemple : le manuel utilisateur peut servir, trèe en amont, de spécification détaillée.
Voir 'a gentle introduction to XP'
autres exemples lourds : appli designer, applet, programme VB ou access. Leger : appli ASP/PHP, appli J2EE
la migration évoquée
ici concerne le passage de la BD de developpement vers la BD de test. Ce processus
peut aussi être utilisé lors du développement en cas de
récupération de données d'un ancien logiciel existant déja
dans l'entreprise.
la préproduction
est partculièrement délicate lorsque l'environnement est éloigné
de l'environnement de PROD. Il peut être nécessaire dans ce cas
de faire les TESTs en PROD.
exemples : de easyPHP local Apache/Mysql@free.fr, de MYSQL à Oracle
Dans le cas d'un progiciel, la phase de développement est évidemment
inexistante.
Importance :
Il doit idéalement vérifier le cahier des contraintes techniques
(mais ca n'arrive jamais ;-(
... et dans le cas contraire subir des adaptations pour son intégration.
le cas échéant,
avant la mise en production effective de l'application, on formera les utilisateurs
à l'utilisation du logiciel
c'est la qu'on va tester la qualité du code, sa lisibilité, sa
pérennité / portabilité
et ... la qualité de la doc
Le système d'informations (S.I) de l'entreprise est un objet complexe
Complexité de l'informatique, en terme :
On vise un meilleur controle des processus et une informatique orientée
service.
La gouvernance informatique (IT governance) directement issue de la
gouvernance d'entreprise, prend en compte l'organisation de manière systémique
pour satisfaire ces objectifs d'efficacité.
ITIL : I.T Infrastructure Library (Bibliothèque d'infrastructure
informatique)
C 'est un ensemble de recommandations mises au point par le bureau gouvernemental
du commerce britanique (OGC)
Elles visent à améliorer la qualité des 'services' informatiques
fournis aux utilisateurs.
Certains des septs processus abordés parles ouvrages de la librairie
ITIL concernent le processus de mise en production.
Les grandes sociétés de service et de consulting anglo saxonnes
s'appuient sur cette librairie. ITIL est conforme à la norme ISO 20000.
les principaux livres de la librairie ITIL (d'après Frédéric Georgel)
Pour plus d'infos voir le site officiel
de l'ITIL
le COBIT, Control objectives for information and related technology,
Le modèle CobiT (Control Objectives for Business & Related Technology)
est une méthode de Maîtrise des Systèmes d’Information
(IT Gouvernance) et d'audit de systèmes d'information, éditée
par l’Information System Audit & Control Association (ISACA) en 1996.
C'est un modèle qui vise à aider le management à gérer
les risques (sécurité, fiabilité, conformité) et
les investissements.
Domaines et processus de COBIT (d'après Frédéric Georgel)
(c) 2002- 2006 Didier Deléglise
|