Comment bien mener un projet informatique

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Comment bien mener un projet informatique

Messagepar jibe » 07 Oct 2011 01:50

Salut,

Suite à (encore ! :roll: ) une nouvelle question très mal présentée, je tente de proposer ici une grille définissant la bonne manière de mener un projet informatique. Bien entendu, les remarques et suggestions de jdh et autres experts seront les bienvenues ! Pour ma part, je suis un autodidacte, et ma méthode n'est peut-être pas la meilleure. Elle n'est que le fruit de mes réflexions et de mon expérience, je n'ai jamais étudié ni aimé les théories ! Cette méthode devrait toutefois permettre d'arriver à un bon résultat, tant pour se faire aider sur Ixus ou ailleurs que pour mener à bien un projet.

Comment bien mener un projet informatique

Étudier et répertorier les besoins

Pour ne pas mettre la charrue avant les boeufs, il faut commencer par bien définir les besoins à satisfaire. En effet, on ne doit jamais partir d'une solution technique et tenter de la faire "coller" à l'usage qu'on veut en faire ! Ce serait comme acheter une veste sans connaître la taille de celui qui va la porter ! On imagine aisément la suite : on rajoute une pièce de tissu d'un côté pour agrandir, on pince d'un autre côté pour ajuster... Bref, on aboutit à un truc affreux qui ne ressemble plus que de loin à une veste et répond bien mal au besoin.

Donc, de même que le tailleur commence par sortir son mètre, le chef de projet commencera par sortir son stylo et son bloc-notes et partira interviewer les futurs utilisateurs. Il s'efforcera de comprendre en quoi consiste leur travail, comment ils le réalisent, en quoi et comment un SI (système informatique) pourra les aider à accomplir leur tâche.

Ne pas oublier les besoins qui découlent de la mise en place du SI : organisation des sauvegardes, protections contre les coupures de courant, les surtensions, protections anti-intrusion, anti-spam, anti-virus etc. etc.

Analyser les besoins, en faire la synthèse, établir les priorités

Une fois faite la collecte des renseignements, il faut tenter d'avoir une vue d'ensemble : les différents utilisateurs ont des besoins différents, parfois difficilement compatibles. Il faut arriver à des compromis. De même, il faut trouver un juste milieu entre adapter le SI aux méthodes de travail et adapter les méthodes de travail au le SI.

En effet, demander aux utilisateurs de se comporter de manière radicalement différente et de changer toutes leurs habitudes aboutit nécessairement à un rejet en bloc du système mis en place. D'un autre côté, on ne s'organise pas de la même manière si on dispose d'une voiture ou seulement d'un vélo. Il y a donc lieu de trouver une organisation permettant un maximum d'efficacité en tirant parti de ce qu'apportera le SI.

L'équilibre n'est pas toujours facile à trouver, et on s'aperçoit qu'on doit tenir compte de certains facteurs qu'on n'aurait jamais imaginé pouvoir intervenir ! Un bon exemple est l'âge du personnel : avec un personnel âgé, il faut garder le plus possible les habitudes, et avoir un système le plus simple d'emploi possible. Un personnel jeune par contre sera naturellement plus porté à utiliser un nouveau matériel avec lequel il est déjà à l'aise, et consentira une réorganisation bien plus importante. Comme déjà souligné, si on ne respecte pas cet aspect des choses, le personnel sera bien moins efficace, voire hostile, et cela diminuera d'autant les avantages du SI, voire les annulera !

Tous ces compromis nécessitent beaucoup de réflexion, voire d'étude (ne pas hésiter à retourner interviewer les utilisateurs :wink: ). Un ordre de priorités doit être établi, de manière à bien savoir ce qui doit être le plus soigneusement analysé et éventuellement ce qui peut être négligé.

Établir un cahier des charges et le soumettre aux utilisateurs

Une fois les démarches ci-dessus effectuées, on est à même d'établir un cahier des charges. A noter que s'il a été établi par une tierce personne, deux cas peuvent se produire :

- Soit la personne est compétente et responsable, et le cahier des charges est accepté tel quel, la personne l'ayant élaboré prenant l'entière responsabilité de l'étude qu'elle a menée et du document qu'elle en a déduit.
- Soit pour une quelconque raison il parait judicieux de procéder à une vérification, auquel cas on reprendra la démarche ci-dessus, en comparant avec le cahier des charges. Les écarts devront tous sans exception être expliqués ou corrigés.

