Projet Evolution GMSI 28 GARAU Alexandre NICOL Anne Elodie
Sommaire Introduction...3 1 Etude du cahier des charges...4 2 Les propositions matérielles...5 2.1 Schéma de l architecture de l entreprise...5 2.2 Propositions de devis...7 3 Mise en place d un Serveur Windows 2003...10 3.1 Installation et configuration du serveur...10 3.2 Installation de l Active Directory...13 3.3 Configuration DNS, DHCP...14 3.4 Remplissage de l AD...19 3.5 Création de GPO...20 3.6 Mise en place d un serveur DFS et création de répertoires partagés...21 3.7 Installation et paramétrage des imprimantes...22 3.8 Mise en place d un serveur Répliquât...28 3.9 Mise en place de la sauvegarde...31 4 Paramétrages des postes clients...34 4.1 Ajout d un poste xp au domaine...34 4.2 Ajout d un poste linux au domaine...35 4.3 Accessibilité des postes à distance...42 4.4 Attribution d un dossier de base...44 5 Mise en place du serveur Linux...47 6 Mise en place de la base de données relationnelle...55 7 Construction de l intranet...59 7.1 But de l intranet :...59 7.2 Connexion à la base de données relationnelle...59 7.3 Scripts d authentification et de déconnexion...60 7.4 Mode consultation...63 7.5 Présentation des modes de gestion et de recherche...65 7.6 Fonctionnement de la suppression...69 7.7 Fonctionnement de l ajout...73 7.8 Fonctionnement de la modification...76 7.9 Fonctionnement de l association...79 7.10 Les solutions d avenir...79 Le Pro du camping Page 1
8 Solution anti virus...80 8.1 Les fonctionnalités...81 8.2 Les Composants...82 Conclusion...83 ANNEXES...86 Le Pro du camping Page 2
Introduction L entreprise Dagny Corporate est une plateforme de vente. Elle propose à ses clients des articles de camping. Elle compte 90 salariés (organigramme : Annexe n 1) Dagny Corporate a aménagé il y a quelques mois dans des locaux neufs. Le câblage informatique ainsi que le cloisonnage des différents bâtiments ont déjà été effectués Le parc informatique de lʹentreprise est actuellement composé de 90 machines et 12 imprimantes. L entreprise souhaite améliorer ses pratiques au niveau informatique. Elle a pour cela demandé à l équipe informatique de proposer des solutions répondant à un cahier des charges précis. Le délai imparti pour ce projet est de six mois maximum. Dans un premier temps nous allons vous détailler le cahier des charges fournit par la direction de Dagny Corporate. Dans une deuxième partie nous présenterons les différentes propositions matérielles répondant au mieux aux besoins de l entreprise. Nous vous exposerons par la suite la mise en place d un serveur Windows 2003.et les paramétrages à effectuer sur les postes clients afin de répondre au mieux au cahier des charges fournit par l entreprise. Dans une cinquième partie, nous détaillerons la mise en place d un serveur Linux hébergeant entre autre un service SFTP, une base de données relationnelle etc. Enfin, nous détaillerons la mise en place d une base de données relationnelle permettant de consulter la liste des postes du parc de l entreprise, les utilisateurs associés et diverses informations. Le Pro du camping Page 3
1 Etude du cahier des charges Le D.A.F a soumis quelques idées, il souhaiterait obtenir des propositions concrètes sur : informatique court partout et se trompe souvent de lieu pour dépanner les utilisateurs. Il n y a pas d informations stockées quelque part sur le parc (Nom d hôtes, type de machines...) Il n y a pas de gestion de droits utilisateurs Le siège social a besoin d un serveur ftp (ils veulent récupérer les fichiers dessus) Il est nécessaire d implémenter l Active Directory dans l entreprise Les projets devront aboutir dans un délai de 6 sessions Il veut un compte rendu mensuel sur l avancé des projets (un tableau d indicateurs, un planning, le qui fait quoi par exemple etc.) Il veut également un rapport d activité globale sur la faisabilité et les solutions mises en place suivant le cahier des charges, les procédures d installation, de déploiement, le prix tout en suivant la charte de l entreprise. Le Pro du camping Page 4
2 Les propositions matérielles 2.1 Schéma de l architecture de l entreprise Routeur : Linux Avec Firewall Réplication Windows Server 2003 Répliquât Windows Server 2003 Linux (Debian 5 Lenny) Données Utilisateurs Base de données Relationnelle Figure 1 : Schéma de lʹarchitecture de Le Pro du camping Page 5
Windows Server 2003 DNS DHCP Serveur d Impression Data : Home + Répertoires Partagés DFS : Serveur de fichiers Répliquât Windows Server 2003 DNS tolérance de panne DHCP mais inactif à démarrer en cas de panne du DHCP «maitre» DFS : Serveur de fichiers (a voir : Stockage données utilisateurs) Serveur Linux (Debian 5 Lenny) Samba Apache II MySQL Server PhpmyAdmin Module PHP5 Open SSH server pour PUTTY (fait du SFTP) Figure 2 : Rôles des différents serveurs Le Pro du camping Page 6
2.2 Propositions de devis Nous avons au préalable étudié la possibilité de mettre en place une solution virtualisée ou une solution physique. Tels sont les avantages et inconvénients de la virtualisation : Avantages : Elle permet de réduire les coûts de maintenance en limitant le nombre de machines physiques et de réduire l espace physique nécessaire dans les salles serveurs. La virtualisation offre la possibilité de migrer une machine virtuelle d une machine physique à une autre sans perte de données. Inconvénients : Cette solution demande l achat de machines très performantes (mémoire, processeurs) ayant un coût plus élevé par rapport à une solution sans virtualisation. possède actuellement trois serveurs (2 Windows Server 2003 et 1 Linux) et ne compte pas accroitre le nombre de ses serveurs dans un proche avenir. La structure actuelle de notre entreprise ne justifie donc pas l utilisation d une telle solution. Nous avons donc opté pour l achat de 3 serveurs physiques, en voici les caractéristiques techniques : Le Pro du camping Page 7
Serveur Windows 2003: (Annexe n 2) Descriptif: Serveur tour Dell Power Edge T610 Caractéristiques techniques : 450 Go de stockage pour les users (1disque de 500 Go ou 600 Go) Carte contrôleur Raid SAS 6iR 2 disques durs de 146 Gb (SAS) / 15 K / RAID 1/ pour le système (C:/ + spooler d impression, DNS, DHCP) 2 disques durs de 146 Gb en RAID 1 Base / Sysvol / Journaux (E:/ ; F:/ ; G:/) 2 disques durs de 500 Gb en RAID 1 Data (H:/) 1 disque dur de 500 Gb Sauvegarde de DATA (pour le serveur maitre et pour le réplica) 2 2 Go de RAM 1 066 Mhz 1 Processeur quad core Redondance électrique (ajout d un bloc d alimentation) et donc d un cordon supplémentaire La TVA est déductible des impôts pour les entreprises.c est pourquoi le prix est notifié hors taxe. Vous trouverez malgré tout sur nos devis le prix TTC à titre indicatif. Le Pro du camping Page 8
Serveur Linux : (Annexe n 3) Descriptif : Serveur tour Dell Power Edge T 110 Caractéristiques techniques : 2 Go (2 Go x 1) Contrôleur Raid sas 6iR internal Connectivité no raid 2 x 250 Gb SATA 500 Gb SATA Matériel Prix Unité H.T Quantité Prix H.T Serveur pour Windows 2003 2 385 1 2 385 Serveur pour Réplication Windows 2003 2 385 1 2 385 Serveur Pour linux 785 1 785 Licences Windows Serveur 2 189 2 4 378 Cal Users Windows Serveur 25 90 2 250 Onduleurs 919 3 2 757 Licences Anti Virus Serveur (AVG) 56 3 168 Total H.T 15 108 Figure 3 : Tableau récapitulatif pour la mise en place dʹune solution physique (Cette solution comprend le prix de 3 machines physiques.) Vous trouverez en annexe (annexe n 4) un rapport Gantt Projet représentant le planning complet concernant la partie matérielle ainsi que le temps attribué aux diverses tâches liées à la mise en place de ce projet. Le Pro du camping Page 9
3 Mise en place d un Serveur Windows 2003 3.1 Installation et configuration du serveur Installation du serveur : Commencez par insérer le cd rom de Windows Server 2003 R2 Enterprise. Le programme d installation se lance, appuyez sur Entrer pour lancer la procédure d installation. La Touche F8 nous permet d accepter le contrat de licences et ainsi de continuer la procédure d installation. Suivez les instructions pour supprimer toutes les partitions du disque jusqu à ce que l espace disque apparaisse comme «Espace non partitionné». Vous pouvez à présent définir la taille de votre disque système. Ici nous définissons une taille de 40 Go pour le disque système. Une fois la nouvelle partition créée, sélectionnez Formater la partition en utilisant le système de fichiers NTFS. Le panneau Options régionales et linguistiques apparait, choisissez les informations correspondantes. Le panneau Personnalisez votre logiciel vous demande un Nom et une Organisation, entrez les informations de votre entreprise. Tapez ensuite la Clé du produit. Sur le panneau Modes de licence, sélectionnez le mode de licence approprié pour votre organisation, puis cliquez sur Suivant. Sur le panneau Nom de l ordinateur et mot de passe Administrateur nous donnons ici le nom Dagny PC0. Nous saisissons le mot de passe administrateur (complexe). Nous laisserons la configuration des panneaux suivants par défaut. Dans la boite de dialogue Groupe de travail ou domaine d ordinateurs (Non est sélectionné par défaut), cliquez sur Suivant. L installation est maintenant terminée nous allons mettre en place les partitions de notre deuxième disque dur. Le Pro du camping Page 10
Partitionnement du deuxième disque dur : Clique droit sur le Poste de travail et choisissez Gérer Dans Stockage Gestion des disques Clique droit sur le disque souhaité : Initialiser le disque Nous créons ensuite nos partitions : Clique droit sur le disque : Nouvelle Partition Partition Principale Spécifiez la taille de la partition Attribuez la lettre de lecteur Sélectionnez Formater cette partition avec les paramètres suivant : Système de fichiers : NTFS Taille d unité d allocation : Par défaut Nom du volume : Nom de votre partition Installation des composants DHCP et DNS : Dans panneau de configuration Ajout/Suppression de programmes Ajouter ou supprimer des composants Windows Services de mise en réseau et cochez : Protocole DHCP Système DNS Avant de configurer les serveurs DHCP et DNS, il faut paramétrer la connexion au réseau local de votre réseau. Nous avons ici choisit d utiliser un réseau d adresses IP de classe C. Le réseau de notre entreprise est le 192.168.10.0 /24 (Annexe n 5 : tableau des adresses IP) Voici le paramétrage pour notre connexion au réseau local : Le Pro du camping Page 11
Figure 4 : Attribution de lʹadresse IP de la machine et du DNS Installation d outils Nous avons installés les outils suivants : Abeui.msi Gpmc.msi Suptools.msi L ʹinstallation dʹabe est utile pour les administrateurs et pour les utilisateurs, puisquʹil permet dʹaméliorer les performances du serveur en nʹaffichant plus la totalité des dossiers/fichiers mais uniquement ceux dont lʹutilisateur possède la permission de lecture. Les utilisateurs ne sont plus assaillis par un nombre important de dossiers, le tri nʹest plus nécessaire puisque seul leurs dossiers sont affichés. La console de gestion des stratégies de groupe (GMPC : Groupe Policy Management Console) permet de faciliter et d uniformiser la gestion des stratégies de groupe au sein d une entreprise. Les «support Tools» sont des outils de diagnostique indispensables. Pour lancer Supptools.msi (présent sur le cdrom) suivez le chemin : SUPPORT\TOOLS\SUPTOOL.MSI Le Pro du camping Page 12
3.2 Installation de l Active Directory Dans «Exécuter» Dcpromo /adv choisir : Contrôleur de domaine pour un nouveau domaine Domaine dans une nouvelle forêt Entrer le nom DNS complet pour votre nouveau domaine (ici dagnycorporate.com) Entrer le nom de votre domaine NetBIOS (ici : ) Une fois que l identifiant, le mot de passe et le nom de domaine ont été renseignés, les chemins d accès des dossiers sont demandés (chemin à renseigner pour Base, Journaux et Sysvol). Dans notre cas, nous ne laissons pas les chemins proposés par défaut. Nous allons donc modifier les chemins proposés pour ces différents dossiers. Choisir d Installer et configurer le service DNS sur cet ordinateur. Cliquer sur Autorisations compatibles uniquement avec les systèmes d exploitation Windows serveur 2000 ou Windows serveur 2003. Un mot de passe de restauration est ensuite demandé. (Choisir un mot de passe sécurisé) Un écran de résumé s affiche, si tout est correcte cliquez sur «Suivant». Le Pro du camping Page 13
L installation de l Active Directory se poursuit, après redémarrage de l ordinateur il est nécessaire de vérifier si les enregistrements d emplacement du service DNS ont été créés. Figure 5 : Vérification des enregistrements DNS 3.3 Configuration DNS, DHCP Configuration du serveur DNS Zone de recherche directe Une zone de recherche directe permet la recherche d une adresse IP à partir du nom. Nous avons choisis précédemment d installer et de configurer notre DNS pendant l installation de l Active Directory. Il nous reste donc à créer les zones nécessaires (Directes et inversées). Dans le cadre de la structure actuelle nous avons une zone directe : dagnycorporate.com. Cette zone a été créée durant l étape précédente. Nous n avons pas l utilité de créer une zone directe supplémentaire car Dagny Corporate possède un seul domaine. Cependant, nous allons modifier le type de mises à jour dynamiques de notre zone directe : Le Pro du camping Page 14
Figure 6 : Choix des mises à jour pour la zone directe Nous avons choisis d autoriser les mises à jour dynamiques «non sécurisées et sécurisées» car le parc de notre entreprise comporte des postes clients Linux. De plus, nous allons paramétrer le serveur DHCP de manière à ce qu il mette à jour dynamiquement les enregistrements PTR et A DNS pour les comptes des clients DHCP. (Voir la partie «configuration du serveur DHCP») Nos serveurs DNS et DHCP se trouvent sur le même contrôleur de domaine. Or sous Windows Server 2003, la fonctionnalité de mises à jour dynamiques sécurisées risque dʹêtre compromise voire de causer des problèmes de ressources obsolètes dans le cas où le serveur DHCP est exécuté sur un contrôleur de domaine alors que le serveur DHCP Windows Server 2003 est configuré pour enregistrer les enregistrements DNS au nom de ses clients. Zone de recherche inversée Nous allons maintenant créer une zone de recherche inversée. Ce type de zone permet de connaitre le nom de la machine en fonction de son adresse IP. Voici les étapes à suivre pour créer une zone inversée : Le Pro du camping Page 15
Positionnez votre souris sur «Zones de recherche inversée» Nouvelle zone Zone Principale Vérifiez que la case Enregistrer la zone dans l Active Directory est bien cochée. L assistant vous demande alors de choisir l Etendue de la zone de réplication d Active Directory, (pour les données DNS) choisissez : Vers tous les contrôleurs de domaines du domaine Active Directory dagnycorporate.com. Vous devez ensuite entrez l ID réseau ou le nom de la zone : Figure 7 : Choix de la plage IP de notre zone inverse Figure 8 : Choix du type de mise à jour Le Pro du camping Page 16
Nous avons choisis d autoriser à la fois les mises à jour dynamiques sécurisées et non sécurisées, tout comme pour la zone directe que nous avons créée précédemment. Si le parc de l entreprise ne possédait pas de postes clients Linux il aurait été préférable de choisir la première option N autoriser que les mises à jour dynamiques sécurisées. Faites suivant puis cliquez sur Terminer. Votre zone inversée est créée. N.B : Si vous souhaitez modifier ultérieurement le type de mise à jour, allez dans les propriétés de la zone inversée en question puis dans l onglet Général choisissez la méthode souhaitée Configuration du serveur DHCP Allez dans Outils d administration DHCP Se positionner sur le nom du serveur Nouvelle Etendue Figure 9 : Création dʹune étendue Il est ensuite nécessaire de renseigner la plage d adresses IP souhaitée, ici notre plage est la suivante : Adresse IP de début : 192.168.10.16 Adresse IP de fin : 192.168.10.215 Longueur du masque de sous réseau : 24 Masque de sous réseau : 255.255.255.0 Le Pro du camping Page 17
Vous pouvez spécifier une adresse IP ou une plage d adresses IP à exclure. Dans notre cas, nous n avons pas besoin d exclure d adresse IP spécifique, nous passons donc à l étape suivante. Il est maintenant nécessaire de définir la durée du bail de renouvellement des adresses IP via le serveur DNS. (Voir Glossaire pour plus d explication) Nous avons ici choisit une durée de 8 jours car le réseau de Dagny Corporate comporte uniquement des machines fixes. Notre étendue est maintenant configurée, choisissez ensuite de l activer. Nous allons maintenant ajouter des options à l étendue : L option 003 Routeur permet d attribuer une adresse IP via une passerelle L option 006 Serveur DNS a été définie dans les étapes précédentes Configurez ensuite les clients d étendue afin qu ils utilisent les serveurs DNS sur le réseau. Ici, nous avons renseigné l adresse IP de notre serveur «maitre» en premier puis l adresse IP de notre serveur «Réplica» L option 015 Nom de domaine DNS permet d avoir le nom DNS des clients Figure 10 : Ajout dʹoptions supplémentaires à lʹétendue Il nous reste maintenant à aller dans l onglet Action afin d autoriser l étendue DHCP. Notre serveur DHCP est désormais actif. Nous effectuerons la même démarche sur le Serveur Windows qui réplique notre serveur principal afin d avoir un DHCP de backup en cas d arrêt de ce dernier. Dagny Corporate possède deux postes client Linux c est pourquoi nous avons décidé de modifier les propriétés de notre étendue. (Figure ci dessous) Nous souhaitons que le serveur DHCP mette à jour dynamiquement les enregistrements PTR et A DNS pour le comptes des clients DHCP. Le Pro du camping Page 18
Figure 11 : configuration du serveur DHCP (mise à jour dynamique des enregistrements PTR et A DNS) 3.4 Remplissage de l AD Création des Unités d Organisation et des utilisateurs Avant de commencer à remplir votre Active Directory vérifiez si le compte «Invité» est bien désactivé. Nous avons choisis de faire un script bat pour créer de manière automatique nos Unités d Organisation. (Voir glossaire) (Script Annexe n 5) Afin de créer les utilisateurs dans nos OU, nous utilisons un script VBs qui nécessite la création d un fichier csv. (Script Annexe n 6) Vous trouverez également en Annexe un script d ouverture de session VBs qui permet de monter l environnement de chaque utilisateur lors de son ouverture de session. (Script Annexe n 7) Création de Groupes Nous allons maintenant ajouter des groupes à notre annuaire. Dans le cadre des besoins de notre entreprise nous créerons ici deux groupes par Unité d organisation. Le premier groupe nous permettra d affecter des autorisations sur les imprimantes il sera de la forme «Impression_NomService». Le Pro du camping Page 19
Le deuxième groupe sera affecté au répertoire partagé de chaque service et sera de la forme «Rep_Commun_NomService». Nous avons choisis de créer tous nos groupes avec une étendue universelle. Procédure de création d un groupe : Ouvrez la console Utilisateurs et Ordinateurs Active Directory. Clique droit sur l OU où vous souhaitez créer un groupe Nouveau Groupe. Tapez le nom du groupe et choisissez le type d étendue. Cliquez sur OK, la création du groupe est effectuée. Vous pouvez désormais ajouter des utilisateurs au groupe. Pour cela, allez dans les Propriétés de ce dernier, faites Ajouter et entrer le nom de l utilisateur. 3.5 Création de GPO Les stratégies de groupe (GPO) sont des fonctions de gestion centralisée. Elles permettent la gestion des ordinateurs et des utilisateurs dans un environnement Active Directory. Nous avons par exemple décidé de placer notre script Ouverture_Session_Evolution.vbs dans chaque GPO, ainsi le script se lance pour tous les utilisateurs, quelque soit son OU. Commencer par ouvrir la console de Gestion des stratégies de groupe : Démarrer Outils d administration Gestion des stratégies de groupe Cliquez ensuite sur le nom de votre Forêt, ouvrez Domaines puis votre nom de domaine afin de voir toutes les OU que vous avez préalablement créées dans l Active Directory. Il vous suffit alors de faire un clic droit sur l OU souhaitée et de choisir l action à effectuer (Créer et lier un objet de stratégie de groupe ici / Lier un objet de stratégie de groupe existant etc.) Le Pro du camping Page 20
Figure 12 : Console Gestion des stratégies de groupe Voici quelques commandes utiles : Voir les GPO qui sont appliquées : gpresult Mettre à jour les GPO : gpupdate /force Mettre à jour les GPO sur un poste (client) à distance : gpupdate /target : computer 3.6 Mise en place d un serveur DFS et création de répertoires partagés Le cahier des charges stipule que tous les services doivent avoir un répertoire nommé «Commun_Service», à l intérieur chaque salarié doit avoir un répertoire sur lequel il a un contrôle total et aucun accès sur ceux de ses collègues. Le service Direction doit pouvoir accéder à tous les répertoires en lecture et le service informatique avec un contrôle total. Pour commencer, nous allons mettre en place un serveur de fichiers (DFS) : Lancez l assistant de configuration du serveur Ajouter ou supprimer un rôle Sélectionnez Serveur de fichiers Suivez ensuite les indications. Le Pro du camping Page 21
Nous créons ensuite nos différents dossiers partagés, nous avons choisit de mettre en place quatre partages : Data : où seront situés tous nos répertoires «Commun_Service» Homes : où l on trouvera les dossiers de base des utilisateurs du domaine Sauvegarde : où l on retrouvera la sauvegarde de notre site intranet (seuls les membres du service informatique ont des droits sur ce partage) Backup : où se situera la sauvegarde des partages Data et Homes (voir partie 3.9) Figure 13 : Création des répertoires ʺCommun_Serviceʺ 3.7 Installation et paramétrage des imprimantes Installation des imprimantes Pour installer une imprimante allez sur «Démarrer» Imprimantes et télécopieurs Ajouter une imprimante Une imprimante locale connectée à cet ordinateur. Vous pouvez ensuite choisir d utiliser un port existant ou d en créer un. Ici nous sélectionnons : Créer un nouveau port Type de port : Standard TCP/IP L assistant propose ensuite d entrer le nom de l imprimante ou son adresse IP : Figure 14 : Ajout dʹun port avec adresse IP Le Pro du camping Page 22
Choisissez le type de périphérique, ici nous laissons l option par défaut : Standard Generic Network Card. Choisissez ensuite le fabricant et le modèle de l imprimante. La fenêtre suivante vous propose de partager l imprimante et de définir un nom de partage. La dernière étape vous permet d entrer l emplacement de l imprimante et d ajouter des commentaires si vous le souhaitez. Nous avons ici préféré entrer l adresse IP au niveau de l emplacement de l imprimante. Figure 15 : Emplacement de lʹimprimante L installation de l imprimante est terminée. Il suffit de répéter cette procédure autant de fois que nécessaire pour installer toutes les imprimantes de l entreprise. Paramétrages des imprimantes Maintenant que nous avons installé toutes nos imprimantes, certains paramétrages sont nécessaires. Dagny Corporate possède actuellement sept imprimantes, une pour chaque service et une imprimante générale accessible par tous. Le Pro du camping Page 23
Voici un tableau récapitulatif avec leurs noms, adresses IP et la priorité qui leurs est affectée. Nom de l imprimante Adresse IP Priorité Print_Produit_A 192.168.10.216 1 Print_Produit_B 192.168.10.217 1 Print_Administratif 192.168.10.218 1 Print_Informatique 192.168.10.219 1 Print_Generale 192.168.10.220 90 Print_Generale_P 192.168.10.220 80 (pour droits Produit A/B) Print_Generale_D (pour droits Direction) 192.168.10.220 99 Print_ Direction 192.168.10.221 99 Print_ SAV 192.168.10.222 1 Figure 16 : Liste des imprimantes Vous pouvez constater que l adresse IP 192.168.10.220 est utilisée à trois reprises. Nous en expliquerons les raisons dans le paragraphe «Configurations particulières des points stipulés dans le cahier des charges» (P xx). Nous allons tout d abord mettre en place les configurations qui sont identiques à toutes nos imprimantes puis celles qui diffèrent de part le cahier des charges qui nous est imposé. Configurations identiques pour toutes les imprimantes : Une fois que vous avez créé tous vos groupes et ajouté les utilisateurs souhaités dans l onglet «Membres», il vous reste maintenant à attribuer les droits sur toutes les imprimantes. Ouvrez les propriétés de l imprimante Sécurité Supprimez le groupe Tout le monde puis cliquez sur «Ajouter» et recherchez le ou les groupes à autoriser. Vous devez alors définir les autorisations que vous souhaitez associer aux différents groupes. Vous noterez que dans notre cas le Service Informatique a tous les droits (contrôle total) sur chaque imprimante. Le Pro du camping Page 24
Figure 17 : Ajout de groupes autorisés sur une imprimante Dans l onglet Avancé sur toutes les imprimantes, nous avons choisit de cocher les options suivantes : o Spouler l impression des documents pour qu elle se termine plus rapidement Commencer l impression après le transfert de la dernière page dans le spouleur o Conserver les documents non conformes o Activer les fonctionnalités d impression avancées En sélectionnant ces options, vous empêcherez lʹimprimante de faire attendre des travaux dʹimpression qui sont prêts à démarrer en attendant quʹun autre travail finisse de spouler. L option «Commencer l impression après le transfert de la dernière page dans le spouleur» garantit que les travaux dʹimpression ne seront pas mélangés les uns avec les autres. Lorsqu un collaborateur lance un travail qui est prévu sur un autre type de papier que celui qui est dans lʹimprimante, lʹimprimante va sʹarrêter dʹimprimer et afficher un message pour que lʹutilisateur puisse insérer le type de papier correct. En sélectionnant lʹoption ʺMaintenir les documents non conformesʺ, lʹimprimante va attendre pour imprimer de tels travaux jusquʹà ce tous les autres documents soient imprimés. Le Pro du camping Page 25
Configurations particulières des points stipulés dans le cahier des charges : Dagny Corporate souhaite la mise en place d une imprimante accessible par tous. Cependant les services produit A et B ne doivent imprimer qu entre 8 h et 17h et la direction doit être prioritaire sur toutes les impressions et pouvoir les utiliser 24h/24h. Nous avons par conséquent monté trois imprimantes virtuelles qui pointent vers la même IP (la même imprimante physique) afin d attribuer des droits différents sur cette imprimante. Il est important de noter que la priorité «1» est la plus faible et «99» la plus forte. La première se nomme «Print_Generale» Les groupes suivants y sont rattachés : Impression_Administratif Impression_Assistantes Impression_SAV Impression_Informatique Elle est disponible 24h/24h et son niveau de priorité est de 90. Figure 18 : Onglet ʺAvancéʺ de lʹimprimante Générale Le Pro du camping Page 26
La deuxième se nomme «Print_Generale_P» Les groupes suivants y sont rattachés : Impression_Produit_A Impression_Produit_B Impression_Informatique Elle est disponible entre 8h et 17h et son niveau de priorité est de 80 Figure 19 : Onglet ʺAvancéʺ de lʹimprimante Générale Produit A/B Lorsque l on met en place une limitation horaire, les documents imprimés en dehors de la plage autorisée sont placés dans la file d attente et ne seront imprimés que pendant la plage horaire autorisée. La troisième se nomme «Print_Generale_D» Les groupes suivants y sont rattachés : Impression_Direction Impression_Informatique Elle est disponible 24h/24h et son niveau de priorité est de 99. Le Pro du camping Page 27
Voici le message qui s affichera lorsqu une personne non autorisée sur une imprimante essaiera de lancer une impression sur cette dernière : Le cahier des charges stipule également que Mme LAPORTE et Mme ADA (assistantes SAV et direction) doivent avoir la possibilité d imprimer chez les services Informatiques, Service Produit A et B. Le groupe «Impression_Assistantes» a été pour cela ajouté dans l onglet sécurité des imprimantes suivantes : Print_Produit_A Print_Produit_B Print_Informatique 3.8 Mise en place d un serveur Répliquât Installation du serveur : Afin de mettre en place un répliquât de notre serveur Windows nous avons besoin d installer un deuxième serveur Windows 2003. Nous n allons pas détailler de nouveau l installation du serveur car elle est en tout point identique à celle effectuer pour notre premier serveur. Attention, ce deuxième serveur doit être paramétré exactement comme le premier (noms des partions, tailles de partitions etc.). Nous lui donnons ici le nom : Dagny PC0R. Le Pro du camping Page 28
Installation des composants DNS : La mise en place est la même que pour le premier serveur. Dans les propriétés de Protocole Internet (TCP/I P) nous affectons également une adresse IP fixe à notre serveur (192.168.10.11) et nous mettons l adresse IP de notre serveur «maitre» au niveau du serveur DNS préféré (192.168.10.10). Installation d outils Nous installons les mêmes outils que sur notre serveur Dagny PC0. Mise en place d un contrôleur de domaine. Dans «Exécuter» Dcpromo /adv choisir : Contrôleur de domaine supplémentaire pour un domaine existant Via le réseau à partir d un contrôleur de domaine Une fois que l identifiant, le mot de passe et le nom de domaine ont été renseignés, les chemins d accès des dossiers sont demandés (chemin à renseigner pour Base, Journaux et Sysvol) Un mot de passe restauration est ensuite demandé. Un écran de résumé s affiche alors, si tout est correct faire Suivant. La réplication entre les deux contrôleurs de Domaine commence alors : Le Pro du camping Page 29
Configuration du serveur DNS Nous allons maintenant mettre en place un serveur DNS sur notre serveur répliquât. Pour cela nous installons le composant DNS (comme vu plus haut pour le serveur n 1), nous ouvrons la console DNS pour créer des zones directes et inversées. Voici les étapes qui varient par rapport à la configuration vu précédemment : Créer une zone directe Zone secondaire Nom de la zone : dagnycorporate.com entrez ensuite l adresse IP du serveur maitre. L assistant vous propose alors de créer une zone inversée : Oui Zone secondaire ID réseau : 192.168.10 Entrez IP du maitre : 192.168.10.10 Redirecteurs : Non. Création de racines DFS et réplication Nous souhaitons que les partages mis en place précédemment soient accessibles même en cas d indisponibilité de notre serveur Windows 2003 Dagny pc0. Nous devons pour cela créer des racines de Domaine. Concrètement les partages seront accessibles sous le chemin dagnycorprate.com\nom du partage et non pas sous le chemin Dagny PC0\Nom du partage. De cette manière l accès sera transparent pour les utilisateurs même en cas de panne du serveur principal. Procédure de mise en place de Racines : Ouvrez la console Systèmes de fichiers distribués (DFS) Positionnez vous sur la racine de la console Action Nouvelle Racine Racine de domaine Nom du domaine (par défaut) Nom du serveur (ici dagny pc0) Nom de la racine (ici Data) Dossier à partager (ici DATA) Répétez cette procédure autant de fois que nécessaire. Ici nous répétons la procédure trois fois car nous avons choisit de mettre en place trois racines : Data Homes Backup Le Pro du camping Page 30
Procédure de mise en place de cibles Racines : Afin de créer une réplication entre nos serveurs Windows 2003 pour les trois partages cidessus il est indispensable de créer des cibles racines pour le serveur répliquât. Positionnez vous sur la racine Nouvelle cible racine Nom du serveur (ici Dagny PC0R) Dossier à partager (ici H\Data). Procédure de configuration de la réplication : Clic droit sur la racine Configurer la réplication Sélectionner un maitre initial (ici Dagny PC0\Data) Choisir la topologie (ici Hub and spoke) et le concentrateur (ici ça ne peut être que notre maitre car nous n avons que deux serveurs) (Voir glossaire pour les différentes topologies) 3.9 Mise en place de la sauvegarde Nous avons choisis d effectuer une sauvegarde des partages «Data» et «Homes» présents sur le serveur Windows 2003. Le partage «Sauvegarde» étant déjà une sauvegarde de notre site intranet situé sur le serveur linux nous ne sauvegardons pas de nouveau cette partie. Nous avons décidé d utiliser NTBackup qui est l utilitaire de sauvegarde de Windows. Procédure : Pour lancer NTBackup : Accessoires Outils Système Utilitaire de Sauvegarde Vous pouvez ensuite choisir de sauvegarder des fichiers ou de restaurer des fichiers. L assistant propose de sauvegarder toutes les informations de l ordinateur ou de choisir les fichiers à sauvegarder. Ici nous avons choisit de sauvegarder les éléments ci dessous : Le Pro du camping Page 31
Figure 20 : Choix des fichiers à sauvegarder Il faut maintenant choisir la destination de la sauvegarde. Nous utilisons un disque dur de 500 Go qui contiendra nos différentes sauvegardes. En cliquant sur «Avancé» vous pouvez choisir d autres paramètres concernant la sauvegarde. Il est ainsi possible de choisir le type de sauvegarde : Normale : Sauvegarde les fichiers sélectionnés et marque chaque fichier comme sauvegardé. Copie : Sauvegarde les fichiers sélectionnés mais ne les marques pas comme sauvegardés Différentielle: Sauvegarde les fichiers sélectionnés seulement s ils ont été créés ou modifiés depuis la dernière sauvegarde mais qui n ont pas été marqués comme sauvegardés. Incrémentielle : Sauvegarde les fichiers sélectionnés seulement s ils ont été crées ou modifiés depuis la dernière sauvegarde. Quotidienne : Ne sauvegarde que les fichiers qui ont été créés ou modifiés aujourd hui. Il est possible de choisir l option Vérifier les données après la sauvegarde, cette option est conseillée lorsque les données ont un caractère critique. Nous choisissons donc cette option. Le Pro du camping Page 32
Il est conseillé de toujours choisir lʹoption Ajouter cette sauvegarde aux sauvegardes existantes. Vous pouvez choisir dʹexécuter la sauvegarde Maintenant ou ultérieurement dans le cas dʹune tâche planifiée. Nous avons choisit d effectuer en premier lieu une sauvegarde «normale» pour le système ainsi que pour la partie data. Une fois la première sauvegarde effectuée, nous définissons une tâche planifiée qui s effectuera tous les jours à 22 h. Cette tâche effectuera une sauvegarde incrémentielle afin de ne pas surcharger notre support inutilement. Le Pro du camping Page 33
4 Paramétrages des postes clients 4.1 Ajout d un poste xp au domaine Avant d ajouter un poste client au domaine, renommez le poste, comme vu plus haut dans la procédure. (Partie I) Le DHCP et le DNS étant installés sur notre serveur, les propriétés du protocole TCP/IP sur le poste client doivent être déterminées automatiquement Figure 21 : Propriétés de Protocole Internet : configuration automatique Nous allons maintenant ajouter le poste client au domaine : Dans le menu Démarrer Poste de Travail Propriétés Nom de l ordinateur Membre de : Tapez le nom de Domaine souhaité Vous devez alors voir apparaitre une fenêtre d authentification, entrez alors le mot de passe du compte Administrateur de votre contrôleur de domaine : Un message de confirmation doit alors vous avertir que vous êtes dans le Domaine. Le Pro du camping Page 34
4.2 Ajout d un poste linux au domaine Installation Ubuntu 9.10 Prérequis : Insérer le CD Ubuntu 9,10 Booter sur le CD Ubuntu 9,10 Installation : 1 Vous devez pour commencer choisir la langue d installation quand le système vous le demande. Ici nous choisissons Français 2 Sur l écran suivant sélectionnez Installer Ubuntu 3 Sélectionnez à nouveau Français lorsque vous êtes invité à choisir de nouveau la langue 4 Vérifiez ensuite que le Pays et le fuseau horaire sélectionnés sont corrects. 5 Par défaut le clavier est sur France alternative, cliquez sur suivant. 6 Sur l écran suivant choisissez tout effacer et utiliser le disque entier et cliquez sur suivant 7 Remplir les champs suivants : Votre nom : service_info Nom de session : service_info Mot de passe : XXXX Nom de lʹordinateur : PC001 Cliquez sur suivant et continuez 8 Cliquez sur Installer puis patientez pendant l installation du système 9 Le système vous demande alors de redémarrer maintenant Le Pro du camping Page 35
10 Retirez le CD et appuyez sur Entrée, le système doit redémarrer. 11 Fenêtre de connexion : Configuration de notre environnement : Activez le compte root : Activer le compte root, pour se faire ouvrir un terminal (applications > Accessoires > terminal) Dans la fenêtre du terminal tapez la commande : sudo passwd root Le mot de passe du nom de session (service_info) vous est demandé puis vous devez entrer un mot de passe pour le compte root (choisir un mot de passe) et le confirmer une seconde fois. Le compte root est désormais actif sur ce poste. Le Pro du camping Page 36
Installation de Samba : Installation des paquets samba qui nous permettront la communication avec lʹunivers Microsoft Windows. Pour se faire cliquez sur système >administration >gestionnaire des paquets synaptics. Figure 22 : Rechercher et installer grâce à ce gestionnaire : SAMBA et SMBFS l Cliquez ensuite sur Appliquer puis patientez : Le Pro du camping Page 37
Installation de likewise permettant lʹintégration à un domaine : Ouvrir un terminal et se loguer en root Tapez la commande: apt get install likewise open5 Voilà nous venons dʹinstaller lʹapplicatif likewise open Par défaut, Ubuntu installe un utilitaire sensé simplifier les connexions au réseau mais qui en fait apporte plus de soucis : Avahi. Par conséquent, il faut le désactiver : Dans un terminal logué en root, tapez les commandes suivantes : /etc/init.d/avahi daemon stop update rc.d f avahi daemon remove Maintenant la connexion au domaine Active Directory : Ouvrez un terminal logué en root tapez les commandes suivantes : domainjoin cli join dagnycorporate.com Administrateur Le nom utilisateur à utiliser est celui de lʹadministrateur du réseau. Une fois le mot de passe de lʹadministrateur réseau entré, il est maintenant possible de sʹauthentifier sur le poste en utilisant les identifiants des utilisateurs connus dans lʹactive Directory en saisissant le login sous la forme : ʺ\loginʺ. Le Pro du camping Page 38
La saisie du nom de domaine en préfixe à lʹidentifiant de connexion est contraignante et pénible. C est pourquoi, pour ne plus avoir à le saisir, il faut ajouter à la fin du fichier etc/samba/lwiauthd.conf la ligne suivante : winbind use default domain = yes Montage des lecteurs réseau Pour aller plus loin dans lʹintégration du poste dans le domaine, il est possible de monter automatiquement les partages réseaux configurés dans lʹactive Directory à la connexion de lʹutilisateur. Pour effectuer ces montages réseaux, il est nécessaire dʹajouter un logiciel libpam mount pour la configuration des montages : Le Pro du camping Page 39
Une fois les packages installés, il faut configurer le module PAM. Dans le fichier /etc/security/pam_mount.conf.xml on a ajouté la définition des partages. <volume fstype=ʺcifsʺ server=ʺdagny PC0ʺ path=ʺdataʺ mountpoint=ʺ/home/dagnycorporate/%(domain_user)/dataʺ user=ʺ*ʺ options=ʺusername=%(user),user=%(user),domain=dagnycorporate.com,ioch arset=utf8ʺ /> Une fois le module PAM configuré, il faut lʹintégrer au processus dʹauthentification. Pour cela, il faut créer le fichier /etc/pam.d/common pammount et y ajouter les lignes suivantes : auth session optional pam_mount.so use_first_pass optional pam_mount.so Et enfin ajouter à la fin du fichier /etc/pam.d/gdm : @include common pammount Et voilà, maintenant le poste Ubuntu est configuré pour (entre autre) faire les authentifications auprès de lʹactive Directory (lʹauthentification locale reste possible) et d effectuer les montages réseaux de manière automatique. Installation des imprimantes réseaux : Le Pro du camping Page 40
On clique sur système administration impression Puis sur Serveur nouveau imprimantes On indique le mot de passe root : Dans imprimante réseau on va sur Windows Printer via samba puis on clique sur parcourir. Une liste apparait on choisi DAGNYCORPORATE (notre serveur) DAGNY PC0 (le nom du serveur) et la ou les imprimantes à installer. Il suffit de sélectionner les pilotes de l imprimante puis l impression sera possible en fonction des droits affectés à cette imprimante dans l Active Directory. Le Pro du camping Page 41
4.3 Accessibilité des postes à distance Afin de faciliter l administration des postes clients et le dépannage de ces derniers, Dagny Corporate souhaite que tous les postes de son parc soient accessibles à distance. Windows Xp propose un Bureau à distance qui permet de se connecter à distance via un réseau local ou via internet à une machine. Nous avons décidé de paramétrer les postes clients de manière à ce qu ils soient tous accessibles à distance par les membres du Service Informatique. N.B : L hôte est la machine distante sur laquelle l on pourra se connecter. Le client est la machine locale avec laquelle l administrateur se connectera. Nos deux machines doivent avoir Windows XP Professionnel. Voici les paramétrages à effectuer pour la partie «Hôte» et la partie «Client» : Partie hôte : Autorisez la connexion à distance, pour cela : cliquez sur Démarrer, faites un clic droit sur Poste de Travail, puis cliquez sur Propriétés allez à lʹonglet Utilisation à Distance cochez la case Autoriser les utilisateurs à se connecter à distance à cet ordinateur Vous pouvez alors choisir les comptes qui auront le droit de se connecter à distance en cliquant sur Choisir des utilisateurs distants. Dans notre cas, les membres du service Informatique sont administrateurs nous n avons donc pas besoin de les ajouter dans cet onglet. Le Pro du camping Page 42
Figure 23 : Paramétrage de l hôte pour la connexion à distance Cependant nous vérifions ensuite dans Gestion de l ordinateur Utilisateurs et groupe locaux Groupes, la présence du groupe «Admin du domaine» dans le groupe «Administrateurs». Partie client : Voici les étapes à suivre sur le poste client : lancez lʹapplication : Démarrer Tout les programmes Accessoires Communications Connexion au Bureau à Distance entrez le nom NetBIOS/DNS (ou l adresse IP dans notre cas nous utiliserons le nom du poste car les IP sont distribués dynamiquement) de la machine hôte dans le champ Ordinateur cliquez sur Connexion entrez le login et le mot de passe de votre compte sur la machine hôte dans les champs prévus à cette effet Vous êtes maintenant dans une fenêtre affichant le Bureau de lʹhôte, une barre apparaît en haut de la fenêtre vous permettant dʹarrêter la connexion à tout moment. Le Pro du camping Page 43
4.4 Attribution d un dossier de base Attribution d un dossier de base à un utilisateur du domaine Un dossier de base facilite entre autre la sauvegarde des documents de l utilisateur. Dans notre structure, tous les dossiers de base se situent sur le serveur Windows 2003 au même emplacement (H\HOME). Nous mettrons par la suite en place une sauvegarde sur la totalité de ce volume. Voici la démarche à suivre afin d attribuer un dossier de base à un utilisateur du domaine : 1. Commencez par créer un partage réseau, ici nous avons créé le dossier partagé «Home». 2. Définissez ensuite les autorisations nécessaire afin d autoriser l accès aux utilisateurs : Propriétés Partage Autorisations Les utilisateurs doivent avoir les droits Lecture et Modification sur le dossier. Figure 24 : Autorisations sur le partage Le Pro du camping Page 44
Puis allez dans : Propriétés Sécurité Figure 25 : Affection des droits suivant les utilisateurs N.B : Si vous le souhaitez, il est possible de bloquer l héritage des autorisations d un dossier partagé pour cela, cliquez sur «Paramètres avancés» 3. Ouvrez la console Utilisateurs et ordinateurs Active Directory, placez vous sur le compte de l utilisateur Propriétés Profil Cliquez sur connecter, choisissez la lettre de lecteur Dans la zone à tapez le chemin réseau correspondant à votre infrastructure puis cliquez sur OK pour valider. Le dossier de base de l utilisateur est alors crée à l endroit que vous avez spécifiez. Ici le dossier de base de l utilisateur porte le nom de son login (nom d ouverture de session). Le Pro du camping Page 45
Attribution d un dossier de base à un utilisateur local Cliquez sur Démarrer Panneau de configuration Outils d administration Gestion de l ordinateur Utilisateurs et groupes locaux Utilisateurs Propriétés de l utilisateur Dans l onglet Profil Connecter : Taper le chemin d accès du dossier Le Pro du camping Page 46
5 Mise en place du serveur Linux INSTALLATION SERVEUR LINUX DEBIAN RELEASE DEBIAN 5 LENNY Nous avons fait le choix de faire l installation du serveur à partir de la distribution : Net install (debian 505 i386 netinst.iso) Cette distribution minimale a de nombreux avantages : - Ne nécessite pas l utilisation de plusieurs DVD pour détenir l ensemble de la distribution - Permet d installer uniquement les paquets nécessaires pour notre serveur. - Elle contient le package minimal pour la gestion de la machine hôte. - Elle bénéficie des derniers paquets disponibles sur le site de l éditeur et évite donc par la suite des mises à jour inutiles La seule contrainte imposée par cette distribution est qu une connexion internet (rapide de préférence) est nécessaire pour l installation de la machine Phase 1 : Récupération du package NET INSTALL sur le site de l éditeur : http://cdimage.debian.org/debian cd/5.0.5/i386/iso cd/debian 505 i386 netinst.iso Ce fichier doit être gravé sur un CDR pour être installé sur un poste physique. Phase 2 : Installation sur la machine Linux Serveur : Via le bios de la machine sélectionner le lecteur CD/DVD comme périphérique de boot Le Pro du camping Page 47
Nous sélectionnons l installation Graphique afin de bénéficier de l interface graphique qui est plus conviviale. Le système vous demande alors de choisir la langue d installation : French Nous choisissons ensuite la zone géographique : France L écran suivant demande de choisir la disposition du clavier : Français (fr latin9) En cliquant sur continuer le chargement de la couche matériel va se lancer et paramétrer l accès a Internet afin de récupérer la distribution Si les paramètres réseau sont correctement détectés l installation demande l attribution d un nom unique pour la machine : DagnyPC1L L installation demande ensuite de spécifier le nom de domaine : dagnycorporate.com Le Pro du camping Page 48
L écran suivant nous demande de sélectionner la méthode de partitionnement du disque système, nous choisirons : Assisté utiliser un disque entier puisque seul le disque système est impacté par ce choix, nous pourrons par la suite créer d autre partitions sur le disque. Si l on souhaite dédier seulement une partie du disque 0 pour l installation du système, il faut choisir l option MANUEL et spécifier les paramètres de quota dédié au disque système. Sur l écran suivant le système propose de séparer les répertoires système sur plusieurs partitions, choix que nous validons car cela apporte un gain non négligeable sur la sécurité des données et la possibilité de maintenance sur une partition qui pourrait poser problème par la suite Le Pro du camping Page 49
Figure 26 : Résumé des différentes tailles dédiées à chaque partition Figure 27 : Validation des paramètres en cochant OUI puis continuer L installation et le téléchargement du «système de base» commence. Nous devons ensuite spécifier un mot de passe pour le super utilisateur. Le Pro du camping Page 50
Puis créer un compte pour la gestion quotidienne de la machine sans utilisation du compte root : dagny Puis choisir le login affiché pour ce compte : Login : dagny L écran suivant demande le mot de passe correspondant à ce login. Configuration de l outil de Gestion des paquets : France Puis l écran suivant apparait : Figure 28 : Sélection du site de mise a disposition des paquets additionnels On peut spécifier par la suite un serveur proxy si présent sur le réseau On peut choisir de participer anonymement à l étude statistique sur l utilisation des paquets que l on installera dans la distribution : Non (par défaut) Le Pro du camping Page 51
L installation propose de sélectionner les différents services que l on souhaite installer sur la machine, nous sélectionnons : Serveur Web : Apache Serveur de fichiers : SAMBA Base de données SQL : MySQL Système Standard : Obligatoire Sur l écran de configuration du serveur SAMBA, il faut spécifier le domaine auquel on rattache ce service L écran suivant nous demande si nous souhaitons modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP : NON Nous n activons pas cette modification puisque le service WINS n est pas utilisé sur le serveur Windows 2003 gérant le DHCP. Installer Grub (Bootloader) sur la machine : OUI Grub permettra de booter le système Linux Figure 29 : Installer le programme de démarrage GRUB L installation est terminée. Retirez le CD du lecteur et redémarrez la machine Le Pro du camping Page 52
Samba Client Nous avons créé un compte sur notre serveur Linux à qui nous avons attribué les droits de propriétaire sur le dossier var/www : adduser dagny home /var/www/ chown R dagny /var/www/ On vérifie que l utilisateur dagny est bien créé avec le chemin souhaité : nano /etc/passwd Nous avons au préalable créé un répertoire partagé nommé Sauvegarde sur notre serveur «Dagny Windows Server 2003». Les droits en écriture sont attribués uniquement au compte Administrateur. Il faut tout d abord commencer par créer un dossier (ici MonteSamba) qui sera notre point de montage de la partition : cd /root mkdir MonteSamba chmod 777 MonteSamba Nous installons les paquetages smbfs et smbclient : apt get install smbfs smbclient On vérifie maintenant si l accès au dossier partagé est bien fonctionnel : smbclient L //IPServeurWindows UAdministrateur Sauvegarde de la base de données et du site intranet Sauvegarde On commence par créer un fichier savebase (sous root) qui va effectuer le montage de la partition samba, sauvegarder l arborescence, notre base de données puis démonter la partition. Le Pro du camping Page 53
Pour le point de montage on met le nom de notre point d entrée unique et non pas l IP de notre serveur (\\dagnycorporate.com\sauvegarde) Figure 30 : Fichier savebase.sh On rend le script exécutable : chmod +x /root/savebase.sh On l exécute: /root/./savebase.sh On vérifie sur le serveur Windows si les fichiers sont présents: Planification de la sauvegarde On édite la planification : crontab e Le Pro du camping Page 54
On configure notre planification selon nos besoins : Ici nous choisissons de planifier la sauvegarde tous les jours à 22 heures. m représente les minutes h représente les heures dom représente le jour du mois mon représente le mois dow représente le jour de la semaine (1 5 : du Lundi au vendredi) command représente la commande en chemin Absolu Figure 31 : Planification de la sauvegarde 6 Mise en place de la base de données relationnelle Interview pour la création de la base de données Quelles seront les utilisateurs potentiels de la base de données? Les membres du service informatique devront être en mode «Gestion» Les utilisateurs du parc informatique devront être en mode «Consultation» Quelles sont les fonctionnalités attendues pour le mode «Gestion»? Possibilité d effectuer les actions suivantes sur les utilisateurs, les locaux, les écrans, les imprimantes et les postes : Rechercher/Enregistrer/modifier/supprimer Lors de l enregistrement d un nouveau poste les champs suivants doivent être obligatoirement renseignés : Utilisateur Local Un ou plusieurs écrans Une ou plusieurs imprimantes Caractéristiques de l UC Date de début de l utilisation Possibilités de modifier et de supprimer un poste Le Pro du camping Page 55
Quelles sont les fonctionnalités attendues pour le mode «Consultation»? Permettre la recherche multicritères de poste Consulter la liste des postes décris par : Noms/Prénoms Utilisateur Nom du local Caractéristiques de l UC Consulter la liste des écrans associés au poste Consulter la liste des imprimantes associées au poste Qu est ce que la fiche liste des écrans? Un poste peut avoir «n» écrans et un écran peut avoir «1 seul» poste. Les utilisateurs peuvent ils imprimer sur plusieurs imprimantes? Un utilisateur peut imprimer sur «n» imprimantes De même une imprimante peut être utilisée par «n» utilisateurs Le Pro du camping Page 56
Suite à l interview nous avons mis en place une Modèle Conceptuel de Données (MCD) et un Modèle Logique de Données (MLD) : Figure 32 : MCD Le Pro du camping Page 57
Figure 33 : MLD Le Pro du camping Page 58
7 Construction de l intranet 7.1 But de l intranet : Créer un mode gestion pour le service informatique qui sera en mesure d enregistrer/modifier/supprimer des utilisateurs, les postes de travail et leurs écrans puis les imprimantes des différents services. Créer un mode consultation pour les utilisateurs du parc informatique qui seront en mesure de voir les caractéristiques de chaque poste, leur écran, leurs imprimantes. Une sécurité sera mise en place dans le but d éviter l accès en mode gestion aux utilisateurs. Le programme Dreamweaver nous permettra de tous mettre en place. 7.2 Connexion à la base de données relationnelle <?php $hostname_parc = "localhost"; $database_parc = "*******"; (Nom de la base de données) $username_parc = "*******"; (Identifiant) $password_parc = "*******"; (Mot de passe) $Parc = mysql_connect($hostname_parc, $username_parc, $password_parc) or trigger_error(mysql_error(),e_user_error); mysql_select_db('dagny');?> Cette étape est indispensable pour l exécution de la requête SQL. Pour faciliter les choses un fichier nommé Parc.php comportera ce code et sera automatiquement lié a chaque fichier de l intranet avec la fonction require_once ('Connections/Parc.php'); Le Pro du camping Page 59
7.3 Scripts d authentification et de déconnexion Script d authentification (Ce script est généré par Dreamweaver) : <?php session_start(); require_once('connections/parc.php'); // ** deconnect l utilisateur actuel. ** $logoutaction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_server['query_string'])) && ($_SERVER['QUERY_STRING']!= "")){ $logoutaction.="&". htmlentities($_server['query_string']); } if ((isset($_get['dologout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_session['mm_username']); unset($_session['mm_usergroup']); unset($_session['prevurl']); } $logoutgoto = "logout.php"; if ($logoutgoto) { header("location: $logoutgoto"); exit; } if (!function_exists("getsqlvaluestring")) { function GetSQLValueString($theValue, $thetype, $thedefinedvalue = "", $thenotdefinedvalue = "") { if (PHP_VERSION < 6) { $thevalue = get_magic_quotes_gpc()? stripslashes($thevalue) : $thevalue; } $thevalue = function_exists("mysql_real_escape_string")? mysql_real_escape_string($thevalue) : mysql_escape_string($thevalue); switch ($thetype) { case "text": $thevalue = ($thevalue!= "")? "'". $thevalue. "'" : "NULL"; break; case "long": case "int": $thevalue = ($thevalue!= "")? intval($thevalue) : "NULL"; Le Pro du camping Page 60
break; case "double": $thevalue = ($thevalue!= "")? doubleval($thevalue) : "NULL"; break; case "date": $thevalue = ($thevalue!= "")? "'". $thevalue. "'" : "NULL"; break; case "defined": $thevalue = ($thevalue!= "")? $thedefinedvalue : $thenotdefinedvalue; break; } } } return $thevalue; $loginformaction = $_SERVER['PHP_SELF']; if (isset($_get['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; } if (isset($_post['champ_texte'])) { $loginusername=$_post['champ_texte']; $password=$_post['champ_passe']; $MM_fldUserAuthorization = "rang"; $MM_redirectLoginSuccess = "recherche.php"; $MM_redirectLoginFailed = "refus.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_parc, $Parc); $LoginRS query=sprintf("select login_utilisateur, pwd, rang FROM utilisateurs WHERE login_utilisateur=%s AND pwd=%s", GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); }?> $LoginRS = mysql_query($loginrs query, $Parc) or die(mysql_error()); $loginfounduser = mysql_num_rows($loginrs); if ($loginfounduser) { $loginstrgroup = mysql_result($loginrs,0,'rang'); //declare two session variables and assign them $_SESSION['MM_Username'] = $loginusername; $_SESSION['MM_UserGroup'] = $loginstrgroup; if (isset($_session['prevurl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("location: ". $MM_redirectLoginSuccess ); } else { header("location: ". $MM_redirectLoginFailed ); } Le Pro du camping Page 61
Deux possibilités lors de l authentification : Soit on se connecte en tant qu administrateur et en se connectant on sera redirigé vers le tableau de bord de l administration Soit on se connecte en tant qu utilisateur avec un login personnel, un mot de passe (de l Active Directory). Dans ce cas l utilisateur sera alors redirigé sur la page info_service.php où se trouve une recherche multicritères pour la consultation des données le concernant. En cas d échec d authentification une page refus.php empêchera l accès à l intranet. Script de déconnection // ** déconnection du serveur! ** $logoutaction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_server['query_string'])) && ($_SERVER['QUERY_STRING']!= "")){ $logoutaction.="&". htmlentities($_server['query_string']); } if ((isset($_get['dologout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_session['mm_username']); unset($_session['mm_usergroup']); unset($_session['prevurl']); } $logoutgoto = "logout.php"; if ($logoutgoto) { header("location: $logoutgoto"); exit; } Généré par Dreamweaver ce code permet la déconnexion du serveur et vide les variables de session. Une fois déconnecté l utilisateur ou l administrateur sera redirigé vers la page logout.php Le Pro du camping Page 62
7.4 Mode consultation Une recherche multicritère et donc mise à disposition des utilisateurs, voici l essentiel du script permettant cette action : //on recupère les valeurs du formulaire dans une variable! $choix_1 = $_POST["choix_1"]; $choix_2 = $_POST["choix_2"]; $choix_3 = $_POST["choix_3"]; //on fait une requete qui récupère dans la base la vue globale $query ="SELECT * FROM v_global "; //premier égal FAUX $premier = false; //Si le choix_1 est différent du vide if($choix_1!="") { //on commence la deuxieme condition qui est : si premier est strictement égal à FAUX //Alors la requete ligne53 devient "SELECT * FROM v_global WHERE num_poste LIKE '%$choix_1%' " if ($premier==false) { $query.= "WHERE num_poste LIKE '%$choix_1%' "; $premier=true; } } //Si le choix_2 est différent du vide if($choix_2!="") { //on commence la deuxieme condition qui est : si premier est strictement égal à FAUX //Alors la requete ligne53 devient "SELECT * FROM v_global WHERE nom_utilisateur LIKE '%$choix_2%' " if ($premier==false) { $query.= "WHERE nom_utilisateur LIKE '%$choix_2%' "; $premier=true; } //Sinon la requete ligne65 devient "SELECT * FROM v_global WHERE num_poste LIKE '%$choix_1%' AND nom_utilisateur LIKE '%$choix_2%'" else { $query.= "AND nom_utilisateur LIKE '%$choix_2%' "; } } //Si le choix_3 est différent du vide Le Pro du camping Page 63
if($choix_3!="") { //on commence la deuxieme condition qui est : si premier est strictement égal à FAUX //Alors la requete ligne53 devient "SELECT * FROM v_global WHERE service LIKE '%$choix_3%' " if ($premier==false) { $query.= "WHERE service LIKE '%$choix_3%' "; $premier=true; } //Si on arrive ici c'est que la requete peut prendre la forme "SELECT * FROM WHERE AND AND " ou "SELECT * FROM WHERE AND " else { $query.= "AND service LIKE '%$choix_3%' "; } }?> Voici le type de résultat qu un utilisateur peut obtenir en renseignant essentiellement le numéro de son poste de travail : Il sera donc en mesure de consulter les informations de son poste de travail, de son écran et de lui même. Si un utilisateur recherche des informations mais qu il ne connaît ni le numéro du poste, ni le nom de l utilisateur, ni le service il lui suffira de faire un clic sur rechercher avec tous les champs vides ainsi, toutes les informations de la base de données seront affichées. Attention cette liste peut être très longue et donc peu pratique. Comme le stipule le cahier des charges les utilisateurs ne pourront pas modifier/supprimer les informations trouvées. Le Pro du camping Page 64
7.5 Présentation des modes de gestion et de recherche Le mode gestion Comme dit précédemment dans la partie authentification, une fois qu un administrateur est connecté, il est dirigé sur le panel d administration que l on nommera tableau de bord! Les différents choix possibles sont la recherche, l ajout, la modification et la suppression pour les postes, les écrans, les imprimantes et les utilisateurs. La fonction supprimée est disponible seulement après avoir effectué une recherche. Les administrateurs ont aussi la possibilité (dans le menu ajout) d associer un utilisateur à une imprimante. La recherche Cette fonction est simple d utilisation et donne pratiquement le même résultat que celle du mode consultation. Le script permet de ne pas tenir compte des majuscules, par exemple, dans la base de données pc001 est en fait renseigné PC001. Le Pro du camping Page 65
Une fois le numéro du poste de travail renseigné on obtient : Les différences sont que les administrateurs peuvent supprimer les informations obtenues grâce au bouton, voir l utilisateur du poste de travail en question avec le bouton et consulter l écran associé au poste avec le bouton. Chaque ligne de données dans la base à un code nommé ID. Nous allons nous servir de ce code pour retrouver les données liées au poste de travail, en PHP on utilise un variable global «$_GET["******"]». Pour la recherche des imprimantes, des utilisateurs et des écrans la procédure est identique. Voici le principal du script de recherche pour le fonctionnement du programme : <?php $nb_rech =0; //si on clique sur envoyer on commence le script!!! if (isset($_get["submit"])) { $tab_rech = array(); //recherche le poste pour les informations. $rech=$_get["search"]; $mot=$_get["search"]; $tab_mots=explode(" ",$rech); foreach($tab_mots as $mot) { $query= "SELECT * FROM `info_poste` WHERE (`num_poste` LIKE \"$mot\")"; } Le Pro du camping Page 66
?> //execute la recherche $requete = mysql_query($query) or exit(mysql_error()); while($ligne = mysql_fetch_assoc($requete)) { $tab_rech[] = $ligne; $nb_rech++; } <br /> <table width="750" border="1" align="center" cellpadding="8"> <tr> <th align="center" colspan="12">il y a <?php echo "<font color=\"red\">$nb_rech</font>";?> résultat trouvé pour les informations du poste de travail</th> </tr> <tr> <td align="center" >ID</td> <td align="center" >Code utilisateur</td> <td align="center" >N du poste</td> <td align="center" >N prise</td> <td align="center" >Bâtiment</td> <td align="center" >Etage</td> <td align="center" >Porte</td> </tr> <?php for($i=0;$i<$nb_rech;$i++) { $poste_id=$tab_rech[$i]["poste_id"]; $date_debut_utilisation=$tab_rech[$i]["date_debut_utilisation"]; $num_poste=$tab_rech[$i]["num_poste"]; $utilisateur_id=$tab_rech[$i]["utilisateur_id"]; $num_prise=$tab_rech[$i]["num_prise"]; $batiment_po=$tab_rech[$i]["batiment_po"]; $etage_po=$tab_rech[$i]["etage_po"]; $porte_po=$tab_rech[$i]["porte_po"]; $os=$tab_rech[$i]["os"]; $processeur=$tab_rech[$i]["processeur"]; $ram=$tab_rech[$i]["ram"]; $disque_dur=$tab_rech[$i]["disque_dur"]; echo "<tr>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$poste_id</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$utilisateur_id</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$num_poste</font></td>";?> echo "<td align=\"center\" ><font color=\"#0000ff\">$num_prise</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$batiment_po</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$etage_po</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$porte_po</font></td>"; echo "</tr>"; </table> Le Pro du camping Page 67
<br /> <table width="750" border="1" align="center"> <tr> <td align="center" >Os</td> <td align="center" >Processeur</td> <td align="center" >Ram</td> <td align="center" >Disque Dur</td> <td align="center" >Action</td> </tr> <?php echo "<tr>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$os</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$processeur</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$ram</font></td>"; echo "<td align=\"center\" ><font color=\"#0000ff\">$disque_dur</font></td>"; echo "<td align=\"center\" > <form name=\"supprimer_os\" action=\"supprimer_os.php?id=$poste_id\" method=\"get\"> <a href=\"\"onclick=\"javascript:window.open('supprimer_os.php?id=$poste_id','widt h=1024,height=800,scrollbars=yes');\"> <input title=\"supprimer les informations trouvé.\"type=\"image\" src=\"images/supprimer.png\"/> </a> </form> <form name=\"info_utilisateur\" action=\"action_lo.php?id=$utilisateur_id\" method=\"get\"> <a href=\"\"onclick=\"javascript:window.open('action_lo.php?id=$utilisateur_id','w idth=1024,height=800,scrollbars=yes');\"> <input title=\"information sur le ou les utilisateurs liés au poste de travail trouvé.\"type=\"image\" src=\"images/utilisateur.png\" name=\"info_utilisateur\"/> </a> </form> <form name=\"info_ecran\" action=\"action_ec.php?id=$poste_id\" method=\"get\"> <a href=\"\"onclick=\"javascript:window.open('action_ec.php?id=$poste_id','width=1 024,height=800,scrollbars=yes');\"> <input title=\"information sur le ou les écrans liés au poste de travail trouvé.\" type=\"image\" src=\"images/ecran.png\" name=\"info_ecran\"/> </a> </form> </td>"; echo "</tr>"; echo "<tr>"; echo "<td align=\"center\" colspan=\"12\" >Date de mise en service du poste de travail : $date_debut_utilisation<br />"; echo "<font color=\"red\"> </font>"; echo "</td>"; echo "</tr>"; }?> } Le Pro du camping Page 68
7.6 Fonctionnement de la suppression La suppression à un point commun avec la recherche, en effet c est avec une variable globale «($_GET["*****"]))» que l on va récupérer l ID correspondant aux données trouvées précédemment. L envoi de l ID s effectue à partir de la page recherche_os.php : <form name=\"supprimer_os\" action=\"supprimer_os.php?id=$poste_id\" method=\"get\"> <a href=\"\"onclick=\"javascript:window.open('supprimer_os.php?id=$poste_id','widt h=1024,height=800,scrollbars=yes');\"> <input title=\"supprimer les informations trouvé.\"type=\"image\" src=\"images/supprimer.png\"/> </a> </form> On le récupère ensuite de cette façon sur la page supprimer_os.php : $id = $_GET["id"]; Une fois cette action faite nous pouvons faire une requête SQL pour ensuite afficher les données du poste de travail à supprimer. //on fait une requête qui récupère dans la base les tables info_poste et écran puis les id du poste et de l'écran correspondants //On exécute la requête, s'il y a une erreur il affiche une erreur MySQL //On stocke les résultats dans un tableau $query = "SELECT * FROM `info_poste`, `ecran` WHERE `info_poste`.`poste_id` = '$id' AND `ecran`.`poste_id` = '$id' "; $requete = mysql_query($query) or exit(mysql_error()); $resultat = mysql_fetch_array($requete); Attention cependant les données d un poste de travail son liées à un écran donc nous devrons d abord commencer par le supprimer pour casser la relation entre les deux! N oublions pas qu il s agit d une base de données relationnelle. Le Pro du camping Page 69
Bien sûr, nous demandons si OUI ou NON on est sûr de vouloir supprimer ces informations car c est une action irréversible! Si on clique sur oui c est une autre requête SQL qui est envoyée : //si on a choisit de valider la demande de suppression if (isset($_post["submit_oui"])) { //requete de l'écran qui supprime les informations correspondantes à l'id $query_1 = "DELETE FROM `imprimante` WHERE `imprimante`.`imprimante_id` = '$id' "; $requete_1 = mysql_query($query_1) or exit(mysql_error());?> <! On affiche la confirmation de la suppression > <table align="center" width="750" border="1"> <tr> <td align="center"><font color="#009900">vous venez de supprimer les informations de l'imprimante!</font><br /> <input type="submit" value="quitter" onclick="javascript:window.close();" /> </td> </tr> </table> Le Pro du camping Page 70
<br /> <?php //si on a cliqué sur OUI, on incrémente de 1 $suppression++; } Pour la suppression d un poste de travail, d un écran ou d un utilisateur la procédure est quasi identique, elle varie cependant pour la suppression d une imprimante. Les imprimantes sont liées à un ou plusieurs utilisateurs avec la fonction associé une imprimante, donc la première étape de sa suppression est de voir avec qui elles sont liées. Pour ce faire on choisit dans le menu recherche «rechercher une imprimante» Un menu déroulant avec toutes les IP permet de trouver celle recherchée. Par exemple prenons la 192.168.10.216 : On clique sur est voici le résultat : Nous savons maintenant que l imprimante 192.168.10.216 est liée à l utilisatrice LAPORTE Laurence. Si cette imprimante doit être supprimée il nous faut casser la ou les relations en cliquant sur. Le Pro du camping Page 71
Si on clique sur oui voici le script qui exécute la requête : //on récupère l'id de l'imprimante, le nom et prénom de l'utilisateur. $imprimante_id = $_GET["imprimante_id"]; $nom = $_GET["nom"]; $prenom = $_GET["prenom"]; //requête pour récupérer l'id de l'utilisateur! $query_im = "SELECT `utilisateur_id` FROM `utilisateurs` WHERE `nom_utilisateur` = '$nom'"; $requete_im = mysql_query($query_im) or exit(mysql_error()); $resultat = mysql_fetch_array($requete_im); $utilisateur_id = $resultat["utilisateur_id"]; //petite requête pour récupérer le nom de l'imprimante! $query_im = "SELECT `nom_im` FROM `imprimante` WHERE `imprimante_id` = '$imprimante_id'"; $requete_im = mysql_query($query_im) or exit(mysql_error()); $resultat = mysql_fetch_array($requete_im); $nom_im = $resultat["nom_im"]; $action = "supprimer_asso_print.php?imprimante_id=$imprimante_id&utilisateur_id=$utilisateur_id&nom=$no m&prenom=$prenom"; //si on clique sur oui on entre dans cette condition if(isset($_post["submit_oui"])) { //on créer la requête pour supprimer la relation entre l'imprimante et l'utilisateur en utilisant leur id $query = "DELETE FROM `association_print` WHERE `association_print`.`imprimante_id` = '$imprimante_id' AND `association_print`.`utilisateur_id` = '$utilisateur_id' LIMIT 1"; //on exécute la requête $requete = mysql_query($query) or exit(mysql_error()); } //on affiche que c'est fait echo "<table align=\"center\" width=\"700\" border=\"1\"> <tr> <td align=\"center\"><font color=\"#009900\">vous venez de supprimer l'association entre l'imprimante ".$nom_im." et l'utilisateur ".$nom." ".$prenom."</font></td> </tr> <tr> <td align=\"center\"><input type=\"submit\" value=\"quitter\" onclick=\"javascript:window.close();\" /></td> </tr> </table>"; Le Pro du camping Page 72
Une fois le script terminé l imprimante peut être supprimée. Si un administrateur clique sur s affichera : sans casser les relations le message d erreur suivant Cannot delete or update a parent row: a foreign key constraint fails (`dagny/association_print`, CONSTRAINT `association_print_ibfk_1` FOREIGN KEY (`imprimante_id`) REFERENCES `imprimante` (`imprimante_id`)) 7.7 Fonctionnement de l ajout Quatre choix sont disponibles, l ajout d un poste de travail, d un utilisateur, d un écran ou d une imprimante. Voici l exemple pour ajouter un poste de travail. En premier lieu il faut connaitre le Code utilisateur pour lier le poste de travail à celui ci. Si on ne connaît pas ce code la fonction rechercher un utilisateur sera donc utile pour le trouver. Le Code utilisateur est en faite l ID! Le Pro du camping Page 73
On peut remarquer que la date et découpée en trois parties. Le but est de faire en sorte d éviter des erreurs dans l ordre des choses, pour cela une fonction date à été créée : function verifierdate($date_j, $date_m, $date_a) { if (checkdate(intval($date_j), intval($date_m), intval($date_a)) == true) { return true; } else { return false; } }?> Nous l utiliserons de la manière suivante dans le script PHP : //si la date est incorrectement saisie (la fonction est présente dans le fichier fonction.php) on le dit. $valide = verifierdate($date_j, $date_m, $date_a); if ($valide == false) { Voici le résultat d une date saisie incorrectement : Pour éviter des erreurs lors de la saisie du Code utilisateur et du code Porte (uniquement des chiffres et pas de lettres), nous avons fait une condition avant la construction de la requête : //on interdit a utilisateur_id et porte_po d'être autre chose qu'un chiffre! if(!is_numeric($utilisateur_id)!is_numeric($porte_po)) { //si on ce trompe on l'affiche. echo "<table align=\"center\" border=\"1\"><tr><td align=\"center\"><font color=\"#009900\"> Les champs Code utilisateur et Porte doivent seulement comporter des chiffres<br /> <font color=\"#ff0000\">voici votre saisie :<br /> Code utilisateur : <font color=\"#0000ff\">$utilisateur_id</font><br /> Porte : <font color=\"#0000ff\">$porte_po</font></font><br /> Veuillez recommencer la saisie du formulaire.</font> </td></tr></table>"; } Le Pro du camping Page 74
Voici le résultat en cas d erreur de saisie : P n est pas un chiffre donc on ne continue pas, on recommence la saisie. Pour éviter encore d autres erreurs de saisie, chaque champ n autorise qu un nombre spécifique de caractères. Par exemple le numéro d un poste de travail sous l Active Directory et sous la forme PC001, PC002 etc. Nous allons donc interdire plus de 5 caractères dans cette zone de saisie et ainsi éviter certaines erreurs. Le numéro de la prise Ethernet sera générée automatiquement, il suffit de sélectionner la prise n 1 ou 2 et le reste ce construira lors de l envoie de la requête SQL. $query = "INSERT INTO `dagny`.`info_poste` (`poste_id`, `date_debut_utilisation`, `utilisateur_id`, `num_poste`, `num_prise`, `batiment_po`, `etage_po`, `porte_po`, `os`, `processeur`, `ram`, `disque_dur`) VALUES(NULL, '$date_a $date_j $date_m', '$utilisateur_id', '$num_poste', '$porte_po $batiment_po $num_prise', '$batiment_po', '$etage_po', '$porte_po', '$os', '$processeur', '$ram', '$disque_dur')"; $requete = mysql_query($query) or die("<center>attention une erreur c'est produite, la raison est la suivante : <br />Le N du poste : <font color=\"#0000ff\">$num_poste</font> existe déjà!</center>"); Une fois notre saisie envoyée on affiche le résultat avec une requête SQL (on récupère le numéro du poste pour indiquer quelle ligne on souhaite atteindre) : <?php } //si $ajout a pour valeur 1 on construit, exécute et stock la requête dans un tableau array //( ainsi on pourra sortir les résultats de l'ajout avec un echo $resultat[""]; if ($ajout == 1) { $query = "SELECT * FROM `info_poste` WHERE `info_poste`.`num_poste` = '$num_poste' "; $requete = mysql_query($query) or exit(mysql_error()); $resultat = mysql_fetch_array($requete);?> Le Pro du camping Page 75
L ajout d un poste de travail est terminé et on a bien la preuve que cette opération s est effectuée avec succès. La technique est la même pour l ajout d un utilisateur, d un écran ou d une imprimante. 7.8 Fonctionnement de la modification Avec la même interface graphique que pour l ajout de données, quatre choix sont disponibles, modifier un poste, un utilisateur, un écran ou une imprimante. Exemple de modification d un poste de travail : Une différence est présente pour modifier une information dans la base on doit d abord la trouver, on ne recherche plus en tapant le n du poste mais par le biais d une liste créée avec une boucle While en PHP. Plus pratique et fiable cela permet de visualiser tous les n de pc répertoriés dans la base de données. Le Pro du camping Page 76
$query = "SELECT * FROM `info_poste` ORDER BY `num_poste` ASC"; $requete = mysql_query($query) or exit(mysql_error()); $resultat = mysql_fetch_assoc($requete); <form action="modifier_os.php" name="recherche" method="post"> <table width="750" align="center"> <tr> <td align="center">quel est le N du poste à modifié?</td> </tr> <tr> <td align="center"><select name="num_poste_debut"> <?php while($resultat = mysql_fetch_assoc($requete)) { $num_poste = $resultat["num_poste"]; echo "<option>$num_poste</option>"; }?> </select><br /> <input type="submit" name="search" value="rechercher" /></td> </tr> </table> </form> Une fois notre choix fait on récupère la valeur du champ «num_poste_debut» pour créer une requête SQL et ainsi obtenir ce résultat : if (isset($_post["search"])) { $form_rech = 2; $form_modifier = 1; $num_poste_debut = $_POST["num_poste_debut"]; } $query = "SELECT * FROM `info_poste` WHERE `info_poste`.`num_poste` = '$num_poste_debut' "; $requete = mysql_query($query) or exit(mysql_error()); $_SESSION["resultat"] = mysql_fetch_array($requete); Le Pro du camping Page 77
Les renseignements présents dans la base de données sont affichés. Il suffit alors de les modifier comme on le souhaite. Même chose que pour l ajout d un poste de travail, les champs sont limités en nombre de caractères, la date est vérifiée avec la fonction, le code utilisateur et la porte doivent être obligatoirement des chiffres. Si tout est correct on l affiche : Si on ne souhaite pas modifier les données on clique sur non puis sur quitter : Le principe est identique pour modifier un écran, un utilisateur ou une imprimante. Le Pro du camping Page 78
7.9 Fonctionnement de l association Dans le menu ajout on accède à l association d une imprimante à l utilisateur en cliquant sur son lien. On reprend le principe du menu déroulant de la page modification en créant un menu déroulant avec les noms des imprimantes et le nom des utilisateurs. Une fois notre choix effectué il ne reste plus qu à cliquer sur Associer. Si on essaye d associer une imprimante déjà liée à un utilisateur un message d erreur nous stoppe : Duplicate entry ʹ2 2ʹ for key 1. 7.10 Les solutions d avenir Plusieurs améliorations pourront être effectuées dans l avenir, si nous installons un serveur de mail il serait intéressant de créer un système de ticket pour la demande de dépannage d un poste de travail, d un écran voir d une imprimante. Il nous suffirait de créer un formulaire accessible par les utilisateurs logués sur l intranet, de leur demander de remplir leur nom, prénom, mail, bâtiment et autres renseignements pour les situer rapidement dans les locaux. Il serait également intéressant de mettre à disposition une fenêtre de saisie afin qu ils puissent expliquer les problèmes rencontrés. On pourrait également ajouter un forum pour entretenir la communication au sain de l entreprise. Créer une rubrique destinée au plan d action de l entreprise ou tout autre sujet de notre environnement de travail. Le Pro du camping Page 79
8 Solution anti virus Nos postes de travail Windows et Linux sont déjà équipés d une solution anti virus efficace : Avg anti virus Business Edition 9.0. Cependant les serveurs de l entreprise ne sont pas encore équipés de cet anti virus, c est pourquoi nous avons décidé d acheter trois licences supplémentaires pour les deux serveurs Windows 2003 et le serveur Debian 5.0. Technologies mises en œuvre Voici en quelques mots ce qu Avg prend en charge : Anti virus : protection contre les virus, les vers et les chevaux de Troie Anti spyware : protection contre les spywares, les adwares et le vol dʹidentité Anti rootkit : protection contre les menaces cachées (rootkits) Bouclier Web : protection contre les sites Web malveillants Pare feu : protection contre les pirates de type hackers Réduction des ressources système Quelques minutes suffisent à déployer lʹensemble des fonctions dʹavg. La gestion et le contrôle centralisés contribuent à maintenir une administration simple. Installation et réparation à distance Gestion des licences Configuration centralisée et de création de rapports et de mise à jour Application de politiques de sécurité de lʹentreprise Le Pro du camping Page 80
8.1 Les fonctionnalités Installation et réparation à distance. Les clients AVG peuvent être installés à distance sur toutes les stations de travail dans le réseau local. Lʹoutil dʹinstallation à distance se charge de créer un script dʹinstallation nécessaire pour exécuter le processus dʹinstallation sur toutes les stations de travail. Administration complète à distance des clients AVG sur le réseau. Les outils de gestion permettent de connaître en permanence lʹétat de tous les clients AVG et de gérer et modifier leurs paramètres de façon centralisée. Mise à jour centralisée ou distribuée. La mise à jour des clients AVG peut être centralisée et procéder ainsi à la migration de toutes les stations de travail du réseau. Vous pouvez programmer lʹensemble des mises à jour en fonction de vos besoins. Les mises à jour automatiques sont possibles pour les utilisateurs itinérants, même lorsquʹils se déconnectent du réseau. Lancement à distance dʹanalyses/mises à jour des clients AVG AVGADMIN permet dʹaccéder à toutes les stations à distance et dʹexécuter des tests de contrôle ou encore de mettre à jour le client AVG en cas dʹexpiration de la base de données virale. Rapport sur les résultats dʹanalyse AVGADMIN donne des informations complètes sur les virus trouvés et les résultats de lʹanalyse. Lʹadministrateur examine et analyse ces données pour localiser la présence éventuelle de virus, puis applique les mesures de prévention qui sʹimposent pour renforcer la protection anti malware du réseau. Surveillance Toutes les stations réseau sur lesquelles AVG est installé, enregistrent les paramètres système, les informations actuelles sur le programme AVG et les résultats dʹanalyse dans le Centre de données AVG. AVGADMIN extrait ces données du Centre de données AVG et les porte à lʹattention de lʹadministrateur sous la forme de rapports structurés. Rapports graphiques Générer des rapports organisés rapidement et facilement. Les rapports peuvent récapituler les stations gérées par AVG Admin et établir la liste des stations infectées et des virus les plus répandus et dʹautres statistiques. Le Pro du camping Page 81
8.2 Les Composants AVGADMIN Console dʹadministration principale dotée de fonctions de rapport. AVG STool Outil conçu pour lʹinstallation à distance. Centre de données AVG Zone de stockage principale des données. Les serveurs de base de données MS SQL et Firebird sont pris en charge. AVG TCP Server Outil de communication de données disponible sous Windows et Linux. Le Pro du camping Page 82
Conclusion Les solutions techniques mises en place au cours de ce projet répondent au cahier des charges fournit pas le DAF de. L équipe informatique possède désormais une base de données relationnelle centralisant les informations du parc informatique de l entreprise (Nom des machines, des utilisateurs, imprimantes rattachées, localisation dans les bâtiments ). Les droits utilisateurs sont gérés grâce à l Active Directory installé sur le serveur Windows 2003 en corrélation avec le service DNS qui est indispensable au bon fonctionnement de ce dernier. Afin de gérer les différents droits d impression sur les imprimantes du parc informatique un serveur d impression a été installé sur le serveur Windows 2003. Ce serveur a également permis la mise en place de ressources partagées au sein de l entreprise, tout en assurant la confidentialité des documents entre les différents services. Dans le but d obtenir une tolérance de panne au niveau du service DNS, de l Active Directory et de l accès aux ressources partagées, nous avons mis en place un deuxième serveur Windows 2003 ayant le rôle de répliquât. La mise en place d un serveur linux hébergeant un service SFTP permet l échange sécurisé de données vers un site externe. Le serveur linux héberge également l intranet et la base de données relationnelle. Les solutions choisies dans le cadre du projet évolution permettront à l entreprise de se développer tant au niveau humain qu au niveau de son architecture sans avoir à investir dans une nouvelle infrastructure. Le Pro du camping Page 83
GLOSSAIRE RAID 0 : Il est également connu sous le nom de «Stripping» ou «Entrelacement de disques». Cette configuration permet d augmenter significativement les performances de la grappe en faisant travailler X disques durs en parallèle (avec X 2). Ce type de raid ne tolère pas les pannes, la perte d un seul disque entraine la perte de toutes les données. Raid 1 : On l appelle également «mirroring» (miroir), il demande l utilisation de deux disques redondants au minimum. Son nom vient du fait que chaque disque de la grappe contient à tout moment exactement les mêmes données. La capacité utilisable est égale à celle du plus petit disque de la grappe. Le raid 1 offre un excellent niveau de protection des données, il accepte la perte de n 1 disques. Lors de la défaillance de lʹun des disques, le contrôleur RAID désactive, de manière transparente pour lʹaccès aux données, le disque incriminé. Une fois le disque défectueux remplacé, le contrôleur RAID reconstitue, soit automatiquement, soit sur intervention manuelle, le miroir. Une fois la synchronisation effectuée, le RAID retrouve son niveau initial de redondance. Raid 5 : La parité est calculée au niveau dʹun secteur, mais répartie sur lʹensemble des disques de la grappe. Ce mode gère la perte d un disque dur. Le mode Raid 5 permet dʹobtenir des performances très proches de celles obtenues en Raid 0, tout en assurant une tolérance aux pannes élevée. La capacité utilisable est égale à celle du disque le plus petit multiplié par (X 1). Prenons un exemple : Avec 3 disques de 120 Go, la capacité utilisable est de 120X2=240 Go En effet, il faut 120 Go pour stocker les informations de parité Raid 10 : Très sécurisé mais demande encore plus de capacité en Disque Dur que le RAID 5 Garantit lʹintégrité des données et augmente les performances. Il faut avoir quatre disques durs minimum. Sur quatre disques par exemple, il faudrait que deux disques durs d une même grappe soient défaillants pour que le système soit impacté. Le Pro du camping Page 84
Unités d organisation : Une UO ou OU est un objet conteneur qui permet de hiérarchiser l Active Directory. Il est possible de personnaliser les droits des différents utilisateurs/groupes de façon ciblée grâce aux GPO qui s appliquent uniquement sur ces OU. ARP: (Adress Resolution Protocol) Protocole effectuant la traduction d une adresse de couche réseau (typiquement une adresse IPv4) en une adresse MAC (ou même de tout matériel de couche liaison) MCD : Modèle Conceptuel des Données MLD : Modèle Logique des Données (avec schéma conceptuel) Explication de la durée des beaux d étendue : Dans notre exemple la durée du bail est de 8 jours, cela ne signifie pas que les postes clients ne feront pas de requête DHCP durant 8 jours. (Le poste client et le serveur ont connaissance de la durée du bail). Il y a deux cas de figure possibles : Si un poste client est continuellement allumé, lorsque le bail est arrivé à la moitié de sa durée, le poste relance une requête DHCP. Si un poste client est redémarré régulièrement, à chaque «démarrage» celui ci demande de nouveau la dernière adresse IP qu il lui avait été attribué par le DHCP. Explication des différents types d étendue : Les groupes d étendue universelle peuvent être utilisés pour accéder à des ressources dans n importe quel domaine de la forêt et leurs membres peuvent provenir de n importe quel domaine. Ce type d étendue laisse plus de possibilités d évolution au niveau de la structure de l entreprise que l étendue globale ou l étendue locale de domaine. En effet, l étendue globale peut être utilisée dans n importe quel domaine de la forêt tout comme l étendue universelle cependant ses membres ne peuvent provenir que du propre domaine du groupe. Cette limitation pourrait poser problème si dans l avenir Dagny Corporate avait besoin de créer des domaines supplémentaires et d ajouter certains utilisateurs à des groupes déjà existants possédant une étendue globale par exemple. Enfin, les groupes d étendue locale ne peuvent être utilisés que pour un accès à des ressources de domaine local. Topologies de réplication : Appeler : Réplication un à un en Anneau Hub and spoke : Réplication basée sur un serveur concentrateur qui se charge de coordonner les réplications avec les autres serveurs Maille pleine : Chaque serveur réplique sur l ensemble des autres serveurs Personnalisé : Permet d adapter comme on le souhaite la réplication Le Pro du camping Page 85
ANNEXES Le Pro du camping Page 86
Annexe n 1 : Organigramme de Dagny Corporate Directeur Général Assistante Responsable Produit A Responsable Produit B Responsable S.A.V Directeur Administratif et financier Service Produit A 40 Service Produit B 30 Assistante Service Administratif 10 Service Informatique 3 Le Pro du camping Page 87
Annexe n 2 : Devis Serveur Dell (pour Windows Server) Double cliquez sur l aperçu ci dessous afin d ouvrir le devis. Figure 34 : Devis serveur Dell pour Windows Server Annexe n 3 : Devis Serveur Dell (pour Linux) Double cliquez sur l aperçu ci dessous afin d ouvrir le devis. Figure 35 : Devis Serveur Dell pour linux Le Pro du camping Page 88
Annexe n 4: Rapport Gantt Project Double cliquez sur l aperçu ci dessous afin d ouvrir le rapport. Vous trouverez ci dessous le rapport Gantt Project de l activité complète du projet Evolution. La première partie du document expose la répartition des différentes missions dans l équipe, leur date de début et de fin prévisionnelles. Vous pourrez remarquer qu afin de faciliter la lecture du document nous avons établi des codes couleur : Le violet représente les tâches affectées à Anne. Le bleu représente les tâches affectées à Julien. Le vert représente les tâches affectées à Alexandre. L orange représente les actions qui doivent être effectuées par tous les membres de l équipe. Enfin le rose correspond en temps réel de la réalisation de chaque mission. La deuxième partie du rapport comporte le diagramme de Gantt correspondant au planning de l équipe. Le Pro du camping Page 89
Annexe n 5: tableau des adresses IP : Plages d Adresses IP Switch Serveurs Clients Imprimantes 192.168.10.2 192.168.10.8 192.168.10.16 192.168.10.216 à à à à 192.168.10.7 192.168.10.15 192.168.10.215 192.168.10.235 Détails Serveur Debian 5 : 192.168.10.8 Windows Server : 192.168.10.10 Répliquât Windows Server : 192.168.10.11 Etendue DHCP Annexe n 6 : Script «Creation_OU.bat» Ce script étant similaire pour toutes les OU, vous trouverez uniquement les premières lignes de ce dernier : dsadd ou OU=Direction,DC=dagnycorporate,DC=com dsadd ou OU=Utilisateurs,OU=Direction,DC=dagnycorporate,DC=com dsadd ou OU=Ordinateurs,OU=Direction,DC=dagnycorporate,DC=com dsadd ou OU=Serviceʺ ʺAdministratif,DC=dagnycorporate,dc=com dsadd ou OU=Utilisateurs,OU=Serviceʺ ʺAdministratif,DC=dagnycorporate,DC=com dsadd ou OU=Ordinateurs,OU=Serviceʺ ʺAdministratif,DC=dagnycorporate,DC=com Le Pro du camping Page 90
Annexe n 7: Script «creation_compte_ad_evolution.vbs» Empêche la déclaration de variable de façon implicite (on oblige la déclaration d une variable avec Dim) option Explicit ʹScript de création des comptes utilisateurs ʹUsage : cscript creation_compte_ad_evolution.vbs fichier.csv ʹFichier.csv contient les informations sur les comptes à créer, sous la forme ʹ 1 utilisateur par ligne ʹ format d une ligne : nom;prenom;premiereou;deuxiemeou(ou existante) ʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹ ʹʹʹʹʹʹʹʹʹʹʹProgramme Principalʹʹʹʹʹʹʹʹʹʹʹʹʹʹ ʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹ ʹPrésence du paramètre fichier.csv If wscript.arguments.count = 0 Then ʹ= aucun parametre! ʹOn affiche un message d erreur dans la console wscript.echo ʺUSAGE : cscript creation_compte_ad_evolution.vbs fichier.csvʺ wscript.quit ʹquitte le script End If Dim fichiercsv, fso fichiercsv = wscript.arguments(0) ʹ Set fso = CreateObject(ʺScripting.FileSystemObjectʺ) If Not fso.fileexists(fichiercsv) Then ʹsi le fichier csv n existe pas on affiche le message d erreur ci dessous wscript.echo ʺERREUR : Le fichier ʺ & fichiercsv & ʺnʹexiste pas!ʺ wscript.quit ʹquitte le script End If Dim network, DomainObj, UserObj Set network = Wscript.CreateObject(ʺWscript.Networkʺ) ʹOuverture du fichier en mode LECTURE Const ForReading = 1, ForWriting = 2, ForAppending = 8 ʹReprésente la taille chargée en RAM Dim f ʹf est de type TextStream Set f = fso.opentextfile(fichiercsv, ForReading) ʹboucle de lecture ligne par ligne (tant que l on n est pas à la fin du fichier il lit la ligne d après) Dim ligne, nom, prenom, premiereou, deuxiemeou Do While f.atendofstream <> True ʹtant que l on n est pas à la fin..on lit une ligne ligne = f.readline() Le Pro du camping Page 91
ʹDécoupe une ligne selon les ; ʹSplit renvoie un tableau, ici c est un tableau de 4 colonnes ligne = Split(ligne,ʺ;ʺ) ʹrécupère les 4 variables nom,prenom, premiereou, deuxiemenou nom = ligne(0) prenom = ligne(1) premiereou = ligne(2) deuxiemeou = ligne(3) wscript.echo ʺCréation du compte de ʺ & prenom & ʺ ʺ & nom & ʺ (premiereou ʺ & premiereou & ʺ)(deuxiemeou ʺ & deuxiemeou & ʺ)ʺ ʹon appelle la fonction de création du compte AD (ci dessous Fonctions Utiles) CreationCompteAD nom, prenom, premiereou, deuxiemeou, network.userdomain Loop ʹfermeture du fichier f.close() ʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹ ʹʹʹʹʹʹʹʹʹʹʹFonctions Utilesʹʹʹʹʹʹʹʹʹʹ ʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹʹ ʹtest de la fonction de création de compte Sub CreationCompteAD(nom,prenom,premiereou,deuxiemeou,domaine) Dim DomainObj, UserObj, login, premiereouobj, deuxiemeouobj Dim LDAP, OUutilisateur ʹCalcul du login : deux 1ere lettre du nom + deux 1ere lettre du prenom, en minuscule login = LCase( Mid(nom,1,2) & Mid(prenom,1,2)) wscript.echo ʺLogin ʺ & login ʹ1 est la position du caractère qui marque le début de la partie à extraire ʹ2 correspond au nombre de caractères à envoyer Set deuxiemeouobj = GetObject (ʺLDAP://OU=ʺ & deuxiemeou & ʺ,OU=ʺ & premiereou & ʺ,DC=dagnycorporate,DC=comʺ) ʹIgnore l erreur sʹil y en a une : il passe à la ligne suivante On Error Resume Next Set UserObj = GetObject (ʺLDAP://CN=ʺ & login & ʺ,OU=ʺ & deuxiemeou & ʺ,OU=ʺ & premiereou & ʺ,DC=dagnycorporate,DC=comʺ) Le Pro du camping Page 92
si l utilisateur est introuvable : on le créé If Err.Number <> 0 Then Set UserObj = deuxiemeouobj.create(ʺuserʺ, ʺCN=ʺ & nom & ʺ ʺ & prenom) UserObj.FullName= nom & ʺ ʺ & prenom UserObj.FirstName= prenom UserObj.LastName= nom UserObj.mail= prenom & ʺ.ʺ & nom & ʺ@dagnycorporate.comʺ UserObj.sAMAccountName= login UserObj.userPrincipalName= login & ʺ@dagnycorporate.comʺ ʹPassword complexe obligatoire a la création du compte UserObj.SetPassword ʺBlanquefort@10ʺ ʹSauvegarde du compte UserObj.SetInfo UserObj.AccountDisabled = False ʹActive le compte UserObj.SetInfo ʹsauvegarde de nouveau le compte ʹAjout de l utilisateur à l OU (par son chemin LDAP) deuxiemeouobj.add (ʺLDAP://CN=ʺ & login & ʺ,OU=ʺ & deuxiemeou & ʺ,OU=ʺ & premiereou & ʺ,DC=dagnycorporate,DC=comʺ) Else wscript.echo ʺLe compte ʺ & login & ʺexiste déjà!ʺ End If ʹRéactive le gestionnaire dʹerreur On Error Goto 0 End Sub Le Pro du camping Page 93
Annexe n 6: Script «Ouverture_Session_Evolution.vbs» Option Explicit ʹ SCRIPT QUI INSTALLE : ʹ 1 répertoire réseau personnel, 1 répertoire réseau commun (et 1 répertoire avec une vue de tous les répertoires communs pour la Direction et le service Informatique) ʹ 1 ou plusieurs imprimantes liée(s) au service et 1 imprimante générale ʹ Des raccourcis depuis le bureau vers le répertoire réseau commun, le répertoire réseau personnel ʹ================================================================================ ʹVariables qui sont propres à la topologie du réseau Dim DomainString, UserString, UserObj, GroupObj, network Dim lettrelecteurperso, lettrelecteurcommun, lettrelecteurglobal Dim cheminrepperso, cheminrepcommun, cheminglobal lettrelecteurcommun = ʺH:ʺ lettrelecteurperso = ʺP:ʺ lettrelecteurglobal = ʺG:ʺ ʹset c est pour une variable OBJET Set network = Wscript.CreateObject(ʺWScript.Networkʺ) ʹon récupère le nom de domaine de connexion de l utilisateur DomainString = network.userdomain ʹ on récupère le nom de lʹutilisateur UserString = network.username Set UserObj = GetObject(ʺWinNT://ʺ & DomainString & ʺ/ʺ & UserString) ʹappel de la procédure de connexion des lecteurs réseaux CreationLecteursReseaux (UserString) ʹ appel de la procédure de montage des imprimantes MontageImprimantes ʹ appel de la procédure de création des raccourcis CreationRaccourci ʹ Sub CreationLecteursReseaux (Utilisateur) Dim fso, objrepertoire Set fso = CreateObject(ʺScripting.FileSystemObjectʺ) Le Pro du camping Page 94
For Each GroupObj In UserObj.Groups Select Case GroupObj.Name Case ʺRep_Commun_SAVʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_SAVʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_SAV\ʺ & Utilisateur Case ʺRep_Commun_Produit_Aʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_Produit_Aʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_Produit_A\ʺ & Utilisateur Case ʺRep_Commun_Produit_Bʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_Produit_Bʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_Produit_B\ʺ & Utilisateur Case ʺRep_Commun_Informatiqueʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_Informatiqueʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_Informatique\ʺ & Utilisateur cheminglobal = ʺ\\dagnycorporate.com\DATA\ʺ Case ʺRep_Commun_Directionʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_Directionʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_Direction\ʺ & Utilisateur cheminglobal = ʺ\\dagnycorporate.com\DATA\ʺ Case ʺRep_Commun_Administratifʺ cheminrepcommun = ʺ\\dagnycorporate.com\Commun_Administratifʺ cheminrepperso = ʺ\\dagnycorporate.com\Commun_Administratif\ʺ & Utilisateur Case Else End Select Next ʹle script test l existence de la lettre du lecteur réseau si elle existe déjà, il la supprime If fso.driveexists(lettrelecteurperso) Then network.removenetworkdrive lettrelecteurperso End If If fso.driveexists(lettrelecteurcommun) Then End If network.removenetworkdrive lettrelecteurcommun If fso.driveexists(lettrelecteurglobal) Then network.removenetworkdrive lettrelecteurglobal End If ʹSi le chemin de RepPerso nʹexiste pas, il créé le répertoire If fso.folderexists(cheminrepperso) = false Then Set objrepertoire = fso.createfolder(cheminrepperso) End If Le Pro du camping Page 95
ʹSi lettrelecteur est différente du ʺvideʺ il monte la lettre du lecteur avec le chemin correspondant (définit plus haut selon lʹappartenance aux groupes) If lettrelecteurperso <> ʺʺ then network.mapnetworkdrive lettrelecteurperso, cheminrepperso end if If lettrelecteurcommun <> ʺʺ then network.mapnetworkdrive lettrelecteurcommun, cheminrepcommun end if If lettrelecteurglobal <> ʺʺ and cheminglobal <> ʺʺ then network.mapnetworkdrive lettrelecteurglobal, cheminglobal end if End Sub ʹ Sub MontageImprimantes For Each GroupObj In UserObj.Groups Select Case GroupObj.Name Case ʺImpression_Assistantesʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_informatiqueʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_produit_aʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_produit_bʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generaleʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generaleʺ Case ʺImpression_SAVʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_savʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_informatiqueʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_produit_aʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_produit_bʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generaleʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generaleʺ Case ʺImpression_Directionʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_directionʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generale_dʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generale_dʺ Case ʺImpression_Produit_Bʺ Network.AddWindowsPrinterConnectionʺ\\dagny pc0\print_produit_bʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generale_pʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generale_pʺ Case ʺImpression_Produit_Aʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_produit_aʺ Network.AddWindowsPrinterConnectionʺ\\dagny pc0\print_generale_pʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generale_pʺ Le Pro du camping Page 96
Case ʺImpression_Informatiqueʺ Network.AddWindowsPrinterConnection ʺ\\dagnypc0\Print_Informatiqueʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generaleʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generaleʺ Case ʺImpression_Administratifʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_administratifʺ Network.AddWindowsPrinterConnection ʺ\\dagny pc0\print_generaleʺ Network.SetDefaultPrinter ʺ\\dagny pc0\print_generaleʺ Case Else End Select Next ʹPermet la poursuite de lʹexécution malgré une erreur dʹexécution on Error Resume next ʹ si une erreur dʹexécution sʹest produite If Err.Number <> 0 Then ʹpermet d afficher l erreur Wscript.echo ʺErreur lors de la connexion à lʹimprimante : ʺ & Err.Description End If ʹréactive la gestion des erreurs dans la procédure actuelle On Error Goto 0 End Sub ʹ Sub CreationRaccourci ʹCréation Raccourci Dim shell, cheminbureau, raccourci set Shell = WScript.CreateObject(ʺWScript.Shellʺ) cheminbureau = shell.specialfolders(ʺdesktopʺ) ʹraccourci vers le lecteur personnel If lettrelecteurperso <> ʺʺ and cheminglobal <> ʺʺ then set raccourci = Shell.CreateShortcut(cheminBureau & ʺ\Dossier Reseau Personnel.lnkʺ) raccourci.targetpath = lettrelecteurperso ʹrestaure la taille et position de la fenêtre raccourci.windowstyle = 1 ʹraccourci clavier qui marche où que l on soit. raccourci.hotkey = ʺCTRL+SHIFT+Pʺ ʹicone du dossier réseau choisit le 9 = la position de l icone raccourci.iconlocation = ʺshell32.dll, 19ʺ c est une info bulle raccourci.description = ʺRaccourci vers mon dossier réseau personnel (CTRL+SHIFT+P)ʺ Le Pro du camping Page 97
ʹenregistrement raccourci raccourci.save end if ʹraccourci vers le lecteur commun If lettrelecteurcommun <> ʺʺ and cheminglobal <> ʺʺ then set raccourci = Shell.CreateShortcut(cheminBureau & ʺ\Dossier Reseau Commun.lnkʺ) raccourci.targetpath = lettrelecteurcommun raccourci.windowstyle = 1 raccourci.hotkey = ʺCTRL+SHIFT+H ʺ raccourci.iconlocation = ʺshell32.dll, 9 ʺ raccourci.description = ʺRaccourci vers le dossier réseau commun (CTRL+SHIFT+H)ʺ raccourci.save end if ʹraccourci vers le lecteur Global pour la direction et le service Informatique If lettrelecteurglobal <> ʺʺ and cheminglobal <> ʺʺ then set raccourci = Shell.CreateShortcut(cheminBureau & ʺ\Dossier Reseau Vue Globale.lnkʺ) raccourci.targetpath = lettrelecteurglobal raccourci.windowstyle = 1 raccourci.hotkey = ʺCTRL+SHIFT+Gʺ raccourci.iconlocation = ʺshell32.dll, 9ʺ raccourci.description = ʺRaccourci vers le dossier réseau vue Globale (CTRL+SHIFT+H)ʺ raccourci.save end if End Sub Le Pro du camping Page 98