Armand PY-PATINEC 2010
EPREUVE PRATIQUE : TABLEAU SYNOPTIQUE Activités Inventaire de bières et de leur lieu de fabrication Gestion des clients pour un programme de facturation Emploi du ruban de l interface de la suite bureautique Office 2007 dans une application de gestion de budget personnel Module de gestion des pages WEB avec gestion des droits d accès et chargement d images Produire et développer C31 C32 C33 C34 C35 C36 C37 C38 C39 Logiciels et matériels utilisés X X X X X X Delphi et SQL Server X X X X X X X C# et base Access X X X C# (application WPF) X X X X X X X X X Site de ressources pédagogique X X X X X X X PHP (framework CakePHP) et MySql Hébergement chez OVH.com C#.Net Hébergement sur serveur personnel Liste des compétences C31 : Gérer un projet de développement de logiciel C32 : Développer à l aide d un langage de programmation procédurale C33 : Maquetter une application, la développer à l aide d un langage de programmation événementielle C34 : Développer à l aide d un langage de programmation à objets C35 : Développer autour d une base de données relationnelles C36 : Développer dans le cadre d une architecture clientserveur C37 : Mettre au point et maintenir une application C38 : Développer dans un environnement multimédia C39 : Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 1
Compte-rendu d activité n 1 Descriptif de l activité: Développement d une application du type client-serveur pour inventorier des bières et les brasseries les produisant. Contexte de l activité: Origine: Travaux pratiques Matériels: Serveur de bases de données PC portable lieu: lycée durée: 25 heures année de réalisation: 2 ème date de réalisation: septembre et octobre 2009 Logiciels utilisés: travail individuel SQL Server 2000 puis 2008 Liaison ODBC Delphi 6 Compétences: C31 C32 C33 C34 C35 C36 C37 C38 C39 Gérer un projet de développement de logiciel Développer à l aide d un langage procédural Maquetter une application, la développer à l aide d un langage événementiel Développer à l aide d un langage de programmation à objets Développer autour d une base de données relationnelle Développer dans le cadre d une architecture client-serveur Mettre au point et maintenir une application Développer dans un environnement multimédia Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 2
L abus d alcool est dangereux pour la santé, à consommer avec modération. Préférez la Présentation à consommer sans modération La base qui mousse est une activité de découverte et d apprentissage du développement d application de type client-serveur. Cette base permet de répertorier différentes bières existantes ainsi que les brasseries les produisant, et quelques diverses informations selon le Modèle Conceptuel des Données suivant : TY PE NroType NomTy pe Description Fermentation Commentaire classer 1,n 1,1 PAY S NomPays Consommation Product ion 0,n BIERE Version CouleurBière TauxAlcool Caractéristiques appartenir décliner (1,1) 0,n MARQUE NomMarque REGION situer NomRégion 1,1 0,n 1,1 1,1 brasser 1,n BRASSERIE CodeBrasserie NomBrasserie Ville Aspects techniques Le Modèle Physique des Données fut implanté sur le Système de Gestion de Bases de Données Relationnelles Microsoft SQL Server 2000 puis migré vers la version 2008. Le développement fut réalisé sous l Environnement de Développement Intégré Delphi 6. Fonctionnalités Listage, ajout, modification et suppression d une bière Listage, ajout, modification et suppression d une marque Listage, ajout, modification et suppression d un type de bière Listage, ajout, modification et suppression d une brasserie Armand PY-PATINEC Page 3
Compte-rendu d activité n 2 Descriptif de l activité: Développement du module de gestion des clients d un programme de facturation pour la société English Time basée à Toul. Contexte de l activité: Origine: Action professionnelle lieu: entreprise durée: 25 heures année de réalisation: 2 ème date de réalisation: Décembre 2009 puis reprise en mai 2010 travail individuel Matériels: Logiciels utilisés: PC portable Visual Studio 2008 et 2010 Access 2007/2010 Liaison ODBC Compétences: C31 C32 C33 C34 C35 C36 C37 C38 C39 Gérer un projet de développement de logiciel Développer à l aide d un langage procédural Maquetter une application, la développer à l aide d un langage événementiel Développer à l aide d un langage de programmation à objets Développer autour d une base de données relationnelle Développer dans le cadre d une architecture client-serveur Mettre au point et maintenir une application Développer dans un environnement multimédia Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 4
Présentation La société English Time, organisme de formation à la langue anglaise, souhaite disposer d un logiciel de facturation propre à son activité. Il fut décidé de commencer par centraliser les informations sur les clients dans une base de données hébergée sur le NAS de l entreprise. La base Access (extrait) Le développement L application principale ainsi que ses différents modules sont développés sous l EDI Visual Studio 2008, puis 2010, en C#. L application L application principale se compose de plusieurs modules que l on peut apercevoir ci-dessous : Armand PY-PATINEC Page 5
Depuis l accueil de l application principale, on peut directement accéder à la liste des clients et au formulaire de saisi. La liste des clients peut être exportée dans les formats Excel (.xls et.csv) et XML, pour réaliser des listes de diffusion, par exemple. Armand PY-PATINEC Page 6
Compte-rendu d activité n 3 Descriptif de l activité: Activité de recherche et de découverte sur l emploi du ruban de l interface de la suite bureautique Office 2007. Contexte de l activité: Origine: Action professionnelle Autre : curiosité personnelle Matériels: lieu: lycée durée: 30 heures année de réalisation: 2 ème date de réalisation: Novembre 2009 et avril 2010 travail individuel Logiciels utilisés: Ordinateur portable Visual Studio 2008 et 2010 Compétences: C31 C32 C33 C34 C35 C36 C37 C38 C39 Gérer un projet de développement de logiciel Développer à l aide d un langage procédural Maquetter une application, la développer à l aide d un langage événementiel Développer à l aide d un langage de programmation à objets Développer autour d une base de données relationnelle Développer dans le cadre d une architecture client-serveur Mettre au point et maintenir une application Développer dans un environnement multimédia Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 7
Présentation Cette activité a pour but la découverte puis l intégration du composant graphique «ruban» dans une application en vue de remplacer les traditionnels menus déroulants et barres d outils. L intérêt de cette activité est de parvenir à améliorer l ergonomie de mes futures applications en tirant parti des ressources proposées aux développeurs par Microsoft. Le ruban Introduit avec Office 2007, le ruban remplace désormais les menus déroulants et les barres d outils dans les derniers logiciels de Microsoft. Il fonctionne sous le principe d onglets thématiques regroupant les commandes qui s y rapportent. Couplé à l emploi massif de larges icônes, l utilisation est ainsi beaucoup plus intuitive qu auparavant. Windows 7 intègre en natif l API (interface de programmation) gérant le composant ruban et pour les anciennes versions de Windows (à partir de Windows 2000), Microsoft propose une mise à jour pour que les applications tirant profit de ce composant puissent fonctionner. Les prérequis pour un développement utilisant le ruban Microsoft a déployé une stratégie bien définie pour développer une application utilisant le ruban en ne proposant que deux concepts de développement : Windows Presentation Foundation : l application utilisera le langage XAMP (dérivé de l XML) pour l interface et la programmation pourra se faire en VB, C, C++ ou C#. Microsoft Foundation Class (bibliothèque de classes encapsulant l'api Win32) : l application sera codée exclusivement en C++ Dans tous les cas, il faudra disposer au minimum du framework.net 3.5 et de l Environnement de Développement Intégré Visual Studio pour tirer au mieux parti de la richesse de l API. Il est possible de développer sous Visual Studio 2005 mais Microsoft recommande tout de même Visual Studio 2008 SP1, ou mieux encore Visual Studio 2010. Toutefois, seul Visual Studio 2010 dispose en natif du Armand PY-PATINEC Page 8
composant ruban, dans les versions antérieures de Visual Studio il faudra télécharger le fichier librairie DLL du ruban, puis l intégrer dans le projet de l application en tant que référence externe. Développement d une application utilisant le ruban Reprenant l idée et les bases d un des exemples fournis par Microsoft, j ai entrepris de réaliser un gestionnaire de budget personnel. Celui-ci se base sur le concept WPF et est développé en C#. Pour cela j ai utilisé Visual Studio 2008 puis Visual Studio 2010 lorsque celui fut disponible. Par ailleurs, j ai également essayé de développer la même application avec le concept MFC, cela est plus facile grâce à l assistant de création et à l intégration des composants graphiques du ruban au sein de la boîte à outils de Visual Studio mais oblige la programmation en C++, langage dont j ai des notions très réduites. Armand PY-PATINEC Page 9
Compte-rendu d activité n 4 Descriptif de l activité: Cette activité a pour but de réaliser un outil de mise à jour dynamique des pages d un site internet qui présentent le judo club d Ecrouves. Contexte de l activité: Origine: Autre: prise de participation dans une association Matériels: Ordinateur portable Hébergement offre Pro chez OVH.com (serveur Apache et MySQL) lieu: lycée durée: 6 heures année de réalisation: 2 ème date de réalisation: Mars 2010 Logiciels utilisés: Eclipse PDT FileZilla Adobe Dreamweaver Adobe Fireworks Adobe Flash AnalyseSI travail individuel Compétences: C31 C32 C33 C34 C35 C36 C37 C38 C39 Gérer un projet de développement de logiciel Développer à l aide d un langage procédural Maquetter une application, la développer à l aide d un langage événementiel Développer à l aide d un langage de programmation à objets Développer autour d une base de données relationnelle Développer dans le cadre d une architecture client-serveur Mettre au point et maintenir une application Développer dans un environnement multimédia Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 10
Le contexte Le Judo Club d Ecrouves, régi par la loi 1901 sur les associations, souhaite disposer d un site internet pour communiquer avec ses adhérents. Leur nombre étant en progression chaque année, il devient primordial pour le bureau de pouvoir faire circuler les informations plus facilement avec la centaine d adhérents que compte le club. Le club propose de multiples activités sportives, certaines liées directement aux sports de combat (Judo, Jujitsu, Rapid Defense System) et d autres plus liées à la remise en forme et à l entretien du corps (Step, Body Sculpt, Aerodance). Présentation de l activité Cette activité a pour but de fournir aux membres du bureau un outil pour mettre à jour dynamiquement les pages du site internet qui présentent le club. Les contraintes D une part, l outil devra être disponible depuis l interface administration après identification, seul le webmestre et le bureau pourront y accéder, et le webmestre devra pouvoir empêcher la modification et la suppression de certaines pages par les utilisateurs (celles apparaissant dans le menu par exemple) par le biais d un système de droit d accès. D autre part, l outil devra fournir une interface graphique intuitive pour la mise en page des pages WEB du site et intégrer les pages importantes dans le menu Flash du site. Aspects techniques 1) Technologies employées Le framework CakePHP 1.2.6 (programmation en PHP orientée objet) a été retenu par moimême, à la suite de sa découverte durant mon stage de second d année, pour l emploi du concept Modèles Vues Contrôleurs ainsi que pour la rapidité de développement qu il offre. D autres technologies WEB ont été employées telles que le langage script client Javascript et les feuilles de style CSS. 2) Modèle Conceptuel des Données, SGBDR et hébergement A l issue de la phase d analyse et de conception, j obtiens le MCD suivant : Armand PY-PATINEC Page 11
Ce MCD me permet de stocker les pages et de gérer les permissions de modification et de suppression en fonction du profil de l utilisateur. Le site étant hébergé chez OVH, le modèle physique qui découle de ce MCD a été implémenté au sein du SGBDR MySql. Concernant le serveur WEB, il s agit d un serveur Apache. Fonctionnalités Après identification, l utilisateur a accès en fonction de son profil, à la liste des pages, à l ajout, à la modification et à la suppression des pages. L emploi du composant CKeditor permet de fournir une interface graphique de type WYSIWYG à l utilisateur et le composant CKfinder offre le chargement et la gestion de fichiers sur le serveur (ici, exemple d une image chargée depuis CKfinder). Grâce aux nombreuses possibilités de configuration de ces deux composants, il m a été possible d améliorer l ergonomie de l outil. Enfin, l usage d une animation Flash pour la navigation, a nécessité le développement d un sitemap (plan de site ; accessible depuis le pied de page) pour naviguer sur les pages inaccessibles depuis le menu principal. Gestion des permissions d accès Les profils d utilisateur ont été hiérarchisés de la manière suivante : 1. administrateur 2. membre du bureau 3. membre du comité 4. adhérent lambda. Lors du listage des pages, une comparaison est effectuée entre les identifiants des profils pour la modification et la suppression, et l identifiant du profil du membre. En fonction du résultat, le lien vers les actions est affiché ou non. De plus, une vérification supplémentaire est effectuée avant la réalisation des actions de modification ou de suppression. Seul un administrateur peut modifier les permissions sur les pages. Armand PY-PATINEC Page 12
Compte-rendu d activité n 5 Descriptif de l activité: Création d un début de base de données pédagogique (partage de ressources pédagogiques), architecturée autour des technologies Microsoft (Windows Server, IIS 7.5, C#.NET, SQL Server). Contexte de l activité: Origine: Action professionnelle Matériels: Serveur WEB et de BDD, PC de bureau en configuration double écrans, PC Portable lieu: lycée durée: 30 heures année de réalisation: 2 ème date de réalisation: Décembre 2009 et mai 2010 Logiciels utilisés: travail individuel Windows Server 2008 R2 et IIS 7.5 SQL Server 2008 Entreprise Visual Studio 2008 et 2010 Opera 10.53, IE 8, Firefox 3 Liaison ODBC AnalyseSI Compétences: C31 C32 C33 C34 C35 C36 C37 C38 C39 Gérer un projet de développement de logiciel Développer à l aide d un langage procédural Maquetter une application, la développer à l aide d un langage événementiel Développer à l aide d un langage de programmation à objets Développer autour d une base de données relationnelle Développer dans le cadre d une architecture client-serveur Mettre au point et maintenir une application Développer dans un environnement multimédia Maîtriser le poste de développement et son environnement Armand PY-PATINEC Page 13
Présentation Suite à la demande (fictive) du chef des travaux du Lycée Frédéric Chopin de Nancy, le développement d une application WWW permettant la gestion des ressources pédagogiques des formations BAC et post-bac fut initié. Aspects techniques L environnement de fonctionnement L application est hébergée sur un serveur WEB IIS 7.5 et architecturée autour d une base de données gérée par SQL Server 2008 Entreprise. L installation et le paramétrage du système d exploitation serveur, du serveur WEB et du SGBDR a été réalisé par moi-même afin d apprendre leur mise en place. Le Modèle Conceptuel des Données Il doit prendre en compte les caractéristiques d une ressource (type et matière concernée), permettre de savoir qui l a ajoutée et de connaitre le type de formation (BAC ou BTS) et la formation(es, GSI, IG) auquel elle appartient. Il doit permettre également de retrouver le répertoire de stockage des ressources WEB (attributs : «dossier» de Formation et «cheminacces» de Ressources). Exemple du référentiel du BTS IG : racine/documents/bts/ig/ 1_Referentiel_BTS_IG.pdf BTS/IG/ 1_ Referentiel_BTS_ IG.pdf Armand PY-PATINEC Page 14
Développement Le développement s est fait à l aide du langage C#.Net et de l Environnement de Développement Intégré Visual Studio 2008 puis 2010. Pour faciliter l édition des fiches descriptives des ressources, j ai intégré le composant CKeditor (interface WYSIWYG). A noter, l emploi de de la librairie Javascript Jquery pour l implémentation d un «slider» à la place de Flash, et d une feuille de style CSS. Point fort de cette application : Interface WEB 2.0 pour offrir une meilleure expérience utilisateur Navigation intuitive par catégorie et par formation Intégration du composant CKeditor pour une édition ergonomique des fiches descriptives des ressources Lien ODBC vers le SGBDR pour une migration aisée de la BDD vers un autre serveur ou SGBDR Protection contre les attaques de type injection SQL Stockage organisé des ressources Armand PY-PATINEC Page 15