Le cahier des charges devra être soumis aux utilisateurs, dont on écoutera et notera les remarques et demandes. Il sera alors corrigé en conséquence, après une nouvelle étude/synthèse des besoins. Il peut être utile, voire nécessaire, d'effectuer plusieurs fois cette boucle afin de bien affiner les choses.

Recherche et élaboration d'une solution technique

Ce n'est qu'une fois le cahier des charges établi qu'on va se préoccuper des questions techniques. On commencera par réfléchir à l'architecture du réseau (les non experts compléteront utilement leurs connaissances en visitant le site de Christian Caleca - qui, bien que très complet et détaillé, reste à la portée d'un débutant - ou au moins en lisant ce document).

Une fois déterminée, cette architecture sera représentée par un schéma où figureront tous les renseignements utiles, à commencer par les adresses IP et les masques de sous-réseau correspondants.

Ce n'est qu'après qu'on pourra choisir les différents matériels : serveurs, postes de travail, appliances et autres switches et modems, leurs OS et les applications à y installer. Les choix seront guidés avant tout par tout ce qui précède, le reste pouvant souvent se limiter à une question de moyens et de goûts.

J'insiste malgré tout sur la question trop souvent mal traitée des moyens. Ils doivent absolument passer après les autres besoins, et faire partie de l'analyse dès le début s'il s'agit d'un critère important. En aucun cas il ne faudra oublier qu'une solution satisfaisante, sauf excès inconsidérés, n'est jamais trop chère, alors qu'une solution mal adaptée l'est toujours trop. On doit prendre les moyens de mettre en place un système informatique adapté, ou y renoncer. Le "bricolage" donne rarement des résultats acceptables.

Et la virtualisation, la wifi, le cloud computing ?

Je répondrai : et la géothermie, la voiture à hydrogène, le GPS ? C'est pareil : ce sont des technologies à la mode, dont on veut nous faire croire qu'elles sont indispensables. Mais ce ne sont en fait que des moyens techniques parmi bien d'autres, en aucun cas un but. Votre but est-il d'avoir un chauffage solaire, ou de ne pas avoir froid cet hiver ?

De même que pour ne pas avoir froid cet hiver je peux choisir la géothermie, les panneaux solaires, le gaz russe, l'électricité nucléaire d'EDF ou celle que je produis grâce à la turbine que j'ai installée pour tirer profit de la chute d'eau sur ma propriété, les techniques soi-disant de pointe que me proposent les vendeurs ne sont qu'une solution parmi d'autres.

Le choix doit se faire non pas pour satisfaire à une mode, ni même à une idéologie (qui peut intervenir, mais avec une priorité très faible), mais bien en fonction des besoins et de l'efficacité finale du SI. La virtualisation ou le cloud computing peuvent être une excellente solution, ou la pire qu'on puisse trouver ! Cela dépend d'un bon nombre de facteurs qui figurent (ou devraient figurer :roll: ) dans le cahier des charges. (notez que je ne parle pas de la wifi, qu'on peut très avantageusement remplacer dans 99% des cas par des câbles ou des fibres optiques - si, si : n'écoutez pas le baratin des vendeurs et de ceux qui tombent dans leur piège ! Ce n'est pas un besoin, c'est une mode ou au mieux un confort, en tous cas seulement un moyen dont la priorité doit être minime)

La mise en place et les tests

C'est seulement à ce moment qu'intervient la mise en place. Elle se fera dans un premier temps hors production : c'est la phase de tests et de mise au point. Ce n'est que lorsque tout est au point qu'on "met en production".

La mise en production peut avantageusement être précédée par une phase de formation des utilisateurs, étape d'ailleurs souvent indispensable.

Si tout a été bien analysé et étudié auparavant, il ne devrait y avoir aucune remise en cause, sauf problème imprévisible. La mise au point et les tests devraient être aisés : on sait parfaitement ce qu'on a fait, pourquoi et comment, donc les opérations suivent naturellement leur cours sans grosses difficultés.

La migration

Au cas où une migration d'un ancien système vers le nouveau serait nécessaire, c'est entre la phase de tests et la mise en production qu'elle se fera. Mais elle sera prise en compte dès le tout début du projet : c'est un besoin à prendre en compte, et dont dépendront de nombreux choix : il faut penser à la compatibilité ou prévoir des procédures de conversion.

La description précise de la migration devra faire partie du cahier des charges, afin que tous les aspects de cette migration soient bien pris en compte.

J'ai besoin d'aide

Si vous avez besoin de conseils, il va falloir que celui qui tentera de vous aider comprenne bien votre problème. N'oubliez pas qu'il ne sait rien de vous (non, il ne sait pas que vous avez expliqué certaines choses dans un autre post : il y en a plus de 270000 sur Ixus ! Il ne les a pas tous lus ! Si vous avez déjà expliqué votre cas ailleurs, mettez un lien ;-) De même, il y a plus de 44000 membres, il ne les connait pas tous). Il faut donc lui fournir tous les éléments dont il a besoin pour comprendre votre problème et être à même de pouvoir vous aider à le résoudre.

Donc, il faut qu'il fasse virtuellement la même démarche que vous, autrement dit il a besoin de tout ce qui est décrit ici, depuis le début jusqu'à l'étape que vous avez atteinte. En lui présentant de la manière décrite ici, non seulement il aura tous les éléments, mais il appréciera le fait qu'ils soient présentés de manière agréable et logique, ce qui l'aidera beaucoup à comprendre... et donc à vous aider. En plus, la satisfaction de ne pas avoir à mendier des renseignements dont le moins initié des débutants serait capable d'imaginer l'importance le motivera pour vous aider, d'autant que le temps qu'il a gagné dans la compréhension de votre problème pourra être utilisé à vous faire une réponse bien plus détaillée ;-)

En résumé

Un projet informatique se réalise essentiellement avec un crayon, une gomme et un bloc-notes. L'écran-clavier n'intervient que lors de la phase de mise en place et de tests, qui est presque la dernière phase... et la moins délicate !

Bon, on pourra avantageusement substituer à ces outils un traitement de texte et un logiciel de dessin. Mais cela (une fois encore !) n'est qu'une question de moyens, pas de besoins, et ne change en rien la démarche :wink:
"Le monde ne sera pas détruit par ceux qui font le mal, mais par ceux qui les regardent sans rien faire" (Albert Einstein)

Autrefois, l'Etat défendait des valeurs. Maintenant, il défend des profits... (Anne Haunnime)
Avatar de l’utilisateur
jibe
Amiral
Amiral
 
Messages: 4366
Inscrit le: 17 Oct 2003 00:00
Localisation: Haute Savoie

Re: Comment bien mener un projet informatique

Messagepar jdh » 12 Oct 2011 11:55

Merci Jibe !

Quelques compléments dans le cas d'un projet de sécurisation avec firewall :


Notions de zones
Une "zone" réseau désigne un réseau physique (généralement) qui relie des machines semblables vis à vis d'autres zones.
Par exemple, on aura
- une zone LAN avec les PC du réseau interne de l'entreprise,
- une zone DMZ avec les serveurs accédant à Internet ou pouvant être accédés depuis Internet,
- une zone WIFI pour les PC se connectant en wifi,
- une zone WAN pour désigner Internet,
- une zone SERVEUR si on veut séparer les serveurs du reste,
...
Un firewall est à l'intersection de zones différentes. Et ce doit être la SEULE machine connectée à plusieurs zones ! (voir court-circuit)

Traditionnellement à chaque zone, on associe un numéro de réseau IP distinct, cf la notion de masque.

Contrôle des flux inter-zones
Les flux inter-zones permettent d'échanger des données ou de ménager des accès à des services normalement proposés qu'à la zone donnée.

C'est à l'intersection des zones qu'il FAUT contrôler les flux : flux autorisé ou flux rejeté.

La politique de sécurité consiste à définir, selon une table carrée, les flux autorisés d'une zone vers l'autre.
Cela semble assez basique mais c'est la véritable base de la sécurité !

On évitera de permettre tous les flux à une zone car on pourra alors sans doute rebondir en prenant à distance le contrôle d'une machine de cette zone !

Quelques exemples :
- la zone LAN ne devrait pas accéder à la zone WAN !
- la zone DMZ peut être accéder depuis LAN comme WAN : un proxy vers Internet y a sa place comme un relais mail (voir proxy)
...

L'analyse des flux peut être réalisée
- de façon globale : flux = port + tcp ou udp, protocoles IP, ...
- de façon détaillée : analyse dans le flux lui-même (voir proxy)
- de façon conditionnée : flux + ip source ou ip destination
...

Attention à bien connaitre les protocoles : quelques paquets icmp font partis de réponses normales à certains cas !

Proxy (serveurs mandataires)
Un proxy est une machine intercalée entre le client et le serveur.
Le client croit se connecter au serveur alors qu'il est connecté au proxy.
Le proxy réalise la véritable connexion au serveur.

La notion de proxy est relative au protocole : il existe des proxy(ies) qui supportent un ou plusieurs protocoles !
Par abus de language, si on ne précise pas le protocole, il s'agit de http (et https).

Il existe de nombreux protocoles pour lequel il existe un proxy :
- http/https : Squid, Varnish, ...
- ftp : Squid, prox, ...
- smtp : tous serveurs
- pop/imap : p3scan, perdition, ...
Il existe un système général de proxy : SOCKS

Les avantages d'un proxy peuvent être dans
- le cache : le résultat d'une requête va servir pour une autre demande,
- l'analyse virale : fichiers intégrés au transfert dans le protocole : p.e. pièces jointes pout smtp, fichiers téléchargés pour http ou ftp, ...
- l'analyse spam : analyse du contenu des mails
- contrôle approfondi des autorisations : en fonction d'un utilisateur, accès ou non à des sites,
...

Les proxy sont très utiles pour compléter l'analyse des flux : ils analysent l'intérieur du flux et non le flux dans sa globalité.

Court-circuit
Un court-circuit, comme en électricité, désigne le fait qu'il existe plusieurs circuits (liens) entre 2 zones distinctes.
Mais, contrairement à l'électricité, il n'y a pas de coupure totale (disjonction), c'est comme l'eau, il y a passage sur les 2 circuits et plus sur le plus facile !

C'est extrêmement dangereux puisqu'on ne sait plus par où passer entre 2 zones : il n'y a plus d'unicité de politiques de flux.
On ne peut contrôler ce qui se passe : imaginez une frontière entre 2 états avec un passage avec douaniers et un autre passage, plus loin, sans douaniers !

Le problème se pose dès qu'une machine a 2 cartes réseaux !
Il y a une dizaine d'années, on se connectait sur une ligne téléphonique RTC : on pouvait être connecté au réseau de l'entreprise et en même temps à Internet. Aujourd'hui, on peut être connecté au réseau et se connecter, via un VPN, au réseau d'une autre entreprise voire chez soi.
Des cas ont été exposés ici avec des serveurs ayant une carte dans la DMZ et une autre dans le LAN.

Si on veut être un peu sérieux et assurer un contrôle efficace, il est impératif d'éviter ces cas (et de détecter les cas pratiques).

VPN = Virtual Private Network (ou RPV = Réseau Privé Virtuel)
Un VPN est un lien entre 2 réseaux ou entre 2 machines ou entre un réseau et une machine.
Ce lien est généralement crypté et traverse généralement Internet.
Typiquement, on réalise un VPN entre les différents sites d'une entreprise si le lien se réalise au travers d'Internet.
Autre exemple usuel, on permet la connexion des utilisateurs nomades au réseau de l'entreprise pour permettre d'accéder aux ressources tout en étant à l'extérieur.

Les dangers sont le vol d'identifiant, la faiblesse du cryptage, la perméabilité du client depuis le réseau environnant.
Les risques sont l'accès frauduleux et le vol de données de l'entreprise.

Les utilisateurs internes peuvent être tentés d'accéder depuis leur lieu de travail à leurs ressources privées (chez eux) : ils ne sont alors plus très actifs pour l'entreprise.

Il est à recommander un cryptage fort, des certificats révocables facilement, un filtrage dans le VPN (limitation des ressources accédés voire limitation à une zone donnée), ...
L'intelligence artificielle n'est rien à côté de la stupidité naturelle.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Re: Comment bien mener un projet informatique

Messagepar fleib » 12 Oct 2011 23:14

Bravo à tous les deux =D>

Excellent exposé, détaillé, clair et précis (ceci dit, vous connaissant, je n'en attendais pas moins de votre part)

Il faudra penser à transformer ces 2 posts en tutoriels ou en guides sur le futur PhenIxus.

A plus

F
Il n'est pas de vent favorable pour celui qui ne sait pas où il va
Avatar de l’utilisateur
fleib
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 205
Inscrit le: 28 Mai 2009 14:50
Localisation: St Paul / La Réunion


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron