MALIN Nicolas DESS SIRAD. Rapport de Stage. Septembre /61

Dimension: px
Commencer à balayer dès la page:

Download "MALIN Nicolas DESS SIRAD. Rapport de Stage. Septembre 2004 1/61"

Transcription

1 MALIN Nicolas DESS SIRAD Rapport de Stage Septembre /61

2 Table des matières 1. Introduction Présentation de l'entreprise Objectifs du Stage...5 PREMIERE PARTIE : OFBiz 1. Découverte d'ofbiz Fonctionnement général d'ofbiz...7 Architecture...7 Organisation d'un module...8 Architecture d'un module...8 Description des fichiers et répertoires...9 Cheminement lors d'une requête...10 Mon intervention sur OFBiz Forces et faiblesses du PGI...14 Ses Forces...14 Ses Faiblesses...15 Mon sentiment sur le PGI La naissance d'un projet : Neogia...16 Un changement de programmation...16 Qu'apporte LutinGenerator dans le cas d'ofbiz?...17 Ce que remplit Neogia...17 Une conception de haut niveau...18 Une programmation orientée Objet...18 Un gain de temps sur le développement...18 Une réactivité du développement...18 Au final Fonctionnement de Neogia...19 L'arborescence de fichier...19 Explication de l'arborescence de Neogia...20 Les dépendances du projet...21 Comment fonctionne la génération Création du module de comptabilité...22 Diagramme UML...22 Diagramme de classe : CharOfAccount...23 Diagramme de classe : AccountingTransaction...24 Première génération...24 Création de l'arborescence du module...25 Développement du module...25 Renseigner le model UML...26 Effectuer le développement spécifique...26 Dans le cas de la comptabilité...28 Les comptes comptables (NGlAccount)...28 Les périodes comptables (GlPeriod)...28 Les transactions (AcctgTransaction)...28 Les écritures (AcctgTransactionItem) Les lignes d'écritures (GlEntry)...29 Les problèmes d'intégration dans OFBiz...29 Un projet en pleine croissance...29 Au niveau de la licence Conclusion /61

3 DEUXIEME PARTIE : REORGANISATION DE L'INFRASTRUCTURE DE NEREIDE 1. Description de l'existant et des besoins...32 Structure du réseau existant...32 Quels besoins doit couvrir la nouvelle architecture? Analyse des choix pour une nouvelle architecture...33 Harmonisation des systèmes d'exploitation...33 Authentification centralisée des utilisateurs...35 Centralisation des données utilisateurs...36 Sécurisation du réseau...37 Protection du réseau des attaques extérieures Sécurisation des informations...37 Continuité des services du réseau de Néréide Nouvelle architecture du réseau de Néréide...40 Services réseau offerts Mise en place de la nouvelle architecture...42 Première étape : passage sur un serveur auxiliaire...42 Deuxième étape : une migration progressive...42 Dernière étape : le basculement final Les sauvegardes...42 Le script de synchronisation des disques: vue_journaliere.sh...43 Le script de sauvegarde sur le serveur secondaire : balance_push.sh Problèmes rencontrés...44 Le serveur LDAP...44 Le serveur DNS : MaraDNS...44 Migration des données utilisateurs...44 Erreur humaine ou piraterie réussie Une migration non finie Conclusion...45 Conclusion du stage...47 Remerciements...47 Bibliographie...49 Références utilisées dans le cadre du développement Sites internets...49 Livre O'reilly...49 Autre livre...49 Références utilisées dans le cadre de la migration du réseau de Néréide...49 Sites internets...49 Livre O'reilly...49 Annexes 1.Migration du réseau de Néréide...51 But du document...51 Etapes de la migration...51 Première étape...52 Export des répertoires via NFS...52 Configuration de la machine cliente (imbros)...53 Reallocation des $HOME :...53 Après réallocation des $HOME des utilisateurs, /61

4 Deuxième étape...54 Troisième étape...55 Quatrième étape...55 Migration du service ldap...55 Migration des services de fichiers...55 Migration des données...55 Re-positionnement du serveur...55 Cinquième étape...56 Préparation de la migration...56 Migration des machines Migration de serveur principal pour la nouvelle architecture réseau...57 But du document...57 Analyse de l'existant...57 /dev/hda : /dev/hdc :...57 Étapes de la migration de serveur principal...58 Installation de Debian Sarge sur serveur principal...58 Sauvegarde des données restante...58 Réorganisation des disques durs de serveur principal...58 Installation des services...58 Configuration des services...59 Migration des données utilisateurs Sauvegarde des données du serveur...60 But du document...60 Deux types de sauvegarde...60 Sauvegarde disque à disque Explication...60 Fonctionnement de la sauvegarde...60 Fonctionnement du script...60 Sauvegarde sur serveur secondaire...60 Explication...60 Fonctionnement de la sauvegarde /61

5 1. Introduction L'informatique d'entreprise a longtemps ignoré les logiciels libres, pas assez "pro", pas assez sérieux, pas assez rémunérateur. Actuellement, le système d'éditeur de logiciel propriétaire entame un déclin dû à un coût de licence prohibitif. En effet, les entreprises qui investissent dans des solutions logicielles propriétaires pour améliorer leur système d'information, doivent justifier auprès de leur direction des retours sur investissement. Le peu d'argument expliquant le coût de licence de ces logiciels devient flagrant. De plus en plus de chefs d'entreprise arrivent effectivement à ce constat. Seule, les offres de service associées trouvent des justifications. Les logiciels libres commencent à prendre une part de marché dans les logiciels d'entreprise. Ceci est particulièrement vrai pour les serveurs, et commence timidement pour la bureautique. Il reste des secteurs où des solutions libres ne sont pas encore disponibles et notamment dans le secteur des Progiciels de Gestion Intégré. Néréide est une Société de Services du Logiciel Libre, spécialisée dans le domaine de l'intégration de PGI open source à destination des PME, qui m'a prise en stage dans le but de m'investir sur le développement d'un PGI libre nommé OFBiz. Mon travail doit, dans un premier temps, porter sur la compréhension du fonctionnement du PGI sur la couche fonctionnelle, puis sur le développement d'un module de comptabilité. Néréide étant une société naissante, mon maître de stage m'a confié la tâche de réorganiser leur réseau de façon à le rendre plus performant et plus souple par rapport à leurs méthodes de travail. 2. Présentation de l'entreprise Néréide est une SSLL sous le statut SARL. Créée en mars 2004, elle comporte 4 personnes et couvre principalement la mise en oeuvre, le développement et les services sur le PGI libre à l'attention des PME : OFBiz. 3. Objectifs du Stage Premier Objectif : Comprendre le fonctionnement du PGI Libre OFBiz et y développer un module de comptabilité. Second Objectif : Mettre en place une nouvelle architecture réseau opérationnelle pour la société Néréide. 5/61

6 PREMIERE PARTIE : OFBiz 6/61

7 1. Découverte d'ofbiz OFBiz est un Progiciel de Gestion Intégré libre, développé sur une architecture JAVA - J2EE. Son développement a été pensé dès le début pour être le plus modulaire possible, surtout avec l'utilisation de technologie libre pré-existante. Ainsi OFBiz est compatible avec : - tous les serveurs d'applications J2EE ( Jboss, Tomcat, Jetty, etc... ) - toutes les bases de données (MySql, PostgresSql, SapDB, Firebird, DB2, etc...) De plus, il utilise de nombreux projets libres, dont : Jetty : serveur d'applications par défaut Jpublish, Freemark, BeanShell : pour la gestion des écrans utilisateurs HyperSonicDB: base de données par défaut Jasper Report : génération de fichier pdf OFBiz fonctionne sur une architecture J2EE orientée web via l'utilisation des servelets donc le client a juste besoin d'un navigateur internet quelconque pour pouvoir se connecter au PGI. 2. Fonctionnement général d'ofbiz Architecture OFBiz repose sur une architecture à plusieurs niveaux où chaque niveau est spécialisé dans un domaine. Applications Composants applicatifs de base Composants applicatifs - techniques Composants techniques de base J2EE container SGBD Java OS Chaque niveau possède des éléments spécialisés dans une fonction. Le niveau nous intéressant étant les composants applicatifs. 7/61

8 Comptabilité Générale Gestion Commerciale Gestion Maintenance Applications Composants Acteur applicatif de base Commun Contenu Sécurité Services ECA Entity WorkFlow Employé - Ressource Humaine Gestion Projet Relation Client Relation Fournisseur Gestion du service E-Commerce Comptabilité Analytique Comptabilité Tiers Article Ordre Stock Tâche Comptabilité Trésorerie Catalogue Produit Gestion Achat Gestion Production J2EE container SGBD Java OS Ce niveau est structuré en modules qui ont pour spécialisation une application métier de l'entreprise. Organisation d'un module Un module est un programme fonctionnel s'appuyant sur les couches techniques du PGI. Le module contient toutes les informations nécessaires à son bon fonctionnement : description des entités, source java, description des services, fichier de définition d'écran, etc... Toutes ces informations sont organisées dans une arborescence propre au module. Cette arborescence la même structure quelque soit le module et sera détaillée au chapitre suivant. Les modules peuvent inter-agir entre eux via des mécanismes simples (service), permettant de bien spécialiser les fonctionnalités de chacun. Architecture d'un module Les modules sont tous structurés de la même façon. Ci-dessous suit une présentation de l'architecture d'un module d'ofbiz : module +- config +- data +- entitydef +- lib 8/61

9 +- servicedef +- src +- webapp `-module +-error +-sous-module +-templates +-WEB-INF +-actions +-pagedefs -controller.xml -jpublish.xml `-web.xml `-login.ftl `- OFBiz-components.xml Description des fichiers et répertoires module : config : ce répertoire contient les fichiers d'internationalisation et les fichiers «properties» de configuration. data : ce répertoire contient des fichiers xml de données utilisateurs relatif au module. Ces données sont d'ordre d'obligation ou de démonstration entitydef : ce répertoire contient deux fichiers qui décrivent les entités qu'utilisent ce module. Ces fichiers sont directement utilisés pour la description et la construction des tables de la base de données. servidef : ce répertoire contient un fichier, services.xml qui associe des fonctions java, ou d'autres langages, présentes dans les sources du module à un nom de service. src : ce répertoire contient les sources des fichiers java relatif au module. C'est dans ces fichiers que sont définies les fonctions appelées via le fichier services.xml. webapp : ce répertoire contient une arborescence de fichiers qui sont utilisés pour la génération des écrans utilisateurs. OFBiz-components.xml : ce fichier décrit le module pour son intégration dans OFBiz. module/webapp/module : error : ce répertoire contient les messages à afficher suivant 9/61

10 l'erreur générée par le serveur d'applications. sous-module : un module est organisé en sous-parties, suivant l'application faite dans le module avec un objectif de description. Ce répertoire contient les fichiers de structure des forms et les fichiers de structure d'écrans utilisateurs (fichiers ftl). templates : ce répertoire contient les fichiers de structure de base comme l'écran d'accueil du module ou encore les écrans de recherche. WEB-INF : ce répertoire contient une arborescence contenant les fichiers effectuant les traitements nécessaires sur les informations avant leur affichage. login.ftl : ce fichier décrit la structure de l'écran de connexion au module. module/webapp/module/web-inf : actions : ce répertoire contient des fichiers source java interprétés : des fichiers beanshell. Ces derniers servent à remplir le contexte d'informations, nécessaire à l'affichage des informations dans les écrans utilisateurs. Ces informations peuvent provenir d'un appel à la base de données ou d'un traitement quelconque sur des informations déjà présentes dans le contexte. pagedefs : ce répertoire contient la définition d'un écran utilisateur. Ceci comprend les informations initiales et/ou à rajouter au contexte pour l'utilisation de cette page ainsi que diverses définitions des fichiers de structure et des fichiers BeanShell à appeler pour la génération de l'écran. controller.xml : ce fichier met en relation les urls envoyées par le client et la page à renvoyer. Cette page est le résultat d'un enchaînement d'opérations qui sont indiquées dans ce fichier. jpublish.xml : fichier de configuration pour la fusion du contexte avec les fichiers de strucutre ftl. web.xml : configuration du serveur web. Deux fichiers sont extrêmement importants dans un module : le fichier controller.xml et le fichier services.xml. Le premier : controller.xml sert à OFBiz pour savoir quel service et action puis quelle vue doit être appelés suivant une requête effectuée. Le second : services.xml sert à OFBiz pour mettre en relation l'appel à un service et la fonction associée se trouvant dans les sources du module Cheminement lors d'une requête Le développement effectué sur OFBiz ne se situe pas dans les couches basses du PGI mais au niveau de l'interaction entre l'utilisateur et OFBiz, sur la partie fonctionnelle. Pour cela, il est nécessaire de bien cerner l'ordre des fichiers qu'ofbiz va lire suivant une requête afin de construire la page de réponse. 10/61

11 Voici le cheminement d'une requête simple pour la construction de l'écran en réponse. L'utilisateur saisit un objet et valide son édition : 11/61

12 1) L'utilisateur valide l'édition de l'objet; la requête est alors envoyée au serveur d'application d'ofbiz. A la réception de la requête, le serveur lit le fichier controller.xml du module concerné pour savoir ce qui doit être exécuté. Voici les lignes nous intéressants, contenues dans le fichier controller.xml : <request-map uri="editobjet"> <security https="true" auth="true"/> <event type="service" invoke="editobjet"/> uri reçu par le serveur service appelé <response name="success" type="view" value="editobjet"/> <response name="error" type="view" value="editobjet"/> </request-map> retour du service et action à effectuer <view-map name="editobjet" type="jpublish" page="/sousmodule/editobjet.ftl"/> Ecran à générer via le fichier ftl indiqué 2) Suivant les informations contenues dans le fichier controller.xml, un service et/ou une création d'écran est appelé. Création de l'écran de réponse : Le fichier controller.xml indique le chemin vers un fichier, ici EditObjet.ftl. Ce fichier va servir de structure pour l'écran de retour. Est associé implicitement à ce fichier, un autre fichier : EditObjet.xml, qui définit diverses informations de l'écran. C'est à partir de ce fichier que sont mentionnés différents fichiers qui vont être lus pour remplir le contexte des informations nécessaires et ainsi satisfaire la demande. Voici en exemple le contenu du fichier EditObjet.xml: <page> <template>main</template> <property name="titleproperty">editobjet</property> <property name="headeritem">exemple</property> <property name="submenu">/exemple/tabbarobjet.ftl</property> <property name="viewsize">20</property> <property name="permission">objet</property> <property name="entityoperation">_update</property> <property name="permissiontype">simple</property> <content-action name="/includes/checkpermission.bsh"/> <content-action name="/exemple//editobjet.bsh"/> 12/61 propriétés de la page mises dans le contexte Liste des fichiers bsh à appeler pour le remplissage des informations dans la page

13 <content-action name="/includes/pagelistprep.bsh"/> </page> Appel d'un service : Lorsqu'un service est appelé, OFBiz lit le fichier service.xml du module afin de déterminer la fonction à appeler. Voici l'entrée de notre exemple : <service name="editobjet" default-entity-name="objet" engine="java" location="org.ofbiz.exemple.sousmodule.objetservices" invoke="editobjet" auth="true"> description de <description>editer un Objet</description> l'appel de fonction <auto-attributes include="all" mode="inout" optional="true"/> <attribute name="actionform" type="string" mode="in" optional="false"/> </service> description des paramètres passés à la fonction et ses valeurs de retour 3) Les différents fichiers bsh (beanshell) sont appelés dans l'ordre de leur rencontre dans le fichier de description de la page (EditObjet.xml dans notre cas). Dans ce dernier se trouve aussi le chemin vers un fichier de form. Ce fichier FormObjet.xml, dans notre cas, contient les différentes formes qui peuvent apparaître pour l'affichage de l'écran. Durant l'exécution des fichiers bsh, diverses informations sont inscrites dans le contexte. Ces dernières peuvent provenir des résultats d'une recherche dans la base de données, d'un appel de fonction ou encore de l'utilisation d'algorithme. Voici un exemple de la description de la forme pour l'editobjet contenue dans le fichier FormObjet.xml: description de la forme, notamment l'uri appelé lors du submit <form name="editobjet" type="single" target="editeditobjet" title="" default-map-name="formsdata" default-title-style="tableheadtext" default-widgetstyle="tabletext" default-tooltip-style="tabletext"> <field name="actionform"><hidden value="commit$ {actionform}"/></field> <field name="description" title="${uilabelmap. ExempleDescription}"><text/></field> <field name="submitbutton" title="${uilabelbutton}" widgetstyle="smallsubmit" ><submit button-type="button"/></field> </form> bouton de liste des champs soumission de la forme 13/61

14 4) Le fichier EditObjet.bsh effectue les opérations nécessaires sur les données à afficher, appelant le cas échéant des fonctions java, puis met en relation la forme et les données, ensuite injecte le tout dans le contexte. 5) OFBiz transpose le contenu du contexte avec la structure contenue dans le fichier EditObjet.ftl. Le flux obtenu en sortie est transmis au serveur d'application qui l'envoie à l'utilisateur. Mon intervention sur OFBiz Au début du mois d'avril, M. Heintz travaillait sur la création d'un module de gestion de production. J'ai donc participé à ce développement sur de petites parties afin de découvrir au fur et à mesure le fonctionnement d'ofbiz. Ce travail a consisté à modifier ou créer des écrans utilisateur, comme l'ajout d'un bouton de recherche, la traduction d'une page, etc... Ces petits exercices de découverte du PGI m'ont fait appréhender un bon nombre des technologies mentionnées ci-dessus et m'ont permis de comprendre la philosophie du PGI ainsi que d'entrevoir ses forces et ses faiblesses. 3. Forces et faiblesses du PGI Ses Forces Une des grandes forces du PGI est sa modularité. Chaque requête passe tout d'abord par un contrôleur qui résout la demande suivant les indications d'un fichier xml. Ce procédé rend la gestion des requêtes d'une grande simplicité, tout en permettant une grande amplitude de mouvement pour la résolution d'une requête. L'indépendance entre chaque niveau du PGI implique des configurations plus nombreuses afin d'obtenir une abstraction du fonctionnement entre différents niveaux. L'utilisation de nombreuses interfaces et façades permet aux développeurs de se concentrer uniquement sur le niveau développé. La gestion des accès à la base de données est réalisée par une façade. Cette dernière utilise énormément la mise en cache afin d'optimiser les accès fréquents à une table. La modularité du PGI fait qu'il évolue souvent dans les couches inférieures, en utilisant de nouvelles technologies. Ses Faiblesses 14/61

15 OFBiz est développé dans un langage de programmation fortement orienté objet qui est : JAVA. Lors de mon apprentissage du PGI, j'ai eu énormément de mal à en comprendre le fonctionnement dû à une utilisation non conforme, par rapport à la philosophie de ce langage. Alors que les couches techniques sont bien développées sur le modèle objet, l'utilisation des tables de la base de données via la façade se fait par interrogation directe. Les entités de la base ne sont pas générées comme un objet. Ceci implique que la programmation des fichiers bsh et java des modules est développée sur un modèle relationnel. On se retrouve à faire un développement en relationnel sur un langage objet. Personnellement, lors de la réalisation de projet durant mon cursus informatique, j'ai beaucoup plus utilisé l'approche objet pour la conception et la programmation que l'approche relationnelle. Cette dernière approche ne me paraît pas adaptée pour des développements de cette importance. Cette non compréhension a impliqué que, lors de mes nombreuses rencontres avec M. Heintz pour l'apprentissage d'ofbiz, nous avions du mal à nous comprendre, puisque lui ne connaissant pas beaucoup la modélisation objet et moi ne comprenant pas l'utilisation d'une approche relationnelle dans un langage objet, nos visions n'étaient pas concordantes. Il nous a fallu un bon mois pour arriver à bien nous comprendre. La modularité du PGI en fait sa force mais aussi sa faiblesse. Pour le développement d'un module, de nombreux fichiers sont à renseigner, et souvent d'informations répétitives. Cette quantité d'informations à renseigner dans les différents fichiers implique un risque de fautes de frappe non négligeable qui conduisent un débuggage souvent long pour des erreurs minimes. Lors de mon intégration au développement du PGI, je me suis retrouvé avec une quantité de technologies et de concepts totalement nouveaux comme les freemarkers ou encore les bsh. Pour les technologies externes au projet OFBiz, la documentation se trouve souvent sur les sites officiels. Lors de technologie propre à OFBiz, une documentation n'est pas toujours présente, surtout dans le cas de technologies récentes ou avancées. Ainsi, on se retrouve souvent à regarder les fichiers sources des développeurs principaux du projet, afin de cerner l'utilisation de certaine API ou autres technologies. Dans certain cas, l'utilisation de technologies développées n'est pas encore faite par ces développeurs. Dans ce dernier cas, la seul solution pour comprendre les fonctionnalités d'une technologie est d'effectuer les testes pas à pas afin d'en analyser les résultats mais ceci est très coûteux en temps. Mon sentiment sur le PGI OFBiz est un PGI possédant un potentiel vraiment important avec une conception technique vraiment poussée. Mais cette capacité est aussi son défaut puisque les développeurs travaillent beaucoup plus sur cette technique au détriment de la partie fonctionnelle du PGI. Le manque de documentation sur les technologies avancées, de même que l'utilisation d'une approche relationnelle et le nombre important de fichiers à renseigner, font que le développement des interfaces utilisateurs n'est pas vraiment d'une grande facilité, ce qui est surprenant au vue des efforts faits pour l'abstraction des niveaux inférieurs du PGI. 15/61

16 4. La naissance d'un projet : Neogia Les développements à venir sur OFBiz ne concernent que le dernier niveau du PGI : la création de la couche métier. Or, les faiblesses indiquées au chapitre précédent ne nous poussent guère à lancer un développement massif pour combler les manques fonctionnels du PGI. C'est pour ces raisons que début mai commença un nouveau projet nommé Neogia. Que doit apporter Neogia afin de faciliter le développement de la couche métier : une sur-couche objet pour appliquer un développement objet et ignorer la structure de la base de données. remplir automatiquement le plus de fichiers de configuration possibles dont les informations sont répétitives, pour les écrans standard. Un changement de programmation Neogia utilise un projet nommé LutinGenerator, développé par l'entreprise Code Lutin, qui est un «préparateur» à la génération. LutinGenerator fonctionne en deux temps : 1 er temps : LutinGenerator lit des fichiers scripts, typés sur java, et construit une librairie avec les informations contenues dans ces fichiers. 2 ème temps : LutinGenerator lit un diagramme de classe UML et formate le flux récupéré. Ensuite le formatage est appliqué à la librairie qui génère une structure de fichiers sources définie. Quels sont les intérêts de LutinGenerator : La génération se fait à partir d'un diagramme de classe UML, ce qui apporte une conception du logiciel de haut niveau. La génération n'est pas figée à un langage de programmation comme beaucoup de logiciels de création de schéma UML. Les générateurs sont écrits suivant ce que l'on désire générer, avant la première génération du diagramme. Qu'apporte LutinGenerator dans le cas d'ofbiz? La génération de fichier peut vraiment être intéressante dans le cas d'ofbiz puisque le nombre d'informations génériques à renseigner dans les différents fichiers de configuration est assez important. Ceci peut faire gagner un temps énorme en terme de développement. L'utilisation d'un diagramme de classe UML est aussi non négligeable. Actuellement, le développement d'un module (notamment celui de manufacturing) se fait sur la connaissance de l'informaticien fonctionnel, en l'occurrence M. Heintz. Les autres développeurs, en cas d'incertitude dans l'avancement du projet, doivent souvent le déranger pour savoir quelle direction prendre afin de ne pas développer hors du contexte. Je parle notamment pour ma personne puisque ne connaissant pas du tout le monde de l'entreprise de production, l'incertitude était vraiment grande (couplé à une découverte au fur et à mesure d'ofbiz et un développement 16/61

17 en relationnel : un vrai bonheur). Le manque d'ingénierie logiciel dans un tel développement se fait cruellement ressentir et une conception UML des modules ne peut être qu'un plus pour faciliter et structurer le développement, sans parler des nombreux apports à l'utilisation d'une conception de haut niveau. Ce que remplit Neogia Neogia est une sur-couche d'ofbiz dont le développement s'effectue en parallèle du développement de ce dernier. Il a pour objectif de combler les faiblesses d'ofbiz pour le développement de la couche fonctionnelle du PGI et d'en accélérer son évolution. Neogia est un ensemble de composants complémentaires à la plate-forme d'application d'entreprise OFBiz. Ces composants sont de 3 types: Des composants fonctionnels soient en tant que composant nouveau, soient remplacant un composant OFBiz existant. manufacturing : remplace le composant OFBiz existant, c'est une refactorisation de celui-ci, avec la définition d'un modéle UML propre et une ré-écriture compléte du code. facility : remplace le composant OFBiz existant pour toute la gestion des stocks, il n'inclut pas la gestion des expéditions qui reste réalisée par OFBiz. Il fournit une gestion des inventaires physiques complète. Ce composant est apparu suite à une refactorisation complète du modéle de données réalisé avec UML permettant de gérer les stocks actuels et planifiés. accounting : remplace le sous-composant OFBiz existant, pour la gestion comptable et analytique. La modélisation UML est entièrement nouvelle. La gestion des paiements reste réalisée par OFBiz servicemgnt : nouveau composant permettant de gérer des activités de service ou de projet. Le composant étant nouveau, son modéle UML est également nouveau. Des composants permettant de se connecter aux composants OFBiz existants. Les diagrammes UML reprennent les éléments de OFBiz. common : utilisé pour les liaisons avec les entity enum et status content : utilisé pour unifier certaines règles de développement et pour la gestion des champs en multi-langue. order : utilisé pour accéder aux objets commandes et ligne de commandes party : utilisé pour accéder aux objets acteurs, rôle, acteur-rôle et adresse, et aux objets communications product : utilisé pour accéder à l'objet article et pour la liaison entre OFBiz et le composant facility de Neogia Un composant technique, permettant de générer la majeure partie du code OFBiz à partir des diagrammes de classe UML. Cela permet d'avoir des 17/61

18 composants développés à partir d'une modélisation objet. La génération permet de généraliser les bonnes pratiques OFBiz et mets à disposition des développeurs les éléments nécessaires au développement objet. Les développements complémentaires sont réalisés dans des sur-charges objets et pas sur les éléments générés garantissant ainsi la possibilité de régénérer certains éléments lors de l'apparition de nouvelle bonne pratique. Une conception de haut niveau L'utilisation de LutinGenerator implique l'utilisation de schéma UML. Chaque module développé dans Neogia est conçu depuis un schéma UML, et, pour être plus précis, d'un diagramme de classe, offrant ainsi une vue globale sur l'interaction entre entités et la direction du développement. Pour pallier à la limitation d'uml dans la description des informations nécessaires à la génération, des balises ont été définies. Une programmation orientée Objet Pour pallier au défaut du développement par approche relationnelle, une surcouche objet est généré par dans Neogia afin que le développement sur la couche fonctionnelle se fasse totalement indépendamment des tables de la base de données. Un gain de temps sur le développement La génération des fichiers remplace les tâches répétitives comme le remplissage des fichiers de configuration nécessaire au bon fonctionnement du module. Ainsi, le temps en développement est optimisé, tout en évitant toute sorte de bug lié à des erreurs de frappes. Une réactivité du développement J'ai déjà indiqué qu'ofbiz était en constante évolution grâce à l'intégration de nouvelles technologies. Bien que souvent ces améliorations ne touchent que rarement la couche fonctionnelle du PGI, dans le cas d'un changement majeur dans cette couche, comme le changement de la gestion des interfaces utilisateurs, il suffira de modifier les générateurs et de relancer la génération des modules pour avoir la nouvelle technologie intégrée. Il restera bien sûr quelques retouches, dans les 20% ou 30% de fichiers non générés mais le gain de temps pour intégrer une nouvelle technologie est vraiment important. Au final Le développement via Neogia des modules fonctionnels d'ofbiz permet : une conception de haut niveau de chaque module. une génération de 70% à 80% des fichiers sources nécessaires au fonctionnement du module. une écriture des fichiers sources propre, structurée et directement en 18/61

19 relation avec la conception. une sur-couche objet pour faciliter le reste du développement. 5. Fonctionnement de Neogia L'arborescence de fichier Neogia possède une arborescence de fichiers totalement séparée de celle d'ofbiz: neogia +- components +- module1 +- module2 +-dist +-target +-src +-build.xml +-project.xml +-project.properties `- maven.xml +- doc +- generators +-src +-target +- neogiaproject.xml +- project.xml +- project.properties `- maven.xml +- neogiaproject.xml +- project.xml +- neogiaofbiz.patch 19/61

