Département SI
Toute entreprise vise à développer ces procédures administratives et financières pour gagner du temps, améliorer la rentabilité de ses employés, contrôler et visualiser mieux les informations et satisfaire ses clients. Ce développement est l’implémentation de l’informatique et des nouvelles technologies dans tous les secteurs académiques, et financiers. Le SI est apparu en 1996, au début il été basé sur Microsoft Access et a été développé par un ingénieur, maintenant il est devenu en ligne (Web) et peut être accédé de n’importe quelle internaute connectée sur l’internet, bien sûre en respectant certains droits de sécurité. Avec l’évolution technologique du SI ou bien son renouvellement dont je voudrai traiter ultérieurement, le département SI s’est évolué aussi, maintenant il est administré par un chef, un ingénieur chef du développement et deux développeurs dont moi-même [figure 1].
Emploi actuel
Je travaille comme développeur de système à l’institut depuis 2/2/09.
Les tâches accomplies sont les suivantes :
Analyse d’un système d’information proposé par le chef de projet ou le chef de développement.
Conception, programmation et déploiement, tests de vérification avec la coordination avec les autres développeurs.
Délivrance au chef de projet le logiciel réalisé.
Maintenance du réseau Ethernet à l’institut.
Réalisation des backups périodiques pour les bases de données.
La partie suivante vous donnent une description de la relation du département SI avec les autres départements avec lesquels il communique :
Le service comptabilité consulte le département SI et vice-versa, pour obtenir diverses informations à propos des salariés et des professeurs et leurs contrats etc. Aussi, des applications spécifiques sont mises en œuvre pour la comptabilité et la direction, comme le SI des enseignants qui traite les contrats des professeurs. D’autre part, le service scolarité qui assure des services pour les étudiants et gère leurs dossiers, il est en contact permanent avec l’équipe du SI surtout dans la période d’inscription et d’examen ; par exemple le transfert d’un dossier d’étudiant d’un centre à un autre se fait par le département SI après la demande de la scolarité.
En suite, des applications sont misent en places pour les unités académiques, pour gérer leurs spécialités, leurs diplômes et leurs catalogues sur le Web. Les chefs des unités académiques ou de départements, sont dotés de plusieurs tâches sur le SI, surtout durant la période d’inscription des étudiants. Les essentielles tâches d’un chef de département sont : l’accord à l’inscription à certaines matières, la gestion des horaires, affectation des professeurs etc.
Concernant la direction, qui est représentée par le directeur, le vice directeur et le secrétaire administratif. Elle exerce son travail, comme la consultation, la supervision et la proposition des projets à réaliser. Par ailleurs, la direction consulte le département SI pour des statistiques, par exemple : avoir des rapports sur les étudiants inscrits dans tous les centres. De même, la direction supervise notre travail de deux manières : directe et indirecte. La manière directe consiste à visualisant les opérations sur le Web, grâce à des applications spécifiques, l’indirecte est basée sur le « feedback » des employés et des étudiants qui contactent la direction pour un raison après avoir utiliser le système en Web, par exemple : un enseignant qui demande une révision sur ses heures enseignées. Par suite, le meilleur service offert par le SI, est le contrôle simultané des différentes opérations, surtout ce qui concerne le budget et les salaires.
Concernant les centres d’enseignements, il sont représentés par des chefs et des secrétaires administratives. Les centres sont connectés à l’administration centrale grâce au SI. Des divers services sont offertes pour eux, par exemple, des statistiques à propos des étudiants inscrits et préinscrits pour un semestre donné ; fixer des erreurs d’inscriptions sur la fiche de paiement (annuler certaines matières, éditer l’inscription). Techniquement l’intranet qui nous relie avec les centres d’enseignement doit être dans des bonnes conditions, elle est gérer par l’entreprise « Cedercom », qui fournit des services réseaux et infrastructure. Donc le département SI joue un rôle central sur plusieurs niveaux administrative et technique.
Le Liban Post est une entreprise pour les services postaux, cette entreprise est dotée de recevoir le cash des étudiants, comme frais d’inscription et frais de sécurité sociale puis transférer les montants payés vers le compte bancaire de l’institut. Ensuite le Liban post fourni des rapports de format électronique (emails) à l’institut concernant les étudiants qui ont payé leurs frais. Notre équipe informatique valide l’inscription des étudiants en se basant sur ces rapports.
Par suite, après la validation des inscriptions, les étudiants peuvent demander des attestations et passer leurs examens normalement. Mais des problèmes sont rencontrés quand il y a un retard dans la délivrance des rapports de Liban Post concernant les étudiants inscrits, surtout quand ils demandent des attestations etc. Enfin, comment on peut les servir si nous ne connaissons pas s’ils ont payés leurs frais d’inscription ? La solution est de demander du Liban Post de nous fournir des rapports journaliers pour que notre SI soit cohérent le maximum avec le système du Liban Post, ce qui ce passe actuellement.
Activités internes et formations
Des réunions périodiques sont élaborées pour l’équipe informatique. Le chef du projet détermine le sujet de la réunion qui sera discuté, et à la fin nous arrivons à une conclusion qui peut être décisive, par exemple après discussion nous arrivons à adapter l’architecture orientée service(SOA) dont je voudrais expliquer ultérieurement. Aussi, Des formations étaient organisées par l’Agence Universitaire de la Francophonie (AUF) à tripoli, ces formations sont assistées par des cadres de différentes universités et compagnies, et auxquelles nous avons participé. Bien sûr ce type de formations a amélioré notre compétence technique et notre niveau de relations humaines.
Principales caractéristiques du logiciel
MS Access est un logiciel utilisant des fichiers au format Access (extension de fichier mdb pour Microsoft DataBase). Il est compatible avec les requêtes SQL et dispose d’une interface graphique pour saisir les requêtes. Il permet aussi de configurer, avec des assistants ou librement, des formulaires Query et sous-formulaires de saisie, des états imprimables (avec regrouts de données selon divers critères et des totalisations, sous-totalisations, conditionnelles ou non), des pages html liées aux données d’une base, des macros et des modules VBA.
Comme beaucoup de systèmes de gestion de bases de données relationnelles, ces données peuvent être utilisées dans des programmes écrits dans divers langages.
Les langages couramment utilisés avec Access sont le Visual Basic for Application (VBA) et les langages qui disposent de modules d’accès aux données pour les fichiers .mdb : Delphi de Borland, Visual Basic, C++ sous Visual Studio de Microsoft par exemple. VBA, intégré à Access comme à toutes les applications de la suite Microsoft Office, permet de créer des applications de gestion complètes, livrées avec un programme d’installation qui gère automatiquement la mise en place éventuelle d’un « runtime » d’Access, et dont le code source est protégé dans une version semi-exécutable des fichiers (mde).
Il est en effet possible (et conseillé) d’installer un fichier mdb, contenant les tables de données, sur un serveur (ou un poste de réseau poste à poste dédié comme tel) et des fichiers mdb (ou mde) contenant tous les éléments de l’application sur les postes client. Cette séparation permet le déploiement de mises à jour de la partie applicative sans avoir à transvaser les données existantes d’une base à une autre. Dans ce cas, les fichiers clients sont « attachés » aux tables du fichier « mdb » installé sur le poste serveur. Sur ce plan, Access est donc très simple à déployer car il n’a pas besoin de service serveur comme MySQL, Oracle, PosteGRE, etc. D’un côté comme de l’autre, ce fichier étant un conteneur, il faudra s’assurer de sa viabilité. En effet, au moindre défaut du fichier (défaut d’écriture disque, etc.) les chances de perte de l’application ou des données sont très grandes et la réparation automatique du fichier conteneur tiendra presque du miracle. Un modèle de sauvegarde est donc fortement recommandé quelle que soit l’utilisation d’une base Access.
D’après Microsoft, MS Access supporterait des configurations de 256 postes. Mais en pratique, pour une utilisation confortable, MS Access serait limité à une vingtaine d’utilisateurs simultanés, les échanges réseaux étant 10 à 20 fois plus gourmands en ressources qu’avec Microsoft SQL Server par exemple. En effet chaque application Access aura accès au fichier de données à travers le réseau sans passer par une application serveur qui limite le flux de données au strict nécessaire suivant la requête exécutée. Le confort d’utilisation de MS Access en réseau peut-être considérablement accru quand on utilise judicieusement les requêtes de type Snapshot (lecture seule, modifications ultérieures non visibles) et les requètes de type Dynaset (lecture-écriture) qui sont beaucoup plus gourmandes en ressources réseau. Ces perfectionnements ne permettent pas de dépasser pratiquement une quarantaine d’utilisateurs en simultané.
Il est important de noter que ces caractéristiques conviennent largement à la plupart des petites et moyennes entreprises.
Etat de l’art
Choix généraux
Définition
La désignation open source(code source libre) s’applique aux logiciels dont la licence respecte des critères précisément établis par l’open source Initiative, c’est-à-dire la possibilité de libre redistribution, d’accès au code source et de travaux dérivés. Souvent, un logiciel libre est qualifié d’open source, car les licences compatibles open source englobent les licences libres selon la définition de la FSF.
Le terme open sourceest en concurrence avec le terme « free software» recommandé par la FSF. Le terme « freeware» (gratuiciel) désigne des logiciels gratuits qui ne sont ni nécessairement ouverts, ni libres.
Marché de l’open source
Les logiciels open source s’installent dans les mœurs. Selon IDC (International Data Corporation pour les analyses intelligentes du marché d’IT), le secteur a représenté 1,8 milliard de dollars en 2006. Cette embellie devrait se confirmer dans les prochaines années, avec un chiffre d’affaires estimé à 5,8 milliards de dollars pour 2011, ce qui représente une croissance annuelle d’environ 26%.
Les logiciels libres se mettent au payant
Cette croissance devrait être portée par l’engouement des entreprises pour des logiciels libres commerciaux, moins chers et plus souples à l’utilisation que leurs concurrents propriétaires.
Malgré ces résultats prometteurs, le secteur des OSS est encore loin d’être mûr. Si les systèmes propriétaires – hors services à la demande – sont vendus à la licence, les logiciels libres sont encore souvent proposés selon un système d’abonnement progressif, ou ne sont facturés que sur les seuls services de support. Difficile dans ce contexte de générer des revenus importants…
Pour Matt Lawton, directeur de programme pour l’Open Software Business Models d’IDC, le secteur est encore dans ses « premières phases de développement ».
Les acteurs du marché
Le marché mondial du logiciel open source est dominé par trois acteurs ; le géant IBM – qui a contribué pour plus d’un milliard de dollars au développement et à la promotion du système d’exploitation Linux -, Red Hat et Novell, les deux éditeurs des distributions Linux (Red Hat Linux et Novell Suse Linux) les plus présents sur le marché.
Pour autant, ils sont très loin d’être les seuls, et on assiste à l’arrivée de grands acteurs comme Oracle et SAP.
Les avantages de Linux par rapport à Windows
Voilà les avantages essentielles de linux par rapport à Windows [3] :
1- Aucun virus et « spyware » (fichiers espions) n’affectent les fichiers ou programmes systèmes de manières critiques ou dangereuses. Dans Linux, on n’a pas besoin d’anti-virus ni d’anti-spyware sauf si c’est pour scanner des fichiers sur une partition dans un réseau partagé avec d’autres systèmes d’exploitations Windows. Si les virus et les « spywares » sont si efficaces contre Windows, c’est que ce dernier contient d’énormes trous de sécurité et de faiblesses dans le système qui n’ont jamais été corrigés par Microsoft. Et les virus ou plutôt les « crackers » informatiques (ceux qui conçoivent les virus et spyware) savent comment exploiter ces failles du système. Il existe quelques virus contre Linux (on peut les compter sur les doigts de la main) mais ceux-ci ne sont pas considérés comme dangereux.
2- Existe plusieurs sortes de distributions Linux (plus de 200). Alors, là, il y en a pour tout les goûts. Il y a des distro Linux orientés spécifiquement pour le « multimédia », d’autres orientés « serveurs ou sécurités », orientés « développeurs ou programmeurs », orientés « bureautique », orientés « pour tester », orientés « pour les jeux », orientés pour « l’éducation (établissement scolaire) », orientés « pour scientifiques », etc. En somme, on choisit la distribution qui nous convient le mieux. Beaucoup de distro Linux peuvent englober plusieurs « spécialités » décrites cihaut. Chaque distro a son propre concept de gestion des systèmes, de logiciels ou/et de manières d’utilisations. Les distros les plus populaires à l’heure actuelle sont: Ubuntu, Fedora Core, Mandriva, Debian, Suse, Knoppix et Gentoo. Ils ont chacun leur propre public cible: par exemple, Ubuntu s’adresse à un large public ne connaissant pas ou peu le système Linux tandis que la distribution Gentoo s’adresse à des utilisateurs expérimentés. Chacune des distributions a sa propres communauté de développeurs (concepteurs). Par conséquent, chaque distro a ses propre avantages et inconvénients. Remarque: Linux n’est pas un système lié à une distribution spécifique. Si un problème survient dans une distro, l’erreur en revient à la distro concernée et non à Linux en général.
3- Evolution rapide des distributions les plus connues (en moyenne, une nouvelle version majeure tout les six-sept mois pour les distro les plus populaires !) .
4- En général, pas besoin d’installer des pilotes matériels (sont inclus dans le noyau Linux, le cœur du système) mais cela dépend de la version du noyau et de l’âge du matériel utilisé. Dans la plupart des cas, la détection matériels se fait de manière quasi-parfaite. Ne pas oublier que plus on utilise du matériels récents, plus on devrait utiliser un noyau récent afin d’augmenter les chances de détections et de configurations stables. L’inverse est également vrai pour de vieux ordi, on doit alors utiliser autant que possible un vieux noyau. Mais remarquer que cela n’est pas une règle absolue. À ce propos, nous avons une petite observation à vous faire:
|
Table des matières
Introduction
I Environnement du travail
I.1 Structure de l’ISAE-Cnam Liban
I.1.1 Présentation de l’ISAE-Cnam Liban
I.1.2 Environnement organisationnel
I.1.3 Département SI
I.1.3.1 Emploi actuel
I.1.3.2 Activités et fonctionnalité du département
I.2 Ancien système
I.2.1 Anciens besoins
I.2.2 Ancien système
I.2.2.1 Principales caractéristiques du logiciel
I.3 La problématique
I.4 Nouveaux besoins
II Etat de l’art
II.1 Choix généraux
II.1.1 Pourquoi l’Open Source ?
II.1.1.1 Pourquoi choisir l’Open Source pour l’institut?
II.1.2 Pourquoi le Web?
II.1.2.1 Avantages de l’information sur le Web
II.1.2.2 Inconvénients de l’information sur le Web
II.1.2.3 Avantages et inconvénients d’un site web
II.2 Choix détaillés
II.2.1 Choix du système d’exploitation
II.2.1.1 Les avantages de Linux par rapport à Windows
II.2.1.2 Les inconvénients de Linux par rapport à Windows
II.2.1.3 Conclusion
II.2.1 Choix du langage de programmation
II.2.1.1 Apparition du langage Java
II.2.1.2 Les avantages de Java
II.2.1.3 Caractéristiques
II.2.2 Choix de la technologie Web
II.2.2.1 JSP
II.2.2.2 Autres langages dynamiques
II.2.2.3 Fonctionnement de JSP
II.2.2.4 JSP ou PHP ?
II.2.3 Choix de la base de données
II.2.3.1 Introduction
II.2.3.2 La présentation de JDBC (Java Database Connectivity)
II.2.3.3 Comparaison entre MySQL, PostgreSQL, Ingres, Firebird et Zodb
II.2.3.4 Justification du Choix MySQL à l’institut
III Environnement méthodologique
III.1 Conduite de projet
III.1.1 Besoin de la méthodologie
III.1.2 Évolution des approches de développement
III.1.3 Nécessité d’une méthode de développement
III.1.4 La méthode 2TUP
III.1.4.1 Définition d’un processus de développement logiciel
III.1.4.2 Le processus unifié
III.1.4.3 Le processus 2TUP adopté à l’institut
III.1.4.4 Un processus de modélisation avec UML
III.2 Programmation Orienté Objet (POO)
III.2.1 Définition
III.2.2 Historique
III.2.3 Modélisation objet
III.3 Limitations de la programmation orienté objet
III.4 Programmation Orientée Composant (POC)
III.4.1 Introduction
III.4.2 Définition
III.4.3 Structure d’un composant
III.4.4 Niveaux d’abstraction du POC
III.4.5 Les avantages à utiliser la POC
III.4.6 Conclusion
IV Analyse et conception
IV.1 Introduction
IV.2 Analyse
IV.2.1 Analyse de l’existant
IV.2.2 Conserver les bases du statut
IV.2.3 Intégrer des nouvelles notions
IV.2.4 Résoudre les anciennes fautes
IV.2.5 Problèmes rencontrés
IV. 3 Conception
IV.3.1 Architecture fonctionnelle du SI
IV.3 .1 .1 Diagramme de contexte (boîte noire)
IV. 3 .1 .2 Diagramme de contexte avec sous système fonctionnels (boîte blanche)
IV.3 .2 Les services à réaliser
IV. 3 .3 Graphe de flux de l’inscription
IV.3.4 Cas d’utilisation de l’inscription
V Développement réalisé
V.1 Lancement du développement
V.2 Développement de la base de données
V.2.1 Préparations des serveurs SGBD
V.2.2 Création de la base de données
V.2.2.1 Modélisation
V.2.2.2 Moteurs de stockage
V.2.2.3 Créations des tables et des relations
V.2.3 Contrôle d’accès aux données
V.2.4 Bases de données distribuées
V.3 Développement Web
V.3.1 Introduction
V.3.2 Architectures
V.3.3 Les librairies
V.3.4 Utilisation d’AJAX
V.3.4.1 Définition
V.3.4.2 Implémentation au SI de l’ISAE-Cnam
V.3.5 Déploiement
V.3.5 .1 Choix du serveur d’application
V.3.5 .2 Importance du déploiement
V.4 Développement des composants
V.4.1 Du concept au développement
V.4.2 Avantage pratique
V.4.3 Architectures composants implémentées à l’institut
V.4.4 Source d’informations des composants
VI Sécurité
VI.1 Introduction
VI.2 Sécurité des applications Web
VI.3 La sécurité des communications
VI.3.1 SSH
VII Les fonctionnalités principales du produit
VII.1 Introduction
VII.2 Description globale
VII.2 .1 Les Modules
VII.2.2 Première version
VII.2.3 Deuxième version
VII.3 Description détaillée
VII.3.1 Module SI Étudiants
VII.3.1.1 Description du module « préinscription/inscription »
VII.3.1.2 Description du module « Horaire des Etudes »
VII.3.2 Module SI Enseignants
VII.3.3 Contribution personnelle
VIII Développement des rapports
VIII.1 Recherche d’un outil des rapports
VIII.2 Architecture du « Jasper Report »
VIII.3 « IReport» ( Designer )
VIII.4 Les fichiers
VIII.5 Intégration « Jasper » avec Web/MVC
IX Bilan du projet
IX.1 État d’avancement
IX.2 Problèmes rencontrés
IX.2.1 Problèmes fonctionnels
IX.2.2 Problèmes techniques
IX.2.3 Temps de développement
IX.2.4 Amélioration possible
Conclusion
Bibliographie
Table des annexes
Annexe 1 Servlet – Application « sécurité sociale »
Annexe 2 Classe « UtilFunctions »
Annexe 3 Filter –Application « HoraireIsaeTC »
Liste des figures
Liste des tableaux
Télécharger le rapport complet