Embryologie
Réseaux TCP/IP/Introduction aux réseaux
Les réseaux en entreprise.
Dans la plupart des entreprises, les ordinateurs sont tous connectés entre eux par des réseaux, par exemple par des réseaux de type Ethernet. Ces réseaux coûtent très cher à administrer. Mais à quoi servent-ils donc ? Nous allons tenter ici de faire un petit tour d'horizon des différentes utilisations des réseaux.
Centralisation des fichiers des utilisateurs.
Perte des fichiers d'un utilisateur.
Une des fonctions principales des réseaux est la centralisation des fichiers des utilisateurs. Imaginons une entreprise sans réseau : chaque utilisateur possède ses propres fichiers de travail sur sa machine. Au fil du temps, le nombre de fichiers augmente et il devient impensable qu'un utilisateur perde la totalité de ses fichiers. Si un utilisateur venait à perdre ses fichiers, le temps nécessaire pour refaire ce travail serait gigantesque : du temps perdu, c'est de l'argent perdu ! De plus, les informations contenues dans ses fichiers sont peut-être importantes : si on a stocké la liste de ses clients et qu'on perd le fichier, les conséquences peuvent être dramatiques. On se persuade assez facilement qu'il est vital pour une entreprise d'avoir une vraie politique de sauvegarde centralisée des fichiers des utilisateurs.
Responsabiliser les utilisateurs.
Il est très difficile pour l'administrateur du parc de machines de gérer efficacement une bonne politique de sauvegarde si les fichiers des utilisateurs sont disséminés sur chaque poste de l'entreprise. On peut avoir comme idée de dire : "chacun est responsable de ses fichiers" et d'installer par exemple un graveur de DVD. La responsabilisation des utilisateurs est rarement une bonne solution : au début tout se passe bien et les utilisateurs sont sérieux mais rapidement, leur sérieux diminue et les sauvegardes s'espacent de plus en plus. Prétextant (à tort ou à raison) n'avoir pas le temps, les utilisateurs sont de moins en moins attentifs à ces sauvegardes et la catastrophe finit toujours par arriver.
La notion de serveur de fichiers.
Notre administrateur est donc contraint d'installer un réseau qui permet aux différentes machines de communiquer. Il va également installer un serveur de fichiers sur lequel les utilisateurs seront obligés de mettre leur données. Le contenu du serveur sera sauvegardé très régulièrement (toutes les nuits par exemple). Les données importantes seront situées à un seul endroit et leur sauvegarde reposera donc entièrement sur une procédure automatisée mise en place par l'administrateur.
Authentification des utilisateurs.
L'administrateur devra donc mettre en œuvre un mécanisme d'identification des utilisateurs : en général cela se fait par un nom de connexion et par un mot de passe. On peut aussi imaginer des mécanismes de cartes magnétiques ou encore la biométrie. Chaque utilisateur ainsi authentifié ne pourra accéder qu'à ses propres fichiers. On peut même mettre en œuvre un mécanisme plus complexe de droits : certains utilisateurs auront le droit de lire certains fichiers mais pas de les modifier. D'autres auront tous les droits sur ces fichiers.
Qualité et serveurs de fichiers.
Il convient toutefois de faire très attention : comme nous l'avons vu, ces données ont une valeur financière considérable et il est hors de question de faire ici des économies de bout de chandelles : si le serveur de fichiers n'est pas assez puissant, il sera lent et la totalité des utilisateurs travailleront plus lentement. Les coûts indirects seront égaux au manque de productivité multiplié par le nombre d'utilisateurs ! Il convient donc d'acheter du matériel performant et fiable. En effet, il devient alors impensable que le serveur tombe en panne. La moindre demi-journée de panne a alors des conséquences catastrophiques pour toute l'entreprise. Notre serveur aura donc besoin d'une fiabilité proche de 100 %. Cette fiabilité a un coût et se paye cher. Si on achète du matériel bas de gamme, cela marchera très bien au début et on peut penser avoir fait des économies : mais un jour la panne surviendra inévitablement et l'avenir de l'entreprise peut alors être compromis.
Gestion des applications.
Un petit calcul.
Imaginons une entreprise contenant 200 postes de travail. Vous êtes administrateur et vous souhaitez installer 5 logiciels différents sur chacun des 200 postes de travail. Chaque installation nécessite un quart d'heure (tests compris). Vous enchaînez les installations 8 heures par jour. Il vous faudra donc 5*200*0,25=250 heures=32 jours de travail ! Un mois n'y suffira pas. En plus, en tant qu'administrateur vous avez bien d'autres tâches à accomplir. Voilà toute la problématique du déploiement de logiciels.
La notion de serveur d'applications.
Pour résoudre ce problème majeur, il faut installer un serveur d'applications qui va permettre aux différents postes de travail d'accéder à un ensemble cohérent d'applications. Il existe de nombreuses architectures possibles pour ces serveurs et nous ne distinguerons que deux catégories :
Bien évidemment, on peut imaginer un mécanisme de droits complexes qui autorise ou interdit à un utilisateur donné l'accès à une application.
Remarque : assez souvent certaines personnes pensent que l'installation d'un serveur d'applications permet de n'avoir qu'une seule licence pour tout un parc de machines. La plupart des contrats de licence oblige à acheter une licence par poste de travail susceptible d'accéder à l'application. L'objectif d'un serveur d'applications n'est pas de diminuer le coût des licences.

Programmation Java/Conclusion
Conclusion.
Vous avez appris, au travers de la lecture de ce livre, les fondements du langage Java. La maîtrise de ces notions est indispensable pour produire des applications ou des bibliothèques convenables. Néanmoins, si vous voulez pleinement profiter des nombreuses autres possibilités offertes par Java, il faut dès maintenant se pencher sur les nombreuses facettes de Java.
Elles sont notamment présentées dans le wikilivre « Développer en Java » qui propose de découvrir de nombreux outils, bibliothèques, techniques et bonnes pratiques spécifiques à Java, telles que les (JSR) ou autre convention sur les bonnes pratiques.
Découvrez aussi le développement d'une interface graphique en Java avec les composants Swing, ou la récente bibliothèque JavaFX qui permet en plus l'affichage de scènes en 3D.

Interfaces graphiques en C++ avec wxWidget/Sommaire