20 +- maven.xml `- build.xml Explication de l'arborescence de Neogia Neogia : répertoire racine du projet components : ce répertoire contient tous les modules en développement qui seront intégrés à OFBiz module dist : ce répertoire contient le module développé de Neogia qui est opérationnel dans OFBiz (fichiers générés + développements spécifiques) src : ce répertoire contient le diagramme UML décrivant le module ainsi que quelques informations non générables comme des labels pour l'internationalisation du module target : ce répertoire contient les fichiers générés à partir du diagramme UML, une fois la génération finie. project.xml et project.properties : ce sont deux fichiers de configuration utilisés par LutinGenerator pour la génération maven.xml : fichier de configuration pour le lancement de la génération via maven build.xml : fichier d'instruction pour ant afin de déplacer les fichiers voulus dans l'arborescence d'ofbiz, utilisé seulement par les développeurs du module generators src : répertoire contenant les sources des générateurs target : répertoire contenant les générateurs compilés neogiaproject.xml, project.xml et project.properties : ce sont trois fichiers de configuration utilisés par LutinGenerator pour préparer les générateurs maven.xml : fichier de configuration utilisé par maven pour compiler les générateurs build.xml : ce fichier d'instruction ant déplace le contenu des répertoires components/*/dist vers l'arborescence OFBiz pour intégrer les modules Neogia dans le PGI. neogiaofbiz.patch : patch à appliquer à la racine d'ofbiz pour préparer le PGI à l'intégration des modules développés via Neogia project.xml et project.properties : ce sont deux fichiers de configuration utilisés par LutinGenerator pour la description du projet maven.xml : fichier de configuration pour la configuration du projet via maven. 20/61

21 Les dépendances du projet Neogia ne peut fonctionner sans deux logiciels primordiaux : un éditeur UML enregistrant au format xmi (format standard pour l'uml) le constructeur maven (disponible à l'adresse ) L'éditeur de diagramme UML utilisé est Poséidon de la société gentleware. Ce n'est pas un logiciel libre, mais la version commerciale du logiciel libre ArgoUML. Une version communautaire existe. Maven est un automate de tâche système. En plus de ces deux logiciels, on utilise le constructeur ant, qui est une version portable des Makefiles et basé sur java. Comment fonctionne la génération La génération d'un module suit plusieurs étapes : création du diagramme UML création des générateurs compilation via maven des générateurs génération via maven des fichiers sources du module La génération, aussi pratique soit-elle, ne suffit pas à créer un module fonctionnel. Il reste le développement spécifique à réaliser. 6. Création du module de comptabilité La réalisation du module de comptabilité a commencé au début du mois de juillet. Sa réalisation est une exception dans l'utilisation des générateurs puisque la comptabilité possède des écrans utilisateurs très spécifiques qui sont difficilement réalisables par génération. La difficulté de ce module est d'effectuer un développement en utilisant le plus possible les fichiers générés afin de profiter d'un maximum d'indépendance du développement vis à vis de la génération. 21/61

22 Diagramme UML La première étape dans la création du module est la création du diagramme UML. Cette tâche m'a été confiée afin de mettre à profit mes acquis sur la conception logiciel. Bien que possédant les bases nécessaires, la création de tels schémas n'est pas chose aisé et le nombre de modifications apportés au premier schéma est quelque peu conséquent. L'évolution du schéma s'est faites par retour successif de la part de mon maître de stage sur les manques fonctionnels afin d'obtenir une solution intéressante à envoyer en production. 22/61

23 Diagramme de classe : CharOfAccount 23/61

24 Diagramme de classe : AccountingTransaction Première génération 24/61

25 Une fois les diagrammes créés, on passe dans le répertoire des générateurs et on y exécute la commande maven. Cette opération va résoudre les librairies dont le projet dépend, puis lancer la compilation des fichiers sources des générateurs. Une fois la compilation terminée, on obtient un fichier jar qui va nous servir pour la génération des fichiers du module. Une fois la compilation réussie, on revient dans le répertoire du module, puis on relance la commande maven. Cette fois, l'exécution lit le fichier UML puis lance la génération des fichiers. Une fois l'exécution de cette dernière finie, on obtient une première liste de fichiers pour le module. Les fichiers générés ne sont pas tous utilisables. Il y a, en gros, trois types de fichier : les fichiers utilisables directement après la génération : tous les fichiers ftl, de form, bsh, sources, de description des entités. les fichiers à valider soi même : les fichiers de définition de page et les fichiers sources contenant des objets hérités les fichiers qui nécessitent un transfert du contenu manuellement : service.xml et controller.xml Afin de distinguer les fichiers générés des fichiers développés, dans chaque répertoire du module pouvant avoir ces deux types de fichiers se trouvent deux répertoires : "developed" et "generated" qui servent à organiser le développement. Création de l'arborescence du module La première tâche, une fois les fichiers générés, consiste à savoir de quels fichiers on a besoin. On transfère tous ces fichiers du répertoire de génération au répertoire dist du module. Il faut que l'arborescence contenue dans le répertoire dist, fonctionne afin de pouvoir être intégrée par les autres contributeurs du projet Neogia. Une fois l'arborescence faite, vient le développement spécifique. Comment cela se traduit il? Développement du module Avant de se lancer dans le développement spécifique du module, il nous faut 25/61

26 définir les besoins fonctionnels de ce dernier. Ceci nous permet de savoir quels écrans utilisateurs sont nécessaires. Renseigner le model UML Une fois que nous avons défini les besoins de l'interface, le projet Neogia définit des étiquettes à mettre sur les éléments du diagramme de classe. Cette étiquetage de valeur va renseigner les générateurs sur nos besoins et générer la plupart des interfaces. La liste des étiquettes et des valeurs à renseigner est présente dans la documentation des développeurs du projet Neogia Effectuer le développement spécifique Une fois que les fichiers générés voulus sont présents dans le répertoire dist, on les transmet au répertoire du module dans OFBiz. De là,on commence à effectuer les développements spécifiques. Configurer les écrans Les premiers développements interviennent sur les fichiers de description des écrans (fichiers contenus dans le répertoire webapp/module/web-inf/pagedefs du module). Il faut renseigner diverses informations nécessaires à la navigation, puis créer les fichiers ftl de menu et sous-menu. Les fichiers de sous-menu sont au format ftl et sont placés dans le répertoire webapp/module/sous-module/"developed" du module (sous-module dépend de quel sous-module dépend la page). Le fichier de menu est par défaut le fichier webapp/module/include/header.ftl Modifier les codes sources Le code java généré par Neogia possède une structure bien précise pour chaque entité : EntiteBase.java : cette objet contient les accesseurs aux attributs de l'objet qui sont établi suivant le diagramme de classe. Il contient aussi des fonctions de base relatives à OFBiz comme la recherche des entités dans la base de données, ou encore un constructeur à partir d'une clé primaire. EntiteServices.java : cet objet contient les fonctions appelés pour la modification de l'entité dans la base de données comme l'édition ou la suppression de l'entité. Ces deux fichiers sont contenus dans un répertoire "generated", et ne sont pas utilisables directement pour le développement. Afin de permettre leur utilisation, une autre classe est créée, dans notre cas : Entite.java : cette classe hérite de EntiteBase.java. C'est elle qui est utilisée lors de développement spécifique. Ce fichier est contenu dans un répertoire "developed", il doit donc être intégré 26/61

27 par le développeur suivant ses besoins. Cette architecture nous donne la sur-couche objet énoncée dans les chapitres précédents. Lors de notre développement sur les sources, seule cette classe est modifiée, on peut y ajouter des fonctions ou redéfinir les fonctions de la classe mère suivant nos besoins. Ainsi, si la gestion de l'objet change, pour x raisons, cela n'implique pas le code développé, ou que légèrement. Il est important durant le développement des fichiers sources de s'assurer que les fichiers compilent bien. Si ce n'est pas le cas, les autres contributeurs seront bloqués puisqu'ofbiz ne pourra plus compiler sans erreur, provoquant une perturbation dans les développements globaux. Gestion des informations à afficher Le développement des fichiers sources ne nous permet pas de gérer les données à envoyer dans le contexte (en pratique, oui mais ce n'est pas dans la philosophie d'ofbiz). Pour cela, on utilise les fichiers bsh. Afin de ne pas toucher aux fichiers générés, il nous faut écrire de nouveaux fichiers qu'on positionnera dans le répertoire "developed" correspondant. Cela ne suffit pas pour pourvoir les utiliser, il faut renseigner leur utilisation dans les fichiers de description des pages concernées. Cette méthode, bien que rajoutant des opérations au PGI, puisqu'il peut avoir à effectuer deux ou trois fois les mêmes opérations de lecture du contexte, permet de garder, encore une fois, les bénéfices offerts par la génération. Toucher directement les fichiers générés induit de ne plus bénéficier d'une nouvelle génération, ou alors abandonner les modifications faites. La gestion des informations peut être diverse dans ces fichiers : appeler un service, vérifier les données et changer l'affichage en conséquence, etc... Changement de la structure de la page Les fichiers bsh ne servent qu'à gérer les informations contenues dans le contexte. Si le besoin est de modifier la structure d'une forme, cela doit se faire via les fichiers de forme correspondants. Un fichier de forme contient une liste de forme, il ne sert à rien de passer toutes les formes générées de "generated" à "developed". Il est juste nécessaire de déplacer les formes voulues et ne pas oublier de renseigner ce changement dans les fichiers de description des pages concernées. 27/61

28 Retoucher un fichier de structure ftl généré doit se faire vraiment en dernier recours, en effet ces fichiers sont associés à un fichier de description de page. En cas de changement du fichier de structure, le passage du répertoire "generated" à "developed" implique : d'éditer le contenu du fichier contrôller.xml pour la vue concernée. Changer de répertoire le fichier de description de page associé Ces changements commencent à rendre lourd la gestion des "developed" et "generated". C'est pour cela qu'il est conseillé d'utiliser la modification des fichiers ftl générés qu'en dernier recours. Dans le cas de la comptabilité La création du module n'a pas été une chose simple puisse que la découverte du projet Neogia (du moins le fonctionnement) se faisait en avec. Le premier objectif de la comptabilité est de pouvoir saisir des écritures, donc il nous fallait développer afin qu'il permette : la recherche et l'édition des comptes comptables la recherche et l'édition des périodes comptables la recherche et l'édition des transactions l'édition des écritures à partir d'une transaction l'édition des lignes à partir d'une écriture Les comptes comptables (NGlAccount) La création de ces écrans ne nous a pas posé de problème puisque ce sont des écran générés non retouchés Les périodes comptables (GlPeriod) Ces écrans ont été retouchés afin de pouvoir gérer la hiérarchie de périodes. Ce sont essentiellement des retouches au niveau des bsh afin de pouvoir afficher les périodes parents disponibles lors de l'édition. Les transactions (AcctgTransaction) Pas de retouche sur ces écrans. La difficulté à cet endroit est l'utilisation d'écrans d'association plus complexe que des écrans de saisie. Cet écran permet de saisir les écritures appartenant à la transaction éditée. La génération remplie vraiment bien son rôle puisque la réalisation d'écrans de ce type est assez complexe. Bien que les écrans n'aient pas été retouchés, il a fallu intégrer la gestion du 28/61

29 brouillard et du statut des transactions. La solution prise a été le développement de fonctions dans la classe AcctgTransaction et la création du fichier contrôller.xml afin de sélectionner l'écran à retourner suivant l'état de la transaction. Les écritures (AcctgTransactionItem) Les écritures sont saisies depuis l'écran d'édition d'association des transactions. Cet écran affiche la liste des écritures appartenant à une transaction. Le problème dans l'affichage de cette liste était l'impossibilité de modifier les lignes d'écriture associées à l'écriture. Il a donc fallu modifier la forme en ajoutant le lien vers l'écran d'association. Les lignes d'écritures (GlEntry) Le plus gros du travail a été effectué sur cet écran d'association. Le problème des lignes d'écriture se pose sur la gestion des comptes comptables associés et dans l'affichage de la ligne. Cette écran a demandé une grande refonte de la génération de l'affichage, nous obligeant à sortir de la génération. C'est une exception qui confirme notre règle : modifier au minimum les fichiers générés. Les problèmes d'intégration dans OFBiz Lors de l'intégration du module de comptabilité dans OFBiz, des conflits de nom entre entités, au niveau de la base de données, sont apparus. La solution prise a été de renommer les entités venant de Neogia. Ainsi GlAccount est devenu NGlAccount, Period est devenu GlPeriod, ect... Il est préférable de changer les noms des entités de Neogia que de supprimer les doublons, car dans ce dernier cas Neogia modifie le fonctionnement d'ofbiz et n'est plus une sur-couche évoluant parallèlement au PGI. Un projet en pleine croissance Neogia est un projet jeune, moins de 6 mois, qui prend forme peu à peu. Quelques temps ont été nécessaire afin de bien cerner le fonctionnement du projet. Durant ce temps, lors d'erreur de génération ou de compilation, je ne savais pas trop si l'erreur venait d'une erreur du diagramme de classe, d'une faute dans les compilateurs, ou d'une erreur de développement. Les premiers modules développés dans Neogia ont permis de découvrir les buggues de jeunesse et autres problèmes de conception. Lors du passage à la version 1.0 de Neogia, les problèmes de jeunesse devraient être fortement diminués. 29/61

30 Au niveau de la licence OFBiz est développé sur une licence MIT. Cette licence ne convenait pas à la société Néréide puisqu'elle permet à une société de récupérer le travail effectué et d'en continuer le développement sous une licence propriétaire, à l'instar de Poseidon reprise du logiciel ArgoUML. C'est pour cette principale raison, que la licence GPL couvre le projet. Neogia étant une sur-couche du PGI, la différence de licence ne dérange aucunement l'évolution des deux projets. Cette licence permet de garder libre le travail effectué et d'en assurer l'évolution. Le domaine des PGI étant assez technique, le retour sur l'investissement effectué par la société Néréide, vient de la demande de services sur la mise en place ou le développement spécifique autour du PGI. 7.Conclusion OFBiz est un PGI vraiment prometteur dont le principal inconvénient et la difficulté à développer les modules fonctionnels. Le projet Neogia a pour but de combler ce défaut en offrant un outil de développement pour les couches fonctionnels le plus performant possible. L'utilisation d'une conception de haut niveau, couplé à une génération font du couple OFBiz-Neogia une réussite, avec un projet spécialisé dans la couche technique et un projet spécialisé dans la couche fonctionnelle. Le projet Neogia est, de mon point de vue, une réussite dont le mérite revient principalement à M. Heintz, pour tous le travail accomplie autant sur les générateurs que sur la conception des diagrammes UML. Personnellement, j'ose espérer que les facultés, notamment celle d'orléans, se penche sur ce projet afin d'apporter une vision pratique aux étudiants sur la génération de programme à partir de diagramme UML, couplé à l'utilisation d'un PGI. Le tout étant sous licence libre et disponible gratuitement, je pense sincèrement que c'est un environnement de travail vraiment intéressant pour appréhender bon nombre de technologies, sans que la faculté fasse le travail des commerciaux des éditeurs de logiciel propriétaire. 30/61

31 DEUXIEME PARTIE : REORGANISATION DE L'INFRASTRUCTURE DE NEREIDE 31/61

32 Avant mon arrivée, Néréide fonctionnait sur une architecture mise en place par M. Heintz, qui ne répondait pas pleinement à ses attentes et aux besoins de l'entreprise. Du fait de ma petite expérience et de mes ambitions en la matière, il m'a donné la lourde tâche de réorganiser le réseau de l'entreprise suivant des attentes bien précises qui seront détaillées un peu plus loin. 1. Description de l'existant et des besoins Avant d'entamer la migration d'un système d'information, il est important de prendre en compte l'existant. L'entreprise, bien que jeune, possède un historique qu'il faut respecter et intégrer tout au long des étapes de la migration. Structure du réseau existant Le parc informatique de Néréide était composé de : 2 serveurs faisant office aussi de machine de développement, tournant sur une distribution mandrake linux ordinateurs portables tournant sous une distribution linux knoppix 3.3 Chaque machine du réseau était totalement indépendante dans la gestion des utilisateurs et des fichiers de ces derniers. Le serveur principal couvrait les services NFS et CUPS. Les fichiers disponibles via NFS étaient à disposition de tous les utilisateurs du réseau. Voici le schéma de l'ancienne architecture: 32/61

33 x.x.2.1 serveur principal x.x.2.2 serveur secondaire x.x.2.3 Poste 1 x.x.1.1 Poste 2 x.x.1.1 La nouvelle architecture ne doit pas changer les serveurs physiques. Le serveur principal existant sera le serveur principal de la nouvelle architecture et il en sera de même concernant le serveur secondaire. Quels besoins doit couvrir la nouvelle architecture? Harmonisation des systèmes d'exploitation Authentification centralisée des utilisateurs Centralisation des données utilisateurs Sécurisation du réseau et disponibilité des services réseaux 2. Analyse des choix pour une nouvelle architecture Une fois les besoins définis, il nous faut pouvoir choisir la nouvelle architecture de façon à ce que chaque besoin trouve sa solution. Harmonisation des systèmes d'exploitation 33/61

34 Pour une plus grande flexibilité d'administration et d'utilisation par les utilisateurs, les systèmes d'exploitation de Néréide doivent être le plus uniforme possible. Néréide impose l'utilisation de systèmes libres mais n'a pas de distribution sélectionnée. L'harmonisation des systèmes passe par une sélection de la distribution à utilisée officiellement au sein du système d'information de la société. Trois distributions ont été pré-sélectionnées pour les machines de Néréide : Mandrake Linux 10.0, FedoraCore 2 et Debian Sarge. Les critères de choix : Stabilité Administrabilité Adaptabilité Ergonomie Pour le choix de la distribution, il est important de savoir qu'il ne doit pas y avoir trois distributions distinctes : une pour les machines bureautiques, une pour les développements et une pour les serveurs en production. Le choix doit être fait de sorte que les caractéristiques de la distribution couvrent correctement ces trois types de mise en application. Tableau de comparaison des distributions Distribution Mandrake 10 FedoraCore 2 Debian Sarge Installation Connaissances requises Stabilité Administrabilité Evolutivité Maintenabilité Total 19 / / / 30 Mandrake Linux possède une facilité d'installation vraiment intéressante et l'administration de la machine est grandement facilitée via l'utilisation du logiciel drakconf. Par contre, la distribution souffre toujours de quelques bugs qui rendent l'ensemble d'une stabilité relative. De plus, cette distribution utilise un système de paquet rpm ne permettant pas une gestion simple de l'évolution de la distribution. FedoraCore2 est équivalente en de nombreux points avec Mandrake Linux à l'exception d'une stabilité accrue mais possède un manque de logiciels empaquetés par rapport à sa consoeur. De plus, sa conception en fait une distribution plus adaptée aux machines bureautiques qu'à des serveurs. La Debian Sarge est une distribution dont l'installation et l'administration demandent plus de connaissances et de compétences que les deux précédentes. Par contre, la gestion des logiciels par les paquets.deb en fait une distribution évolutive et structurée. Le choix des logiciels empaquetés est largement supérieur aux deux 34/61

35 autres. De plus, cette distribution possède une grande stabilité d'ensemble. Le système d'exploitation installé sur les serveurs et les machines d'utilisateurs sera donc la distribution GNU/Linux Debian Sarge, et ceci au vu des avantages que cette distribution possède par rapport à ses consoeurs : qualité et stabilité de la distribution exemplaires facilité de maintenance et d'évolution respect total de la philosophie des logiciels libres (c'est la distribution officielle de la FSF ) grande facilité de configuration mais nécessite quelques connaissances. Bien que demandant un effort supplémentaire dans la configuration de la distribution, l'environnement dans lequel est déployé cette distribution fait que ce petit effort est largement à la portée des techniciens de Néréide. Authentification centralisée des utilisateurs Néréide a besoin de centraliser l'authentification des utilisateurs afin de pouvoir faire abstraction des machines physiques sur lesquelles il se connectent ainsi que pour faciliter l'administration des comptes utilisateurs. Le choix du type de serveur d'authentification doit prendre en compte l'architecture de type Unix et l'évolution du gestionnaire d'authentification. Actuellement, pour centraliser l'authentification des utilisateurs sur un système GNU/Linux, il existe deux solutions : NIS de Sun Microsystem Les Annuaires LDAP Tableau de comparaison des deux serveurs d'authentification Serveur d'auth. NIS+ LDAP Intégration Unix 5 4 Sécurité 4 5 Evolutivité 2 5 Administrabilité 4 3 Total 15 / / 20 La première solution, NIS, permet de centraliser l'authentification des utilisateurs et de gérer les groupes, netgroupes et ressources partagées nativement sous les systèmes Unix. Par contre, il n'est pas très évolutif des futures contraintes d'architectures et ne se plie pas facilement à l'intégration de système d'exploitation autre que de type Unix. NIS est un protocole vieillissant, bien qu'une nouvelle version soit présente : NIS+, elle ne comble pas tous les manques de NIS. LDAP n'est pas un serveur d'authentification spécialisé comme l'est NIS, c'est un annuaire, ce qui rend son utilisation beaucoup plus généralisée. Toute application basée sur des entités telles que des utilisateurs, des groupes ou 35/61

36 des netgroupes peuvent coopérer avec un serveur LDAP qui se montre bien plus sécurisé et extensible que le serveur NIS. Les choix techniques de Néréide n'étant pas figés, il va de soi que la mise en place d'un système d'authentification normalisé est largement plus intéressant sur le long terme. La solution LDAP est donc retenue, vu ses principaux avantages : LDAP est un protocole normalisé Bonne intégration de l'annuaire LDAP dans les modules d'authentification PAM Possibilité d'authentifier d'autres systèmes d'exploitations et applications. Possibilité d'utiliser l'annuaire pour d'autres services en plus de l'authentification, ce qui offre une évolution de l'existant Il existe un serveur LDAP libre : OpenLDAP ( bien qu'il existe également une version libre de NIS ) Centralisation des données utilisateurs Afin de permettre à un utilisateur de retrouver son environnement de travail quelle que soit la machine utilisée, la mise en place des répertoires personnels des utilisateurs sur un serveur de fichier est tout simplement obligatoire. Il existe deux principaux serveurs de fichier sous les systèmes GNU/Linux : Samba et NFS. Ces deux services sont totalement transparents aux utilisateurs puisque c'est le noyau du système GNU/Linux qui va se charger de la gestion de l'emplacement réseau des fichiers. Comparaison entre les deux serveurs de fichiers Serveur de fichiers Samba NFS Sécurité 5 2 Administrabilité 3 5 Rapidité 3 5 Intération Unix 4 5 Total 15 / 20 17/20 Samba est basé sur le protocole SMB, protocole utilisé par les systèmes d'exploitations de Micro$oft. Il permet un contrôle avancé sur les partages des ressources, ce qui peut être important dans un environnement demandant des restrictions particulières. L'accès à un répertoire ou un fichier doit être explicitement indiqué avec la possibilité d'indiquer de nombreux paramètres d'accès via des ACL (utilisateurs, machine, groupe de machines, heures d'accès... ). Ceci rend la configuration assez lourde si l'on a décidé de mettre en place de telles restrictions. NFS est beaucoup moins poussé dans la gestion des contrôles d'accès. Celle-ci se 36/61

37 fait essentiellement par déclaration d'un répertoire associé à une liste de machine et/ou groupe de machine ayant l'autorisation d'utiliser le partage réseau. Une fois la ressource montée, la gestion d'accès aux fichiers se fait par correspondance entre uid/guid et droits Unix entre les machines. Ceci pose un petit (en fait, un énorme) problème de sécurité puisque NFS est très sensible à l'usurpation d'identité. Bien qu'il possède des trous de sécurité non négligeables, NFS a l'avantage d'être plus rapide que son confrère puisqu'il fonctionne sur le protocole réseau UDP. Il est aussi beaucoup plus facile à administrer. N'utilisant que le serveur de fichiers pour un intranet de faible envergure, NFS convient amplement. En ce qui concerne les soucis de sécurité, ce sera au contrôleur de sécurité de faire le travail. C'est au firewall et au serveur ssh d'assurer la sécurité puisqu'ils sont les seuls visibles depuis l'extérieur. Bien qu'une solution Samba soit plus sécurisée, sa mise en place aurait demandé beaucoup plus de temps, tant en termes d'architecture que de mise en oeuvre. Les données utilisateurs (donc les home des utilisateurs) seront donc centralisées sur le serveur principal et disponibles depuis les machines clients via le protocole NFS. Ceci permet, couplé à l'annuaire LDAP, de faire abstraction des machines physiques pour les utilisateurs. Sécurisation du réseau Pour des raisons évidentes d'intégrité des informations contenues sur le serveur, le réseau de Néréide doit être sécurisé et donc séparé du reste du réseau déjà en place. Mais la sécurité n'est pas seulement restreinte à l'intégrité et la sûreté des informations mais s'applique surtout à leur disponibilité. Protection du réseau des attaques extérieures Le premier rempart à mettre en place pour protéger le réseau, est un firewall dédié au filtrage des paquets entrant et sortant du réseau de Néréide. C'est lui qui va dans un premier temps assurer la première protection, notamment pour le serveur NFS. Le firewall mis en place sera software, pour des raisons économiques et administratives. Il est plus simple pour les techniciens de Néréide de modifier les règles d'un firewall comme iptables ou ipfilter bien connus que d'un firewall matériel dont l'administration diverge d'un constructeur à un autre. Le firewall peut être déployé sur un boîtier avec une micro carte faisant tourner un système openbsd ou GNU/linux. Ce procédé coûte beaucoup moins cher qu'un firewall matériel. Sécurisation des informations La mise en sûreté des informations passe par des sauvegardes des données pour pallier à des défaillances matérielles ou humaines, ou encore des catastrophes naturelles (ou surnaturelles!). Dans le cadre de réseau Néréide, la première priorité est d'assurer la sûreté des données contre les défaillances humaines et 37/61

38 matérielles. Quelles sont les données à mettre en sûreté : toutes les données utilisateurs toutes les sources des programmes en développement les fichiers de configuration des serveurs Toutes ces informations se trouvent sur le serveur principal. Si ce dernier subit une défaillance quelconque, la société court le risque d'une importante perte d'informations et de temps. Technologies disponibles : Le serveur principal est équipé d'une carte RAID 0,1 et de deux disques durs identiques d'une capacité de 60 Go chacun. Il est équipé d'un graveur de CD-R et CD-RW Le serveur secondaire possède un deuxième disque dur d'une capacité de 80 Go Solutions possibles : Le serveur principal possédant une carte RAID 0/1, il serait logique de vouloir l'activer. Ceci nous protège contre les défaillances matérielles des disques durs. Pourtant, après réflexion, la carte ne sera pas activée car elle ne répond pas à nos besoins. En effet, si un utilisateur détruit un de ses fichiers accidentellement, l'erreur sera automatiquement reproduite sur les deux disques, donc la défaillance humaine n'est pas gérée par ce système. Une solution pourrait mettre en place le RAID plus une sauvegarde automatique sur des CD-RW. L'inconvénient est le volume des données à sauvegarder, s'il y a 8 Go, il va falloir qu'une personne passe un à un les CD-RW dans le graveur. Soit 11 CD-RW à une vitesse de gravure de 10x, donc environ 120 minutes de sauvegarde. Si la sauvegarde est effectuée une fois par semaine, cela peut encore être envisageable mais si elle doit être effectuée tous les jours travaillés ou tous les deux jours, ce n'est pas possible. De plus, la restauration des données, en cas d'incident, risque de ne pas être d'une grande simplicité Une autre solution est de coupler le RAID avec une sauvegarde réseau sur le serveur secondaire. Là s'impose un problème physique, la fluctuation de gros volumes de données sature le réseau jusqu'à le rendre presque inutilisable. Donc, on ne peut pas envisager de le faire souvent sans risquer de perturber l'environnement de travail. La solution choisie : La solution retenue est de désactiver le RAID et d'utiliser les disques indépendamment. Ainsi, on peut utiliser le premier disque pour le fonctionnement normal du serveur, et se servir du deuxième disque pour cloner les données du premier. 38/61

39 Qu'est ce que cela nous apporte : faible dérangement pour les utilisateurs durant la synchronisation des disques. protection contre les pannes matériels d'un des disques. protection contre les défaillances humaines. le re-lancement du serveur sur le second disque en cas de panne du premier. Ce système nous protège des défaillances humaines du simple fait que la synchronisation entre les disques doit se faire manuellement (ou via un script). Donc suivant les intervalles entre deux synchronisations, on a toujours possibilité de récupérer un fichier endommagé sur le disque de sauvegarde puisque ce dernier possède la vue du premier disque à la dernière synchronisation. En cas de chute d'un des disques, on bascule le fonctionnement du serveur sur le disque valide. Une fois le disque endommagé remplacé, il ne reste qu'à resynchroniser les disques afin de remettre en place notre système de sauvegarde. Néanmoins, il reste un point à résoudre. Si le serveur subit une altération importante qui viendrait à le mettre en péril, les données ne sont plus en sécurité. Il nous faut donc effectuer une sauvegarde sur un support hors du serveur. Vu la configuration du réseau, c'est le serveur secondaire qui récupérera de temps en temps une sauvegarde du serveur principal. Ce système de sauvegarde couvre les risques les plus courants que pourrait subir la société Néréide. Il reste encore un point à couvrir, la protection contre les catastrophes de zone. Pour l'instant, le système est protégé contre les inondations puisque le serveur secondaire est géographiquement à une altitude plus élevée que le serveur principal ;). Une protection de zone ne sera faisable que si Néréide possède une ligne dsl ou similaire afin de pouvoir synchroniser sur des serveurs distants. Continuité des services du réseau de Néréide La continuité de service du serveur signifie une non-interruption des services offerts se serveur. Or, si ce dernier doit subir un arrêt, le réseau n'est plus en état de fonctionner puisqu'il est la clé de voûte du réseau de Néréide. Il nous faut donc un moyen de changer de clé de voûte en cas de chute de la première et ce, sans que les utilisateurs du réseau en subissent les conséquences. La solution est de dupliquer les services fournis par le serveur principal sur le serveur secondaire. Si le serveur principal tombe, les machines clientes doivent alors passer sur le serveur secondaire. Le seul problème est la nécessité d'une intervention humaine pour réaliser ce changement. Idéalement, il faudrait que le serveur secondaire prenne la place du serveur principal. Ceci n'est pas vraiment faisable sans mettre en place un service de hautedisponibilité. Mais par contre, on a la possibilité de détourner une fonctionnalité de la résolution DNS. Si le serveur principal tombe, les requêtes DNS seront faites sur le serveur secondaire. Il suffit dès lors d'associer le nom du serveur principal à l'adresse IP du serveur secondaire dans le serveur DNS secondaire. Ainsi, si le serveur principal tombe, les requêtes sont réorientées vers le DNS secondaire qui indiquera les 39/61

40 services du serveur secondaire. D'où une perte minime de disponibilité pour les services du réseau (en théorie). Reste que la vue du système de fichier se trouvant sur le serveur secondaire sera au pire d'une semaine. 3. Nouvelle architecture du réseau de Néréide Après les choix expliqués au chapitre précédent, voici ce à quoi devra correspondre le réseau de Néréide : Le réseau Néréide est séparé en deux sous-réseaux : x.x.0.0 / 24 ce sous-réseau est réservé pour les serveurs et les éléments d'infrastructure x.x.1.0 / 24 ce sous-réseau est réservé aux stations de travail x.x.x.1 firewall dmz.nereide.o rg x.x.0. serveur secondaire x.x.0.3 x.x.0.1 x.x.0.4 bridge x.x.1.1 serveur principal x.x.0.2 Poste 1 x.x.1.1 Poste 2 x.x.1.1 Autre allocation par dhcp 40/61

41 Services réseau offerts Serveur principal du réseau Néréide, il offre les services suivants : sshd dns via maradns nfs openldap : authentification des utilisateurs OFBiz : développement cups samba (pour des portables potentiels sous windows) Sauvegarde : assure la synchronisation entre les deux disques Serveur secondaire. Assure la prise en charge des services du serveur principal en cas de chute de ce dernier. sshd dns via maradns (actif secondaire) nfs (inactif) openldap (actif secondaire) OFBiz : développement (inactif) cups samba (inactif) apache2 (configuration du serveur LDAP) Sauvegarde : assure la sauvegarde des disques du serveur principal par l'exécution de scripts Firewall : Assure une première sécurisation du réseau de Néréide. Sshd Bridge : Assure le rôle de passerelle entre le réseau des Isles et Néréide sshd dhcp sur le réseau x.x Mise en place de la nouvelle architecture Le passage de l'ancienne architecture à la nouvelle se passe en plusieurs étapes. Je ne vais pas re-décrire toutes les opérations qui sont déjà présentes dans le 41/61

42 document de migration disponible dans les annexes 1 et 2, mais juste reprendre les plus importantes. Première étape : passage sur un serveur auxiliaire Pour ne pas perturber le fonctionnement de l'entreprise, il a été choisi de sortir le serveur secondaire du réseau, le temps de le préparer pour faire office de serveur principal. Le serveur secondaire est donc la première machine à subir la migration. Tous les services nécessaires sont installés puis testés avant de passer le serveur secondaire en serveur principal temporaire de la nouvelle architecture Deuxième étape : une migration progressive Une fois le serveur validé, nous passons à la deuxième étape qui est le basculement du réseau de Néréide sur la nouvelle architecture. (cf document en annexes 1 et 2). Durant cette étape, on transfère les données et les utilisateurs de l'ancienne architecture sur la nouvelle, puis on s'occupe de basculer une à une les machines clientes sous la nouvelle architecture. Une fois que toutes les machines clientes fonctionnent sur la nouvelle architecture, on migre le serveur principal afin qu'il reprenne sa fonction sur la nouvelle architecture. Le serveur secondaire reprend lui aussi sa position. Il ne reste plus qu'à mettre en place les procédures de sauvegarde. Dernière étape : le basculement final Lorsque toutes les machines fonctionnent sur la nouvelle architecture, la dernière étape consiste à séparer les réseaux pour obtenir l'architecture finale voulue. C'est dans cette dernière étape qu'il faut modifier les bases DNS et les modules d'authentification des machines clientes qui ne fonctionnent pas avec la résolution DNS. 5. Les sauvegardes Pour effectuer les sauvegardes des données utilisateurs et des fichiers du système se trouvant sur le serveur principal, nous avons utilisé le langage de script shell combiné au gestionnaire de tâche cron afin d'automatiser leur lancement. Il y a deux scripts : vue_journaliere.sh : qui synchronise les deux disques du serveur principal. balance_puh.sh : qui sauvegarde les données utilisateurs à arborescence identique sur le serveur secondaire et les fichiers systèmes du serveur principal dans un répertoire sauvegarde du serveur secondaire. Les scripts ont été tirés, puis adaptés du livre : Administration Linux à 200% de 42/61

43 Rob Flickenger au édition O'REILLY Le script de synchronisation des disques: vue_journaliere.sh Ce script appelle le logiciel rsync pour qu'il duplique à l'identique tous les répertoires nécessaires au bon fonctionnement du système (les répertoires /proc et /dev ne sont pas pris en compte). Le script est appelé à 12h et 18h, afin de sauvegarder le système après une demi-journée de travail. La synchronisation n'entraîne quasiment pas de ralentissement sur le système global une fois la première synchronisation faite. Ensuite rsync ne fait qu'appliquer les changements du système de fichier depuis la dernière synchronisation. Cependant, il se pose un problème dans la synchronisation totale du système. En effet si le premier disque dur vient à tomber, on bascule alors le système sur le second. Mais comme le second possède les mêmes fichiers que le premier disque, la table des systèmes de fichiers se retrouve faussée (le fichier /etc/fstab) puisque les disques n'ont pas les mêmes emplacements physiques. Pour pallier ce petit défaut, le fichier /etc/fstab n'est pas synchronisé mais retouché en fonction du disque. Pour s'assurer que le système ne modifie pas ce fichier, le drapeau immuable a été mis à 1 sur les deux fichiers. Ce drapeau interdit la modification du fichier même par l'utilisateur root. Le script de sauvegarde sur le serveur secondaire : balance_push.sh Ce script appelle lui aussi le logiciel rsync, mais à travers ssh afin d'effectuer une sauvegarde distante. Cette sauvegarde se passe en deux temps. Dans le premier temps, les répertoires systèmes du serveur principal sont sauvegardés dans un répertoire sur le serveur secondaire. Dans le deuxième temps, les répertoires de données utilisateurs sont eux aussi sauvegardés sur le serveur secondaire, mais à arborescence identique. Pourquoi? Si le serveur principal vient à tomber, alors les services réseaux passent sur le serveur secondaire. Les utilisateurs retrouvent leurs données datant de la dernière sauvegarde et ce, sans intervention humaine. Le script s'exécute tous les samedis, afin de ne pas gêner les utilisateurs. Ceci fait que le serveur principal a toujours une sauvegarde datant d'une semaine en cas de problème majeur (cf. problèmes rencontrés) 6. Problèmes rencontrés Le serveur LDAP 43/61

44 L'installation a présenté des difficultés. Le premier problème survenu est son installation. Les paquets disponibles pour la distribution Debian Sarge ne fonctionnaient pas, chose étonnante pour cette distribution. Mais elle est tenue par des hommes et l'erreur est humaine! Je suis donc passé sur l'installation par compilation des sources disponibles sur le site officiel Il est d'ailleurs plus intéressant de passer par cette méthode puisque cela permet de compiler juste les options nécessaires pour le serveur. Ensuite, un autre problème rencontré, est le remplissage de la base de données. Ldap est un protocole très strict sur la syntaxe. Un espace mal placé dans un fichier ldif ou le fichier de configuration et le serveur LDAP refusera d'obtempérer. Bien des heures sont passées avant de comprendre cela, et ce n'est pas la journalisation du serveur qui indique bien les erreurs. Autre souci pour les fichiers ldif : lors de la charge du fichier, si une entrée est déjà présente, le serveur indiquera le succès de cette entrée mais s'arrêtera sur une erreur non indiquée dans les logs et ne poursuivra pas le chargement. Le dernier problème, toujours non résolu, est l'activation du support TLS sur le serveur LDAP. La configuration indique bien la présence du support, mais la création du certificat indique une non conformité qui n'a pas encore été résolue. Les requêtes des clients sur le serveur LDAP se font donc en clair. Ceci présente des contraintes en termes de sécurité. Le serveur DNS : MaraDNS Ce serveur est un serveur beaucoup plus sécurisé et simple à configurer que BIND. Le souci par contre est la récursion des requêtes DNS sur les serveurs racines du réseau Internet. Bien que le fichier de configuration soit juste, la configuration ne fonctionne pas. Il a fallu repartir d'un exemple fourni avec le logiciel, puis le modifier pour qu'il soit conforme à la configuration du réseau pour que le serveur DNS fonctionne en récursion. Migration des données utilisateurs Lors de la migration, j'ai omis l'option d'archivage des données sur l'utilitaire scp. Ce qui m'a valu de recommencer la migration puisque les dates de création des fichiers n'étaient pas sauvegardées. Autre problème, mais ne dépendant pas de ma personne, le hub sature lors de gros transferts, ce qui a occasionné une grande latence du réseau pendant presque 12 heures. Mozilla s'est montré peu coopératif pendant la migration des utilisateurs. Lors du changement de répertoire maison des utilisateurs dans le cadre de la réorganisation des données, Mozilla ne voulait pas se relancer avec le profil de l'utilisateur. Après recherche, cela vient de la gestion des chemins de fichiers de configuration d'utilisateur. Mozilla n'utilise pas les chemins relatifs à partir du $HOME de l'utilisateur pour indiquer les fichiers de données. Ainsi, après un déplacement du répertoire maison de l'utilisateur, ce dernier ne pouvait plus retrouver ses données. La première solution étant de créer un lien symbolique mis à la place dans 44/61

45 l'ancien répertoire maison et pointant sur le nouveau (solution non propre par force brute), la deuxième étant de renommer le profil posant problème et de recréer un profil avec le nom du précédant. Mozilla retrouve les chemins et fonctionne à nouveau correctement. Erreur humaine ou piraterie réussie Juste après la mise en place des scripts de sauvegarde, le serveur principal a subi une grave altération de son système et des données utilisateurs. Les dégâts engendrés ont mis le système hors fonctionnement et ceci juste avant la mise en place de la procédure de sauvegarde. Après la première analyse, il se pourrait que les scripts de sauvegarde étaient buggués et ont lancé une suppression récursive à partir de la racine du système de fichier. Or les fichiers supprimés et les fichiers restants ne correspondaient pas à ce type d'opération. Il s'agirait plutôt d'une suppression aléatoire de dossier. Le serveur principal fournissait un service web disponible depuis l'internet. Une seconde supposition est la chute du serveur web due à une mauvaise configuration. Reste que le réseau a été immobilisé pendant quelques temps. La perte des données a été minimisée grâce à une sauvegarde préventive faite la veille de l'incident sur le serveur secondaire. 7. Une migration non finie Actuellement le réseau n'est pas totalement finalisé. Il reste encore la migration des adresses IP avec l'installation des bridges et finir la configuration du serveur LDAP avec le support de TLS. Une autre tâche s'est aussi rajoutée : pouvoir enlever la dépendance des «maileurs» de mozilla via l'utilisation d'un serveur IMAP tournant sous PostFix, mais des priorités plus importantes se sont greffées, qui ont fait passer cette tâche au second plan. 8. Conclusion Je n'avais personnellement jamais réalisé une telle migration sur un réseau en production. Ceci m'a énormément été profitable à tous points de vue. La connaissance nécessaire pour mettre en place un tel réseau est loin d'être négligeable. J'ai vu les manques au niveau de mes connaissances sur les systèmes Unix comme pour la sauvegarde ou encore les serveurs LDAP, et qu'il me reste encore beaucoup à apprendre pour être véritablement digne d'opérer en entreprise. Mais ceci s'acquiert par l'expérience, et cette expérience-là est déjà un bon début pour l'avenir. La documentation pour rendre pérenne un réseau est vraiment importante. Or, 45/61

46 bien que documenter une mise en application, une prévision ou toute autre chose dans le cadre scolaire ou associatif soit dans mes possibilités, la réalisation de documentation dans le milieu professionnel était à revoir. Néréide m'a appris à rédiger des documentations dans ce cadre, de façon qu'elles puissent être vraiment efficaces pour les collaborateurs. Effectuer une migration sur un réseau en production rend l'opération plus intéressante non pas du fait de la technique à mettre en place, mais de la relation avec les utilisateurs, qu'il faut déranger le moins possible tout en les prévenant sur les risques potentiels durant les opérations (internet non accessible, réorganisation des répertoires). Tout ceci est vraiment intéressant, même si la communication avec les utilisateurs est un échec, due essentiellement à un manque d'expérience. Heureusement que l'excuse : «c'est un stagiaire» existe, mais j'espère que ce sera la dernière fois que j'en profiterai. C'est clairement un défaut sur lequel je dois travailler absolument afin de l 'améliorer avant le lancement de ma propre entreprise. 46/61

47 Conclusion du stage Je ne peux que remercier la société Néréide pour la confiance qu'elle m'a accordée dans la migration de leur architecture. Sur le domaine de l'administration système. L'expérience acquise durant le stage m'a vraiment servi à prendre conscience de mes défauts concernant la communication, la documentation et l'organisation requises par un tel projet. Sur le côté du développement, bien que n'étant pas mon domaine de prédilection, mon maître de stage m'a là aussi fourni un travail nécessitant analyse et réflexion, me faisant participé à l'élaboration du projet Neogia. Bien que pensant ne pas avoir été à la hauteur des responsabilités données, le développement effectué est un enrichissement personnel très important. Sur le plan fonctionnel, M. Heintz m'a confié le développement du module de comptabilité, alors que mes connaissances sur ce sujet au début de mon stage étaient proches de zéro. Quand je voie le temps que M. Heintz a passé pour m'apprendre la comptabilité d'entreprise, le fonctionnement d'ofbiz, l'utilisation de Neogia, je ne peux que m'en sentir redevable. Le stage passé à Néréide m'a impliqué dans les trois types d'informatique d'entreprise, l'informatique : de développement fonctionnelle administrative L'intégration dans les projets est une grande ouverture pour ma compréhension de l'informatique en entreprise. Bien que me sentant un peu juste sur l'ensemble de mes compétences pour créer mon entreprise, il est indéniable que ce stage a contribué à combler ce manque. Remerciements Bien, c'est la partie qui devrait être la plus longue de ce rapport, mais je vais essayer d'être court. Je remercie énormément M. Heintz pour tout le temps passé à me former sur toutes les nouvelles technologies rencontrées, à m'informer sur les créations d'entreprise, pour la confiance accordée, pour... etc. (faire court). Remerciement aussi au directeur technique, M. Thébault, pour toutes ses remontrances sur mes manques, faites avec le sourire, et qui m'ont permises de me jauger. 47/61

48 Remerciement à Mme Heintz pour ses conseils et ses apports sur la communication, et surtout pour ses pauses «café» qu'elle sait si bien préparer. En gros, un énorme merci à toutes les personnes qui font Néréide, pour leur accueil, leur façon de voir la vie et le partage. Cela été un vrai plaisir de passer ces six mois dans une société humaine. En espérant que ce ne soit que le début... 48/61

49 Bibliographie Références utilisées dans le cadre du développement Sites internets : site officiel du PGI libre OFBiz labs.libre-entreprise.org : site de développement pour les sociétés appartenant au réseau libre-entreprise : site officiel du projet freemarker (fichier ftl) : site officiel du projet de script java jdee.sunsite.dk : site officiel du projet d'environnement java pour l'éditeur GNU/emacs Livre O'reilly Introduction à JAVA de Pat NIEMEYER et Jonathan KURSDEN Autre livre The Data Model Resource Book au édition Wiley de Len SILVERSTON Autre - Documentation du projet Neogia Références utilisées dans le cadre de la migration du réseau de Néréide Sites internets : site officiel du serveur ldap, openldap, déployé sur la nouvelle architecture réseau de Néréide. : site officiel du serveur dns, maradns, déployé sur la nouvelle architecture réseau de Néréide. linuxfr.org : site d'information et de documentation sur les systèmes libres. Livre O'reilly LDAP Administration système de Gérald CARTER Administration réseau sous linux de Olaf KIRCH et Teny DAWSON Administration Linux 200% de Rob FLICKENGER 49/61

50 Annexes 50/61

51 1.Migration du réseau de Néréide But du document Ce document décrit les différentes étapes de la migration des utilisateurs et des machines du réseau Néréide vers la nouvelle architecture. Il est destiné aux administrateurs réseaux et aux utilisateurs désirant connaître la procédure à effectuer. Etapes de la migration La migration du réseau de Néréide vers la nouvelle architecture va se dérouler en cinq étapes Première étape, migration des données utilisateurs de moindre importance du serveur principal vers le serveur secondaire, à savoir les répertoires des utilisateurs suivants : mathilde paul brice fanny lea Ainsi que le répertoire partagé /home/commun qui sera déplacé en /home/lesisles/commun Deuxième étapes, la migration des répertoires de travail : serveur principal:/home/boulot/néréideiii vers serveur secondaire:/home/boulot/commun serveur principal:/home/boulot/* vers serveur secondaire:/home/boulot/archive erg:/home/paulette vers serveur secondaire:/home/les-isles/paulette serveur principal:/var/ofbiz vers serveur secondaire:/app, Ne pas oublier de modifier les fichiers de configuration des différentes version d'ofbiz Troisième étape de la migration, passage d'imbros sous une distribution Debian Sarge et migration des données de l'utilisateur lucien - serveur principal:/home/lucien vers serveur secondaire:/home/lesisles/lucien Quatrième étape migration, passage serveur principal sous une distribution debian Sarge. Migration des services de serveur secondaire sous serveur principal Cinquième et dernière étape, mise en place du firewall et migration des adressages IP du réseau. 51/61

52 Première étape Pour pallier aux soucis de stabilité de serveur secondaire sur le service de nommage nsswitch sur ldap, on calque les entrées ldap sur le contenu des fichiers / etc/passwd et /etc/group Création de la partition /dev/hda8 pour accueillir /home/les-isles. Dans un premier temps, la partition /dev/hda8 sera montée en /home pour garder une compatibilité avec les variables $HOME des utilisateurs. Migration des comptes des utilisateurs prévus : scp -rp /home/brice /home/mathilde /home/paul /home/lea \ /home/fanny /home/commun serveur secondaire:/home Ré-attribution des utilisateurs en fonction des règles définies : chown -R brice /home/brice chown -R paul /home/paul chown -R mathilde /home/mathilde chown -R fanny /home/fanny chown -R lea /home/lea chown -R lucien /home/commun Ré-attribution du groupe des répertoires : chgrp -R les-isles /home/* Modification du fichier /etc/fstab de serveur secondaire: changement de : serveur principal:/export/home /home nfs soft 0 0 par : /dev/hda8 /home ext3 default 1 3 Export des répertoires via NFS Création du répertoire /export contenant les liens symboliques des répertoires à exporter. Ces répertoires sont : /export/home/les-isles -> /home/les-isles /export/home -> /home contenu du fichier /etc/exports : /export/home x.x.2.0/ (rw) /export/home/les-isles x.x.2.0/ (rw) 52/61

53 Configuration de la machine cliente (imbros) Pour imbros il faut configuration le fichier /etc/fstab et rajouter la ligne : serveur secondaire:/export/home/les-isles /home nfs soft 0 0 Reallocation des $HOME : Le changement du $HOME est à effectuer sur le serveur ldap. Si le serveur secondaire ne s'authentifie toujours pas sur ldap, ne pas oublier de changer en local. Après réallocation des $HOME des utilisateurs, sur serveur secondaire : supprimer tous les liens symboliques contenus dans /home/les-isles sur les machines clientes : changer : serveur secondaire:/export/home/les-isles /home nfs soft 0 0 par : serveur secondaire:/export/home/ /home/ nfs soft /61

54 Deuxième étape Dans la deuxième étape, passer erg et le $HOME de paulette sous serveur secondaire. Migration des donnée de erg vers serveur secondaire scp -rp /home/paulette serveur secondaire:/home/les-isles Puis modifier le $HOME dans la base ldap Ensuite configurer erg pour le montage du $HOME via le fichier /etc/fstab en rajoutant : serveur secondaire:/export/home/ /home/ nfs soft 0 0 Migration des données de serveur principal vers serveur secondaire, à partir de serveur secondaire: scp -rp serveur principal:/home/boulot /home/boulot mkdir /home/boulot/archive mkdir /home/boulot/commun mv /home/boulot/boulot/néréideiii/* /home/boulot/commun rm -f /home/boulot/boulot/néréideiii mv /home/boulot/boulot/* /home/boulot/archive rm -f /home/boulot/boulot scp -rp serveur principal:/var/ofbiz /app chgrp -R boulot /app /home/boulot chown -R tyannick /app /home/boulot chmod +X+t ug+w -R /app /home/boulot 54/61

55 Troisième étape L'installation d'un Debian Sarge sur imbros avec la liste des applications par défaut de Néréide. Configuration de'imbros pour intégrer le réseau de Néréide Transfère des données de l'utilisateur lucien : scp -rp serveur principal:/home/lucien /home/les-isles/lucien chgrp -R les-isles /app /home/les-isles/lucien chown -R lucien /home/les-isles/lucien Quatrième étape Installation de Debian Sarge sur serveur principal et migration des services de serveur secondaire vers serveur principal Migration du service ldap sur serveur secondaire, il faut récupérer la base de données ldap : killall slapd slapcat > ListeUtilisateurNereide.ldif scp ListUtilisateurNereide.ldif serveur principal:/root/ldap/ sur serveur principal, il faut intégrer la base dans le serveur ldap : slapadd -f /root/ldap/listeutilisateurnereide.ldif /etc/init.d/slapd start Migration des services de fichiers Mise en place des partages disponibles, sur serveur principal: scp -p serveur secondaire:/etc/exports /etc/exports Migration des données sur serveur principal : scp -rp serveur secondaire:/home/* /home scp -rp serveur secondaire:/app/* /app Re-positionnement du serveur Une fois le serveur principal en place, il ne reste plus qu'à re-synchroniser les machines clientes sur ce nouveau serveur principal. Pour cela, il faut remplacer serveur secondaire par serveur principal dans les fichiers : /etc/ldap.conf /etc/fstab Pour permettre à serveur secondaire de couvrir les services de serveur principal en cas de chute de ce dernier, on place l'adresse IP de serveur secondaire sur le nom de serveur principal dans les fichiers de configuration DNS de serveur secondaire. 55/61

56 Puis pour chaque client, on indique les serveurs DNS dans l'ordre suivant : serveur principal serveur secondaire Ainsi, si serveur principal devient non disponible, serveur secondaire prendra le relais de façon transparente pour les machines clientes Cinquième étape La ré-allocation des adresses IP va nécessiter un arrêt de l'accès aux services pendant une heure pour les utilisateurs. Préparation de la migration Re-nommage des adresses IP sur le DNS dans un fichier secondaire db.lesisles.org.tmp Migration des machines Arrêt de tous les services des serveurs. Re-nommage de l'adresse IP des machines, modification des adresses ip dans le fichiers /etc/network/interfaces. remplacement du fichier /etc/maradns/db.les-isles.org mv /etc/maradns/db.les-isles.org /etc/maradns/db.les-isles.org.old mv /etc/maradns/db.les-isles.org.tmp /etc/maradns/db.les-isles.org Mise en place du firewall Relancement des serveurs : serveur principal et serveur secondaire Vérification de l'état du réseau et des services. 56/61

57 2.Migration de serveur principal pour la nouvelle architecture réseau But du document Ce document a pour but de décrire l'installation de la distribution Debian Sarge sur serveur principal ainsi que des services à installer et des opérations a effectuer pour que serveur principal fasse office de serveur princial. Analyse de l'existant Actuellement serveur principal tourne sous une distribution mandrake 9.1 mise à jour. Il est en grande partie déconnécté des autres ordinateur du réseau qui on pour authorité serveur secondaire. Ces disques durs sont organisés comme l'indique les tableaux suivants : /dev/hda : Partition taille Utilisation Type & commentaires /dev/hda1 2 Go / etx3 /dev/hda5 549 Mo Swap mandrake Swap /dev/hda6 5,1 Go /usr etx3 /dev/hda7 3 Go /var etx3 /dev/hda8 19 Go /home etx3 /dev/hda9 9,3 Go /misc etx3-18 Go vide - /dev/hdc : Partition taille Utilisation Type & commentaires /dev/hdc1 2 Go /Sav etx3 /dev/hdc5 549 Mo Swap mandrake Swap /dev/hdc6 5,1 Go /Sav/usr etx3 57/61

58 Partition taille Utilisation Type & commentaires /dev/hdc7 3 Go /Sav/var etx3 /dev/hdc8 19 Go /Sav/home etx3 /dev/hdc9 10 Go /Sav/misc etx3-17 Go vide - Étapes de la migration de serveur principal la migration va suivre les étapes suivantes : Installation d'une distribution Debian Sarge sur /dev/hdc Installation et configuration des services nécessaire à l'exploitation Migration des données utilisateurs Installation de Debian Sarge sur serveur principal L'installation de la distribution Debian Sarge se fait sur le deuxième disque dur /dev/hdc. Le disque dur /dev/hda n'est pas touché car contenant encore des données utilisateur. Sauvegarde des données restante Les données se trouvant dans le répertoire actuel /misc seront sauvegardé dans le répertoire de l'utilisateur folivier sur serveur secondaire : sur serveur principal : scp rp /misc/image serveur secondaire:/home/les isles/folivier sur serveur secondaire : chown paul R /home/les isles/paul/image chgrp les isles R /home/les isles/paul/image Réorganisation des disques durs de serveur principal Le disque /dev/hdc est réorganisé suivant la structure finale déjà définie cf. Description_des_partitions_de_serveur principal.sxw Installation des services Les applications de Néréide sont à installer. Pour pouvoir fournir ces services serveur principal doit avoir d'installer : 58/61

59 NFS apt-get install nfs-common nfs-kernel-server nfs-user-server Serveur ldap : Openldap Installation à partir des sources, version Serveur DNS : maradns apt-get install maradns Serveur SSH : OpenSSH apt-get install ssh Serveur d'impression : CUPS apt-get install cups* foomatic-db* Seveur http : Apache2 apt-get install apache2 Serveur SMB : Samba apt-get install samba Configuration des services cf Migration_du_réseau.sxw : Quatrième Etape Migration des données utilisateurs cf Migration_du_réseau.sxw : Quatrième Etape 59/61

60 3.Sauvegarde des données du serveur But du document L'objectif de ce document est de décrire les procédures de sauvegarde de serveur principal. Il s'adresse aux administrateurs réseaux à titre d'information. Deux types de sauvegarde Sauvegarde disque à disque Explication serveur principal étant équipé de deux disques durs ide de même capacité, les deux disques ont les mêmes partitions de façon à pouvoir répliquer le disque en fonctionnement sur le disque inactif. Fonctionnement de la sauvegarde La sauvegarde est faite par le script : /root/sauvegarde/vue_journaliere.sh Ce script est lancé par crontab à 12h00 et 18h00 chaque jour. Fonctionnement du script 1ère étape : Montage des partitions de sauvegarde à partir du répertoire / mnt/sauvegard Synchronisation des répertoires : via rsync Démontage des partitions Sauvegarde sur serveur secondaire Explication Les répertoires contenant les données utilisateurs sont répliqués à arborescence identique de serveur principal sur serveur secondaire. Les répertoires systèmes sont répliqués de serveur principal dans le répertoire / app/sauvegarde de serveur secondaire 60/61

61 Fonctionnement de la sauvegarde La sauvegarde s'exécute via le script /root/sauvegarde/balance_push.sh. Deux fichiers contiennent les répertoires à sauvegarder sur serveur secondaire. Le premier : rep_a_dupliquer.txt, contient les répertoires à dupliquer en respectant l'arborescence. Le deuxième : rep_a_sauvegarder.txt, contient les répertoires à sauvegarder dans un répertoire de sauvegarde sur serveur secondaire La sauvegarde est lancée par crontab tous les samedis à 19h00 61/61

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Développement d un composant de «gestion de stocks» pour l ERP libre Ofbiz

Développement d un composant de «gestion de stocks» pour l ERP libre Ofbiz Université François RABELAIS Faculté Des Sciences Et Techniques - DESS Compétence Complémentaire En Informatique Parc de Grandmont 37200 TOURS Développement d un composant de «gestion de stocks» pour l

Plus en détail

Rapport de stage Développements sur l ERP libre Ofbiz

Rapport de stage Développements sur l ERP libre Ofbiz Université François RABELAIS Tours École Polytechnique Universitaire - Département Informatique 64, avenue Jean PORTALIS 37200 Tours Rapport de stage Développements sur l ERP libre Ofbiz Reponsable de

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique) GLPI (Gestion Libre de Parc Informatique) Installation et configuration d une solution de gestion de parc et de helpdesk 2 ième édition Marc PICQUENOT Patrice THÉBAULT Nouvelle édition Table des matières

Plus en détail

Etude comparative : ERP open source. Table de matières

Etude comparative : ERP open source. Table de matières Page : 1/9 Table de matières Table de matières... 1 Abréviations... 2 Introduction... 3 1.1 Définition... 3 1.2 Les composantes d'un ERP... 3 1.3 Les apports d'un ERP... 3 1.4 Les ERP Open Source... 3

Plus en détail

Les Réunions Info Tonic. Utiliser les logiciels libres dans mon entreprise Mardi 21 janvier 2014

Les Réunions Info Tonic. Utiliser les logiciels libres dans mon entreprise Mardi 21 janvier 2014 Les Réunions Info Tonic Utiliser les logiciels libres dans mon entreprise Mardi 21 janvier 2014 Intervenants : Utiliser les logiciels libres dans mon entreprise Jean-Luc Malet et Olivier Heintz, Nereide

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs

Plus en détail

CAHIER DE S CHARGE S Remote Workload Manager

CAHIER DE S CHARGE S Remote Workload Manager CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION

Plus en détail

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

CONNECTEUR PRESTASHOP VTIGER CRM

CONNECTEUR PRESTASHOP VTIGER CRM CONNECTEUR PRESTASHOP VTIGER CRM Page 1 / 14 Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x et 1.5.x Pour vtiger CRM version 5.1, 5.2.0, 5.2.1, 5.3 et 5.4 Introduction En tant que gérant

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : http://www.hegerys.com/documentation/magicsafe-windows-doc.pdf

Plus en détail

2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces... 4 2.3 Résumé de notre évaluation... 5

2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces... 4 2.3 Résumé de notre évaluation... 5 Livre Blanc LE PORTAIL D'INTÉGRATION LIFERAY Version 1.0 - Novembre 2006 SOMMAIRE 1 PRÉSENTATION... 3 2 SYNTHÈSE... 4 2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces...

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Introduction aux services Active Directory

Introduction aux services Active Directory 63 Chapitre 3 Introduction aux services Active Directory 1. Introduction Introduction aux services Active Directory Active Directory est un annuaire implémenté sur les systèmes d'exploitation Microsoft

Plus en détail

Communiqué de Lancement. Sage Intégrale V4.50

Communiqué de Lancement. Sage Intégrale V4.50 Communiqué de Lancement Sage Intégrale V4.50 Nouvelle Version Majeure Avec près de 3000 entreprises clientes, l Intégrale est le Progiciel de Gestion Intégré le plus déployé en France, ce qui révèle toutes

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Espace numérique de travail collaboratif

Espace numérique de travail collaboratif Espace numérique de travail collaboratif 1/10 Présentation Agora Project est un espace de travail collaboratif complet et intuitif. Cette application est accessible partout et à tout moment, via un simple

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS [email protected] - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3 Manuel utilisateur des listes de diffusion Sympa à l'université Lille 3 1 Table des matières Table des matières...2 I. Introduction...3 II. Principe général de fonctionnement de «Sympa»...3 1. Les principaux

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Gestion d'un parc informatique avec OCS INVENTORY et GLPI GSB Gestion d'un parc informatique avec OCS INVENTORY et GLPI Inventaire d'un parc informatique Suite à la multiplication des matériels et des logiciels dans les locaux de GSB, le service Gestion exprime

Plus en détail

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008. Référence Cours : 6238B

Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008. Référence Cours : 6238B Configuration Et Résolution Des Problèmes Des Services De Domaine Active Directory Windows Server 2008 Durée: 5 jours Référence Cours : 6238B À propos de ce cours Ce cours animé par un instructeur et réparti

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Projet : PcAnywhere et Le contrôle à distance.

Projet : PcAnywhere et Le contrôle à distance. Projet : PcAnywhere et Le contrôle à distance. PAGE : 1 SOMMAIRE I)Introduction 3 II) Qu'est ce que le contrôle distant? 4 A.Définition... 4 B. Caractéristiques.4 III) A quoi sert le contrôle distant?.5

Plus en détail

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008 Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008 Objectifs À la fin de cette présentation, vous serez en mesure : de citer des ministères ayant fait

Plus en détail

Contrôle interne et organisation comptable de l'entreprise

Contrôle interne et organisation comptable de l'entreprise Source : "Comptable 2000 : Les textes de base du droit comptable", Les Éditions Raouf Yaïch. Contrôle interne et organisation comptable de l'entreprise Le nouveau système comptable consacre d'importants

Plus en détail

Vtiger CRM - Prestashop Connector

Vtiger CRM - Prestashop Connector Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x Pour vtiger CRM version 5.1, 5.2.0 et 5.2.1 Introduction En tant que gestionnaire d'une boutique en ligne, vous cherchez constamment de meilleurs

Plus en détail

Cyberclasse L'interface web pas à pas

Cyberclasse L'interface web pas à pas Cyberclasse L'interface web pas à pas Version 1.4.18 Janvier 2008 Remarque préliminaire : les fonctionnalités décrites dans ce guide sont celles testées dans les écoles pilotes du projet Cyberclasse; il

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

Installation de Windows 2000 Serveur

Installation de Windows 2000 Serveur Installation de Windows 2000 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire L espace de stockage garantit aux utilisateurs une sauvegarde de leurs fichiers dans une arborescence à construire par eux-mêmes. L avantage de cet espace de stockage est son accessibilité de l intérieur

Plus en détail

Conditions Particulières de Maintenance. Table des matières. Ref : CPM-1.2 du 08/06/2011

Conditions Particulières de Maintenance. Table des matières. Ref : CPM-1.2 du 08/06/2011 Conditions Particulières de Maintenance Ref : Table des matières 1 CONDITIONS PARTICULIÈRES APPLICABLES AUX CONTRATS DE MAINTENANCE...2 1.1 Préambule...2 1.2 Obligations d'atreal et services rendus...2

Plus en détail

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS Journée Josy/PLUME Outils logiciels libres utiles à tout ASR SAMBA Maurice Libes Centre d'océanologie de Marseille UMS 2196 CNRS Plan - Présentation de Samba Contexte d'utilisation Laboratoire Objectifs,

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

GESTION DES BONS DE COMMANDE

GESTION DES BONS DE COMMANDE GESTION DES BONS DE COMMANDE P1 P2 Table des Matières LA GESTION DES BONS DE COMMANDE 4 PREMIERE EXECUTION DU LOGICIEL 5 DEFINITION DES PARAMETRES 8 Services 9 Comptes Utilisateurs 10 Adresse de livraison

Plus en détail

Outil de gestion et de suivi des projets

Outil de gestion et de suivi des projets Outil de gestion et de suivi des projets Proposition technique et commerciale Amselem Jonathan - Corniglion Benoit - Sorine Olivier Troche Mariela - Zekri Sarah 08 Sommaire I. Les atouts de la proposition

Plus en détail

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de 1 2 «Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de Copie, seules les références bibliographiques peuvent

Plus en détail

Les infrastructures de clés publiques (PKI, IGC, ICP)

Les infrastructures de clés publiques (PKI, IGC, ICP) Les infrastructures de clés publiques (PKI, IGC, ICP) JDLL 14 Octobre 2006 Lyon Bruno Bonfils 1 Plan L'utilisation des certificats Le rôle d'un certificat Les autorités de confiance Le

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

FreeNAS 0.7.1 Shere. Par THOREZ Nicolas

FreeNAS 0.7.1 Shere. Par THOREZ Nicolas FreeNAS 0.7.1 Shere Par THOREZ Nicolas I Introduction FreeNAS est un OS basé sur FreeBSD et destiné à mettre en œuvre un NAS, système de partage de stockage. Pour faire simple, un NAS est une zone de stockage

Plus en détail

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition) Introduction 1. Introduction 13 2. Le choix de l'ouvrage : Open Source et Linux Ubuntu 13 2.1 Structure du livre 13 2.2 Pré-requis ou niveau de connaissances préalables 13 3. L'objectif : la constitution

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation Active Directory Structure logique Service d'annuaire Base d'annuaire distribuée des ressources réseau : comptes utilisateurs, groupes, ordinateurs, imprimantes, dossiers partagés,... Administration centralisée

Plus en détail

Rapport de Stage : Développement sur l'erp libre OFBiz Néogia

Rapport de Stage : Développement sur l'erp libre OFBiz Néogia Faculté des Sciences Département d'informatique 1, Rue de Chartres 45067 Orléans cedex 2. Rapport de Stage : Développement sur l'erp libre OFBiz Néogia Responsable de Stage : Étudiant : Peter GORON Mickaël

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles

Plus en détail

Système de Gestion de Ressources

Système de Gestion de Ressources Groupe 4 Système de Gestion de Ressources Clients : Rachid Khoufache & Antoine Rozenknop Version finale Ingénieur Informatique deuxième année Année scolaire 2011/2012 TABLE DES MATIERES I. INTRODUCTION...

Plus en détail

Présentation d'un Réseau Eole +

Présentation d'un Réseau Eole + Présentation d'un Réseau Eole + Le Pourquoi du comment... Comprendre les différents types de documentation fournit avec la solution Eole Plus. Novice Confirmé Expert Version 1.0 Mai 2006 Permission est

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base [email protected] [email protected] Objectives Comprendre les concepts de base d Active

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Nuxeo 5.4 : les nouveautés

Nuxeo 5.4 : les nouveautés Atelier GED - 30 mars 2011, Paris Consortium ESUP-Portail Nuxeo.conf et templates Depuis la version 5.3.2, nouvelle façon de configurer Nuxeo à l'aide du fichier nuxeo.conf et des templates. Les templates

Plus en détail

Analyse comparative entre différents outils de BI (Business Intelligence) :

Analyse comparative entre différents outils de BI (Business Intelligence) : Analyse comparative entre différents outils de BI (Business Intelligence) : Réalisé par: NAMIR YASSINE RAGUI ACHRAF Encadré par: PR. L. LAMRINI Dans le domaine d économies des Big Data et Open Data, comment

Plus en détail

RégieSpectacle JLG SOFT. Présentation fonctionnelle

RégieSpectacle JLG SOFT. Présentation fonctionnelle RégieSpectacle JLG SOFT Présentation fonctionnelle Solution logicielle Logiciel de gestion et de planification de spectacles, RégieSpectacle comptabilise plus de 115 clients en France, Suisse et Belgique

Plus en détail

SIO-SISR : Projet GSB. LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc. BTS Services Informatiques aux Organisations 1 ère année

SIO-SISR : Projet GSB. LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc. BTS Services Informatiques aux Organisations 1 ère année SIO BTS Services Informatiques aux Organisations 1 ère année LOT 1 : Evaluation d un logiciel d inventaire et de gestion de parc Objectifs : LOT 1 : Evaluation d un logiciel d inventaire et de gestion

Plus en détail

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x SQUID P r o x y L i b r e p o u r U n i x e t L i n u x 1. P r é s e n t a t i o n : SQUID est un proxy (serveur mandataire en français) cache sous linux. De ce fait il permet de partager un accès Internet

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

Sommaire. Systèmes d Exploitation... 3. Intégration Sage 100 Sage CRM... 3. Disponibilité Client... 3. Bases de données... 3

Sommaire. Systèmes d Exploitation... 3. Intégration Sage 100 Sage CRM... 3. Disponibilité Client... 3. Bases de données... 3 Communiqué de Lancement Sage CRM v. 6.5 Editions Standard et Avancée Sommaire Systèmes d Exploitation... 3 Intégration Sage 100 Sage CRM... 3 Disponibilité Client... 3 Bases de données... 3 Nouveautés

Plus en détail

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Mise en œuvre de mod_webobjects Version: 2.0 Dernière modification: 2010/09/06 20:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

informatisé de l'entreprise

informatisé de l'entreprise M542 - Fonctionnement informatisé de l'entreprise PLAN : Fonctionnement informatisé de l'entreprise 6h de cours 2h : progiciels, ERP & IAE 1h : Echange de données 1h : Intranet-Extranet 1h : Sécurité 1h

Plus en détail

Maintenir Debian GNU/Linux à jour

Maintenir Debian GNU/Linux à jour Maintenir Debian GNU/Linux à jour Ce troisième document présente dans un premier temps comment maintenir son système à jour de façon automatisée. Il est en effet indispensable d'installer de manière parfaitement

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent de l'installation du connecteur Pronote à l'ent Page : 1/28 SOMMAIRE 1 Introduction...3 1.1 Objectif du manuel...3 1.2 Repères visuels...3 2 Paramétrage de la connexion entre l'ent et Pronote...4 2.1 Informations

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

Situation présente et devis technique

Situation présente et devis technique Situation présente et devis technique Système de gestion des membres actuel Le système de gestion des membres actuel sert principalement à stocker des informations sur les architectes et les stagiaires.

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

L annuaire et le Service DNS

L annuaire et le Service DNS L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.

Plus en détail

Bind, le serveur de noms sous Linux

Bind, le serveur de noms sous Linux Bind, le serveur de noms sous Linux 1. Principes de fonctionnement d'un serveur de noms La résolution des noms d'hôtes sur les réseaux tcp/ip est fondée sur le principe d'une répartition de la base des

Plus en détail

Protocoles DHCP et DNS

Protocoles DHCP et DNS Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)

Plus en détail

Manuel d utilisation du site web de l ONRN

Manuel d utilisation du site web de l ONRN Manuel d utilisation du site web de l ONRN Introduction Le but premier de ce document est d expliquer comment contribuer sur le site ONRN. Le site ONRN est un site dont le contenu est géré par un outil

Plus en détail

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO) LDAP Mise en place Introduction Limitation et Sécurité Déclarer un serveur MySQL dans l annuaire LDAP Associer un utilisateur DiaClientSQL à son compte Windows (SSO) Créer les collaborateurs DiaClientSQL

Plus en détail

Préparer la synchronisation d'annuaires

Préparer la synchronisation d'annuaires 1 sur 6 16/02/2015 14:24 En utilisant ce site, vous autorisez les cookies à des fins d'analyse, de pertinence et de publicité En savoir plus France (Français) Se connecter Rechercher sur TechNet avec Bing

Plus en détail

Une unité organisationnelle (Staff) comporte une centaine d'utilisateur dans Active Directory.

Une unité organisationnelle (Staff) comporte une centaine d'utilisateur dans Active Directory. Migration de Active Directory vers OpenLDAP Préambule Nous souhaitons mettre en place une gestion centralisée des services réseaux, des ordinateurs, des utilisateurs, des groupes et des droits dans un

Plus en détail

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est

Plus en détail

Kaspersky Security Center 9.0 Manuel d'implantation

Kaspersky Security Center 9.0 Manuel d'implantation Kaspersky Security Center 9.0 Manuel d'implantation VERSION DE L APPLICATION : 9.0 Cher utilisateur, Merci d'avoir choisi notre produit. Nous espérons que ce document vous aidera dans votre travail et

Plus en détail

Kaspersky Security Center Web-Console

Kaspersky Security Center Web-Console Kaspersky Security Center Web-Console MANUEL DE L UTILISATEUR CONTENU A PROPOS DE CE MANUEL... 5 Dans ce document... 5 Conventions... 7 KASPERSKY SECURITY CENTER WEB-CONSOLE... 8 CONFIGURATION LOGICIELLE...

Plus en détail

Business et contrôle d'accès Web

Business et contrôle d'accès Web Business et contrôle d'accès Web Un livre blanc d Evidian Augmentez vos revenus et le ROI de vos portails Web Sommaire Description du cas client Solution mise en place par le client Contrôler et sécuriser

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

Evidian IAM Suite 8.0 Identity Management

Evidian IAM Suite 8.0 Identity Management Evidian IAM Suite 8.0 Identity Management Un livre blanc Evidian Summary Evidian ID synchronization. Evidian User Provisioning. 2013 Evidian Les informations contenues dans ce document reflètent l'opinion

Plus en détail

SOUTIEN INFORMATIQUE DEP 5229

SOUTIEN INFORMATIQUE DEP 5229 SOUTIEN INFORMATIQUE DEP 5229 Le Diplôme d études professionnelles D.E.P. en soutien informatique a une durée totale de 1800 heures à temps plein. Le programme permet de développer les compétences nécessaires

Plus en détail

Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x

Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x Suite SAP BusinessObjects Business Intelligence Version du document : 4.0 Support Package 10-2014-07-25 Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x Table des matières 1 Introduction....

Plus en détail

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU LANDPARK NETWORK IP Avril 2014 LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU Landpark NetworkIP est composé de trois modules : Un module Serveur, que l'on installe sur n'importe

Plus en détail

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO) LDAP Mise en place Introduction Limitation et Sécurité Déclarer un serveur MySQL dans l annuaire LDAP Associer un utilisateur DiaClientSQL à son compte Windows (SSO) Créer les collaborateurs DiaClientSQL

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail