Khaled BEN DRISS
 Consultant/formateur

  Ingénieur de l'Ecole
                                 JIP'2006
    Centrale de L...
Professional
                                   Open
                                   Source
   NetProgress est une SSLL...
Khaled BEN DRISS
                 Consultant / Formateur J2EE

        Ingénieur de l'Ecole Centrale de Lyon
        Docte...
Objectifs

                                   •Présenter des outils
                                   de développement,
 ...
Outils & processus
     Les outils de développement doivent être inscrits
     dans le cadre d'un processus de développeme...
Un Processus ?
     Définit Qui fait Quoi, Quand le faire, et Comment
     atteindre un objectif.


                      ...
quot;Axes à outillerquot;
                                                                   Gestion de
                  ...
Logiciel libre : une définition
                      simplifiée
     Tout logiciel dont le code source est disponible
   ...
Les logiciels libres = quatre principes
                                Le logiciel libre garantit 4 libertés

      Liber...
Axe : Développement
                                                                   Gestion de
                        ...
IDE : Integrated Development
                    Environement
     Produire du code, déboguer, …
                         ...
Exemple : Eclipse
     Le Numéro 1 des IDE open source (code original de
     chez IBM)
     Codage
     Débugage
     Ref...
Exemple : netBeans de Sun
     Le chalenger, IDE open source pour
     Java/J2EE de chez SUN

     Codage
     Débugage
  ...
Modélisation : Manipuler des
                digrammes UML
     Produire des diagrammes
                                  ...
Exemple : Umbrello UML Modeller

     Pour Linux
     KDE




Khaled.bendriss@oxia-group.com   Outils de développement et ...
Exemple : Fujaba Tool Suite -UML




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   J...
Exemple : ArgoUML




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Manipulation de base de données
     Très utile pour découvrir les
     schémas des SGBD                                  ...
TORA : Toolkit libre pour Oracle de
 chez Quest Software




                                                             ...
SQuirreL : manipuler schémas & Sql




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres  ...
Manipulation de LDAP
     Très utile pour découvrir les                              LDAP Browser/Editor
     données dans...
Besoin particulier web : Manipulation HTML
     Nvu est la refonte du module d'édition HTML
                              ...
Contrôle et Gestion de version
     Suivre les versions des
     codes sources, …                                         ...
Exemple : CVS
     http://www.cvshome.org/
     UN MUST
     Disponible pour presque tous les OS.
     Utilisé partout dan...
CVS & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
CVS & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
CVS & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
ViewCVS




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
WinCVS
              Gérer vos fichiers dans CVS indépendamment
                                  de l'IDE




Khaled.bend...
Intégration continue & quot;Buildquot;
     Automatiser les                                        Ant (J2EE)
     opérati...
Exemple : Ant
     Dans le monde Java, ANT est l’outil incontournable
     pour automatiser des traitements répétitifs en ...
Exemple : Ant




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Ant & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
Ant & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
Exemple : Maven
     Le challenger, l'outil qui avance …
     quot;On parlequot; même du quot;remplacent de ANTquot;




K...
Exemple : CruiseControl
      Outil d’intégration continue (chère aux adeptes d'XP).
      Se base sur Ant.
      une vers...
Génération de codes
     Très utile pour automatiser
     la génération de code usuel
     Impose de fixer l'architecture ...
Exemple : AndroMDA
   Génération
   d'application à partir
   d'un modèle UML
   (principe de MDA)
   Les cartouches de
  ...
Exemple : JAG
    Java Application Generator




Khaled.bendriss@oxia-group.com   Outils de développement et environnement...
Outil de reporting
     Réaliser des rapports et les
     publier dans projets Web                                        ...
Exemple : JasperReports

     Outil de reporting Java : numéro 1




Khaled.bendriss@oxia-group.com   Outils de développem...
Exemple : JFreeChart
     Génération de graphes




Khaled.bendriss@oxia-group.com   Outils de développement et environnem...
Contrôle de qualité de code
     Fixer un standard                                           CheckStyle
     de codage
   ...
Exemple : CheckStyle dans Eclipse !!




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
Exemple : CheckStyle dans Eclipse !!




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
Exemple : CheckStyle dans Eclipse !!




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres...
Installateurs
     Créer une installation
     automatisée                                            IzPack
     Assiste ...
Exemple : IzPack




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Axe : Test, tuning et suivi des bugs
                                                                   Gestion de
       ...
Test Unitaire
                                                                        Junit
                              ...
Exemple : Junit

    Origine
    – framework de test écrit en Java par E. Gamma et
      K. Beck (2 des Gof)
    – open so...
Exemple de code avec Junit
    public class Jip2006Test extends TestCase {
        ClasseMetier classeAtester ;
        pr...
Junit & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libr...
Junit & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libr...
Junit & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libr...
Junit & Eclipse : intégration parfaite




     Le squelette de la classe de test est généré par Eclipse,
      – à vous d...
Junit & Ant & Eclipse : intégration parfaite




Khaled.bendriss@oxia-group.com   Outils de développement et environnement...
Junit : Exemple de résultat




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'20...
Junit : Exemple de résultat




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'20...
WSUnit - The Web Services Testing Tool
   Et oui, même les Web Services doivent être testés
   automatiquement




Khaled....
Test de charge (Load testing)
                                                                        JMeter
    Tester la...
Jmeter de Apache




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
JCrawler



        Donner à cet outil un ensemble d'URLs, un
        objectif de charge (hits/sec) et il va se lancer
   ...
Test de conformité du site
   MaxQ enregistre votre utilisation d'un site web, il traduit les
   liens et les entrées en u...
Test d'intégration & Suivi des bugs
                                           Bugzilla,
                                 ...
Exemple : BugZilla
       Le plus célèbre




   Cycle de vie d'un
   bug dans Bugzilla,
   est ce que c'est
   suffisant ...
Exemple : iTracker

                                    itracker est développé en J2EE




Khaled.bendriss@oxia-group.com ...
Profiling
                                                                       Eclipse Profiler
     Instrumentation Byt...
Exemple : Eclipse Profiler




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Cougaar Profiler




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
JMemProf




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Axe : Gestion de projet
                                                                   Gestion de
                    ...
Planning
    Solutions de gestion de
    planning
                                                                  Gantt ...
Planning
    Solutions de gestion de
    planning
                                                                  Gantt ...
Exemple : Gantt Project
     Gantt Project est une solution de gestion de projets
     très prometteuse. Développé en Java...
Exemple : Gantt Project




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Exemple : Open Workbench
     Open Workbench est une solution de gestion de
     projets visant à directement concurrencer...
Suivi des projets
    Solutions de suivi de projet
     – dotProject: bon outil pour la
                                  ...
Exemple : Xplanner




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Exemple : Xplanner




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Communication entre les membres
d'une équipe
                                                                 Wiki (MoinMo...
Wiki : pour créer la documentation en
mode groups




Khaled.bendriss@oxia-group.com   Outils de développement et environn...
Wiki : les outils gèrent même les versions




Khaled.bendriss@oxia-group.com   Outils de développement et environnements ...
Axe : Frameworks techniques (en bref)
                                                                   Gestion de
      ...
Framework : définition !!

  • Un framework est un ensemble de classes et
    de collaborations entre les instances de ces...
Framework Web
                                                                          Struts
     MVC
                  ...
Framework de persitance
                                                                          Hibernate
     Mapping O...
Framework de sécurité
                                                                     Acegi for Spring
     Simplifie...
Axe : Environnement libres
                                                                   Gestion de
                 ...
Systèmes d’exploitation libres
   Systèmes dérivés d’Unix BSD
     NetBSD         OpenBSD         FreeBSD                 ...
Service réseau: web
Le serveur Apache
    Evolution du serveur web originel (a patchy server)
    Serveur web le plus util...
Service réseau: Messagerie
 Les serveurs de messagerie
 Postfix
  Licence: IBM Public Licence
  Caractéristiques: légèreté...
Service réseau : LDAP
 OpenLDAP
     Fonctionnalités d’annuaire, gestion hiérarchisées des habilitations
     Support des ...
Les serveurs d’application Java EE
 Tomcat
   Licence: Apache
   Caractéristiques: projet Jakarta, moteur de servlets
   D...
Autres types de Serveurs d’application
  Zope
    Licence: GPL
    Caractéristiques: Serveur d’application python
    Déve...
Sécurité: SSL/TLS
    Bibliothèque de chiffrement
    Base de nombreux services ou outils: Apache-SSL, OpenSSH, OpenLDAP,
...
Sécurité : PKI
 IDX-PKI
      Implémentation d’une infrastructure à clé publique conforme aux
      recommandations PKIX d...
Bases de données
PostgreSQL
    Base de données Open Source la plus accomplie. Représente 15 années de
    développement
 ...
Portail J2EE
       Liferay                               Cocoon Portal
       Jetspeed                              eXo
 ...
Liferay

 •le numéro 1
 des portails
 J2EE
 compatible
 JSR168




Khaled.bendriss@oxia-group.com   Outils de développemen...
Cocoon Portal




Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Clusters
  OpenMosix
      Extension du noyau Linux ajoutant des fonctionnalités de clustering (type
      load balancing)...
Systèmes embarqués et temps réels
  L’utilisation de composants OpenSource se généralise dans le
  monde des systèmes emba...
Autres outils Libres à utiliser dans un processus
                       de développement




Khaled.bendriss@oxia-group.c...
Les logiciels dédiés au poste de travail
              BUREAUTIQUE
             Traitement de texte
                   Tab...
Logiciel libre : Rédiger vos spécifications
   fonctionelles avec openOffice!




Khaled.bendriss@oxia-group.com   Outils ...
Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
OpenOffice.org 2.0
        un traitement de texte (Writer)
        un tableur (Calc)
        un logiciel de présentation (...
Khaled.bendriss@oxia-group.com   Outils de développement et environnements libres   JIP'2006
Gestion du courrier électronique
     Thunderbird : mailer de Mozilla Firefox




                                        ...
Retouche d’images The GIMP




     http://www.01net.com/telecharger/windows/Multimedia/creation_graphique/fiches/5245.htm...
Retouche d’image PhotoFiltre


                                                                         Simple
           ...
conclusion
     Beaucoup d'outils,
     Manque d'intégration (pour le moment)
     L'utilisation d'un outil doit être insc...
Les annuaires de logiciels libres


   3 annuaires incontournables

                      •http://helioss.logiciellibre.ne...
Merci

   Khaled BEN DRISS
   Architecte de Système d'Information
   NetProgress
   GSM : (216) 98 33 46 17
   Tél : (216)...
Upcoming SlideShare
Loading in...5
×

Outils De Dev Open Source 11

4,294

Published on

Outils de
développement
et environnements
libres

Published in: Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,294
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
179
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Outils De Dev Open Source 11

  1. 1. Khaled BEN DRISS Consultant/formateur Ingénieur de l'Ecole JIP'2006 Centrale de Lyon Docteur de l’Université Paris VI (Pierre et Marie Outils de Curie) développement et environnements libres Khaled.bendriss@oxia-group.com
  2. 2. Professional Open Source NetProgress est une SSLL qui maîtrise la fourniture autour des progiciels libres : - Architecture - Services liés d’installation & paramétrage, - Formation, - Évolution & maintenance, - jusqu’à la réalisation de développements complémentaires sur mesure. NetProgress est spécialisée dans les technologies J2EE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  3. 3. Khaled BEN DRISS Consultant / Formateur J2EE Ingénieur de l'Ecole Centrale de Lyon Docteur de l'Université Paris 6 Ancien Maître Assistant à l'EPT Fondateur NetProgress Architecte de Système d'Information Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  4. 4. Objectifs •Présenter des outils de développement, issu du monde open source, qui pourraient vous aider à augmenter votre productivité Khaled.bendriss@net-progress.net
  5. 5. Outils & processus Les outils de développement doivent être inscrits dans le cadre d'un processus de développement Il ne s'agit pas seulement des outils de quot;traitement de codequot; et compilation Les outils servent à – pour produire des logiciels de meilleur qualité – à maîtriser le processus de développement – à mieux communiquer au sein d'une équipe de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  6. 6. Un Processus ? Définit Qui fait Quoi, Quand le faire, et Comment atteindre un objectif. système nouveau Besoin Nouveau Processus d'ingénierie logicielle ou mise à jour Ou un changement Et aussi, un processus de développement doit préciser, – avec quoi ? (quel outil utiliser) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  7. 7. quot;Axes à outillerquot; Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  8. 8. Logiciel libre : une définition simplifiée Tout logiciel dont le code source est disponible pour les utilisateurs, qui peuvent l'étudier, le modifier, l'exécuter et le redistribuer librement il s'agit de solutions logicielles génériques (au sens du terme utilisé dans le secteur médical) Rappel : Un Logiciel = Une licence – Pour le Libre : GPL, BSD, MPL,… Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  9. 9. Les logiciels libres = quatre principes Le logiciel libre garantit 4 libertés Liberté d'exécuter Liberté d'examiner le Liberté de redistribuer Liberté de un programme pour fonctionnement des copies du modifier le tous les usages interne du programme programme, programme et de (privés ou et de le modifier commercialement ou non redistribuer commerciaux) L'utilisateur n'a L'utilisateur L'utilisateur peut L'utilisateur peut pas de dispose du code distribuer des copies améliorer le permission à source, et non du programme programme et en demander pour pas seulement gratuitement ou en redistribuer une utiliser le d'un exécutable les faisant payer nouvelle version programme En rupture avec les logiciels propriétaires Le code source La distribution non Le créateur d'un L'utilisateur n'est n'est plus autorisée n'est plus logiciel n'a pas le pas obligé de confidentiel un délit monopole de son payer une licence amélioration d'utilisation Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  10. 10. Axe : Développement Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test, tuning et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  11. 11. IDE : Integrated Development Environement Produire du code, déboguer, … Eclipse Le logiciel libre a consolidé sa NetBeans position dans ce domaine Jedit Eclipse est le quot;Linux des IDEquot; un concurrent de taille. 2006 : Borland envisage d'abandonner ses IDEs et cherche un repreneur pour jbuilder L'IDE d'IBM pour WebSphere est basé sur Eclipse (WSAD 5 basé sur Eclipse 2 et RAD 6 sur Eclipse 3) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  12. 12. Exemple : Eclipse Le Numéro 1 des IDE open source (code original de chez IBM) Codage Débugage Refactoring Packaging Versioning … Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  13. 13. Exemple : netBeans de Sun Le chalenger, IDE open source pour Java/J2EE de chez SUN Codage Débugage Refactoring Packaging Versioning Profiling … Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  14. 14. Modélisation : Manipuler des digrammes UML Produire des diagrammes Omondo EclipseUML UML argoUML Important dans un process Poseidon de développement ! Fujaba Umbrello UML Modeller Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  15. 15. Exemple : Umbrello UML Modeller Pour Linux KDE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  16. 16. Exemple : Fujaba Tool Suite -UML Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  17. 17. Exemple : ArgoUML Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  18. 18. Manipulation de base de données Très utile pour découvrir les schémas des SGBD SQuirreL Eclipse plugins Manipuler les structures des SGBD TORA Tester les requêtes SQL Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  19. 19. TORA : Toolkit libre pour Oracle de chez Quest Software http://tora.sourceforge.net/ http://tora.sourceforge.net/ Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  20. 20. SQuirreL : manipuler schémas & Sql Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  21. 21. Manipulation de LDAP Très utile pour découvrir les LDAP Browser/Editor données dans un LDAP Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  22. 22. Besoin particulier web : Manipulation HTML Nvu est la refonte du module d'édition HTML NVU de Mozilla, il utilise le langage d'interface utilisateur multi-plateformes XUL. Concurent sérieux de DreamWeaver Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  23. 23. Contrôle et Gestion de version Suivre les versions des codes sources, … CVS & CvsNT Organiser les contributions Subversion des groupes sur un même ViewCVS projet WinCvs Suivre plusieurs versions TortoiseCVS d'une même application : – Exemple : version 1.0.3 installé chez le client et version 2.0.0 en bêta Test … Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  24. 24. Exemple : CVS http://www.cvshome.org/ UN MUST Disponible pour presque tous les OS. Utilisé partout dans le monde. Intégré dans la plupart des EDI Version windows : cvsNT Si vous êtes nouveau : étudier l'apport du nouvel outil Subversion (le challenger), quot;on pensequot; qu'il va remplacer CVS … Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  25. 25. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  26. 26. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  27. 27. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  28. 28. ViewCVS Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  29. 29. WinCVS Gérer vos fichiers dans CVS indépendamment de l'IDE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  30. 30. Intégration continue & quot;Buildquot; Automatiser les Ant (J2EE) opérations de Nant (.Net) compilation, de Maven packaging, de test de non régression, de déploiement , de Anthill création CruiseControl d'installation,… Luntbuild Draco.NET (.net) Construction en continue Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  31. 31. Exemple : Ant Dans le monde Java, ANT est l’outil incontournable pour automatiser des traitements répétitifs en mode batch : outil de build automatique. Il possède tous les atouts propres aux standards : – simple, – bâti sur des technologies ouvertes (Java et XML), extensible, – et supporté par des acteurs stratégiques (dont IBM, SUN et BEA pour les sociétés commerciales, mais aussi la grande majorité de la communauté Java OpenSource Eclipse …). Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  32. 32. Exemple : Ant Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  33. 33. Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  34. 34. Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  35. 35. Exemple : Maven Le challenger, l'outil qui avance … quot;On parlequot; même du quot;remplacent de ANTquot; Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  36. 36. Exemple : CruiseControl Outil d’intégration continue (chère aux adeptes d'XP). Se base sur Ant. une version pour .Net existe Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  37. 37. Génération de codes Très utile pour automatiser la génération de code usuel Impose de fixer l'architecture AndroMDA de l'application à développer openMDX et déterminer le code à JAG générer openXavia La tendance : exploiter une Xdoclet approche basée sur MDA Middlegen openMDX Visitez JunoMDA (php) – http://www.codegeneration.net Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  38. 38. Exemple : AndroMDA Génération d'application à partir d'un modèle UML (principe de MDA) Les cartouches de génération existantes sont dédiées à J2EE, d'autres type de code est possible Exploite Maven Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  39. 39. Exemple : JAG Java Application Generator Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  40. 40. Outil de reporting Réaliser des rapports et les publier dans projets Web JasperReports BIRT (eclipse) Datavision JFreeReport JFreeChart Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  41. 41. Exemple : JasperReports Outil de reporting Java : numéro 1 Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  42. 42. Exemple : JFreeChart Génération de graphes Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  43. 43. Contrôle de qualité de code Fixer un standard CheckStyle de codage PMD Automatiser les Hammurapi opérations contrôle et de revue de code … Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  44. 44. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  45. 45. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  46. 46. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  47. 47. Installateurs Créer une installation automatisée IzPack Assiste le processus Packlet d'installation et désinstallation, ses outils VAInstall n'existe pas par défaut dans les IDE JAVA Se base souvent sur un script ANT … Crée des Jar Exécutable Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  48. 48. Exemple : IzPack Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  49. 49. Axe : Test, tuning et suivi des bugs Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test, tuning et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  50. 50. Test Unitaire Junit Nunit Cactus DBUnit TestNG WSunit Tests unitaires Tests de recette Ecrits par... Les développeurs Le client ou son représentant Portent sur... Des méthodes L'ensemble de l'application unitaires Approche... Boîte blanche Boîte noire Concernent le Non Oui client Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  51. 51. Exemple : Junit Origine – framework de test écrit en Java par E. Gamma et K. Beck (2 des Gof) – open source: www.junit.org – version 3.8.1 (V4.0 pour Java 5 en mars 2006) Objectifs – test des applications Java – faciliter la création des tests – tests de non régression Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  52. 52. Exemple de code avec Junit public class Jip2006Test extends TestCase { ClasseMetier classeAtester ; protected void setUp() {// préparer les ressources //… } protected void tearDown() {// libèrer les ressources // …. } Valeur calculé public testCalclul1() { /// les opérations de test assertEquals( valeurAttendu1, classeAtester.calcul1()); } } public testCalclul2() {/// les opérations de test /// les opérations de test assertEquals( valeurAttendu2, classeAtester.calcul1()); } } Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  53. 53. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  54. 54. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  55. 55. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  56. 56. Junit & Eclipse : intégration parfaite Le squelette de la classe de test est généré par Eclipse, – à vous d'écrire le code des tests Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  57. 57. Junit & Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  58. 58. Junit : Exemple de résultat Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  59. 59. Junit : Exemple de résultat Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  60. 60. WSUnit - The Web Services Testing Tool Et oui, même les Web Services doivent être testés automatiquement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  61. 61. Test de charge (Load testing) JMeter Tester la montée en charge JWebUnit d'une application, par simulation CI Tools d'un nombre croissant Grinder d'utilisateurs simultanés openSTA IDX-Tsunami Jcrawler Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  62. 62. Jmeter de Apache Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  63. 63. JCrawler Donner à cet outil un ensemble d'URLs, un objectif de charge (hits/sec) et il va se lancer à la simulation d'un test de charge sur tous les liens qu'il trouve sur sa route … Pour vous s'assurer que votre site est capable de tenir la charge, c'est l'outil qu'il vous faut! À utiliser périodiquement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  64. 64. Test de conformité du site MaxQ enregistre votre utilisation d'un site web, il traduit les liens et les entrées en un script Python, MAXQ Ce script est qui utilisable pour – Vérifier que votre site web continue à fonctionner (test de non régression) . – Vérifier que votre site produit un HTML valide Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  65. 65. Test d'intégration & Suivi des bugs Bugzilla, itracker Outil indispensable, mais souvent négligé Scarab, Il est utilisable : JIRA – En cours de développement, par TrakcIt l'équipe de test (interne) des issue-tracker SSII – Chez le client final , en phase de réception par l'équipe de test – Chez les SSII qui offrent le service quot;béta testeurquot; Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  66. 66. Exemple : BugZilla Le plus célèbre Cycle de vie d'un bug dans Bugzilla, est ce que c'est suffisant ? http://www.bugzilla.org/docs/2.22/html/lifecycle.html Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  67. 67. Exemple : iTracker itracker est développé en J2EE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  68. 68. Profiling Eclipse Profiler Instrumentation Bytecode ou JMemProf utilisation de l'interface Cougaar Profiler standard JVMPI, pour avoir des information sur l'utilisation JTreeProfiler mémoire et CPU d'une Eclipse TPTP application Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  69. 69. Exemple : Eclipse Profiler Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  70. 70. Cougaar Profiler Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  71. 71. JMemProf Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  72. 72. Axe : Gestion de projet Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test, tuning et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  73. 73. Planning Solutions de gestion de planning Gantt Project – Définition des tâches et des OpenWorkbench ressources. (Windows) – Dépendances entre les Imendio Planner tâches. Taskjuggler (Linux) – Affichage du chemin critique. – Diagramme de Gantt. – Édition des calendriers : global et par ressource. – Vue d'ensemble sur l'utilisation des ressources. – Disponibilité des ressources inutilisées.. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  74. 74. Planning Solutions de gestion de planning Gantt Project – Gantt Project: interface très OpenWorkbench facile à utiliser avec les (Windows) fonctionnalités de base. Imendio Planner – Open Workbench: solution Taskjuggler (Linux) solide avec le plus de fonctionnalités et de rapports. – Imendio Planner: interface très facile à utiliser avec les fonctionnalités de base. – Taskjuggler: pour aller plus loin dans la gestion de projets, demande un effort initial pour maîtriser l'outil. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  75. 75. Exemple : Gantt Project Gantt Project est une solution de gestion de projets très prometteuse. Développé en Java (donc multiplateformes), riche d'une très large communauté, ce logiciel offre les fonctionnalités de base requises pour la gestion de projets. Il s'agit d'une solution idéale pour la gestion de projets de petites et moyennes entreprises (PME). Conçu avec une interface très simple et intuitive, il permet à un utilisateur peu expérimenté dans la gestion de projets de maîtriser rapidement l'outil et ses fonctionnalités. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  76. 76. Exemple : Gantt Project Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  77. 77. Exemple : Open Workbench Open Workbench est une solution de gestion de projets visant à directement concurrencer Microsoft Project. Développé en C++ (Windows), il s'agit de la solution la plus solide et la plus complète en termes de fonctionnalités et de rapports. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  78. 78. Suivi des projets Solutions de suivi de projet – dotProject: bon outil pour la dotProject coordination des équipes de développement. phpCollab – phpCollab: idéal pour intégrer Xplanner l'équipe de développement du Tiny ERP client avec les ressources de Compiere l'entreprise. Workeffort – Tiny ERP et Compiere: intégration GRC et PGI (CRM et JIRA ERP) dans la même solution. – Xplanner : idéal pour les adéptes du processus XP Workeffort : facilite le suivi effective des durées des tâches par ressources (gestion des quot;TimeSheetquot;) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  79. 79. Exemple : Xplanner Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  80. 80. Exemple : Xplanner Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  81. 81. Communication entre les membres d'une équipe Wiki (MoinMoin, …) Des équipes de E-List (MailMan, …) développement quot;distribuéesquot; IM (Jabber, …) Le email bien sûre WebMail (SquirrelMail) L'Instant Messaging (IM) OpenGroupware.org Tous les outils peuvent être sécurisé via SSL … Wikis interface simple pour créer, éditer, commenter des contenus en mode group Des sites de download type sourceForge Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  82. 82. Wiki : pour créer la documentation en mode groups Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  83. 83. Wiki : les outils gèrent même les versions Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  84. 84. Axe : Frameworks techniques (en bref) Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test, tuning et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  85. 85. Framework : définition !! • Un framework est un ensemble de classes et de collaborations entre les instances de ces classes. • Charpente d'une application Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  86. 86. Framework Web Struts MVC WebWork Struts : Numéro 1 (pas du Barracuda point de vue technique, mais en open source, le SpringMVC volet technique n'est pas le Tapestry seul ) SpringMVC le Challenger Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  87. 87. Framework de persitance Hibernate Mapping Objet/relationnel SpringJDBC Numéro 1 : Hibernate Batik (pierre angulaire de la plate-forme Jboss) Castor JDO Utiliser SpringDAO pour Apache OJB inverser le control et rester indépendant du choix du framework Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  88. 88. Framework de sécurité Acegi for Spring Simplifier la sécurisation Seraph d'application Web Jguard Numéro 1 : Acegi (sous projet Spring) WebAuth Autorisation & ClickStream Authentification Intégration avec SSL Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  89. 89. Axe : Environnement libres Gestion de projet et communication Développement au sein de l'équipe Frameworks techniques Test, tuning et suivi des bugs Environnement de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  90. 90. Systèmes d’exploitation libres Systèmes dérivés d’Unix BSD NetBSD OpenBSD FreeBSD Noyau Apple OSX Exemple: GNU/Linux Licence: GPL Systèmes GNU Nombre d’utilisateurs estimé: 8 000 000 Nombre de développeurs permanents: 500 HURD Linux Sociétés impliquées: IBM, HP, Oracle, Red- Hat, Connectiva, etc. Évolution parts de marché 2002: + 212 % Domaines: serveurs (web, messagerie, DNS, annuaires, etc.), bases de données, calculs scientifique, traitement images, systèmes haute disponibilités, etc. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  91. 91. Service réseau: web Le serveur Apache Evolution du serveur web originel (a patchy server) Serveur web le plus utilisé Architecture modulaire Supporté par de nombreuses plate-formes: Unix (Linux, *BSD, Solaris, etc), NT, etc. Support de nombreux langages serveur side: PHP, TCL, Java, C# / ASP.NET, SSI, etc. Sécurisation basée sur OpenSSL (Apache-ssl, mod_ssl) Base fondatrice de nombreux projets: Jakarta, Coccon, Ant, etc. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  92. 92. Service réseau: Messagerie Les serveurs de messagerie Postfix Licence: IBM Public Licence Caractéristiques: légèreté, facilité de configuration Part de marché estimée: 4 % Sociétés impliquées: IBM. Sendmail Licence: Sendmail Caractéristiques: Serveur de messagerie le plus utilisé, grande puissance de traitement Plate-formes: Linux, *BSD, AIX, HP-UX, Solaris, NT, etc. Part de marché estimée: ~70 % Sociétés dirigeant les développements: Sendmail Inc. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  93. 93. Service réseau : LDAP OpenLDAP Fonctionnalités d’annuaire, gestion hiérarchisées des habilitations Support des standards LDAP v2 et v3 Possibilité de couplage avec de nombreux services: web, messagerie, transferts de fichiers, comptes d’accès, forums usenet, etc. Sécurisation (TLS) via OpenSSL Base pour solutions PKI ou SSO Licence: OpenLDAP Public Licence Caractéristiques: rapidité, simplicité d’implémentation, Plate-formes: Linux, *BSD, AIX, HP-UX, Solaris, etc. Sociétés dirigeant les développements: OpenLDAP Foundation Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  94. 94. Les serveurs d’application Java EE Tomcat Licence: Apache Caractéristiques: projet Jakarta, moteur de servlets Développements conduits par: Apache Foundation Sociétés impliquées: IBM. JBoss Licence: LGPL Caractéristiques: Plate-forme EJB implémentant 100% des spécifications J2EE Développement dirigés par: JBoss Inc. JOnAS Licence: LGPL Caractéristiques: Implémentation opensource des spécifications J2EE Développement dirigés par: ObjectWeb Nouveau Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  95. 95. Autres types de Serveurs d’application Zope Licence: GPL Caractéristiques: Serveur d’application python Développement conduit par: Zope Corp. dotGNU Licence: GPL Caractéristiques: Compatibilité avec le framework .Net, support des langages C#, Java, python, perl et PHP. Développement dirigés par: GNU / FSF Mono Licence: LGPL Caractéristiques: Framework .NET et module pour Apache 2 (ASP.NET, VB.NET, C#, ADO.NET) Développement dirigés par: Ximian Inc. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  96. 96. Sécurité: SSL/TLS Bibliothèque de chiffrement Base de nombreux services ou outils: Apache-SSL, OpenSSH, OpenLDAP, Mozilla, etc. Implémente les protocoles SSL (v2 et v3) et TLS (v1) Implémentes (entre autres) les algorithmes de chiffrement blowfish, des, aes, idea, rc4, rc5, dsa, rsa, les fonctions de hachage md5, sha et permet la gestion des certificats X509v3 OpenSSL Licence: type Apache Support et contributeur: Linux4biz et Levitte Programming GNU TLS Licence: GPL Caractéristiques: Implémentation des protocoles SSL v3 et TLS v1, supporte les certificats X509v3 et les clés OpenPGP et les algorithmes Rijndael (aes) et Twofish Développement dirigés par: GNU / FSF Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  97. 97. Sécurité : PKI IDX-PKI Implémentation d’une infrastructure à clé publique conforme aux recommandations PKIX de l’IETF Génération de certificats et de clefs pour navigateurs, jetons de sécurité (cartes à puce, dongle USB, etc.), services réseaux (VPN IPSec, serveurs HTTP/S, etc.) Authorité de certification: gestion des certificats (demandes de certificat, révocations, extensions de droits, ré-attribution, etc. API HTTP: API standardisée grâce à laquelle les applications requièrent les services de la PKI En production au CEA, à l’INSERM, DGI, GAN Partimoine, Auchan, etc. Licence: GPL2 Développements dirigés par: IDEALX Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  98. 98. Bases de données PostgreSQL Base de données Open Source la plus accomplie. Représente 15 années de développement Support de bases très importante. Concurrence de DB2 ou Oracle Très grande qualité du SQL, complet en terme de fonctionnalités MySQL Base de données libre la plus utilisée dans le monde Extrêmement rapide, facile d’administration et de configuration Manque de fonctionnalités (encours de développement) : support transactionnel, clefs étrangères, vues, procédures stockés, triggers, etc. SAP DB Coeur du logiciel SAP Base de données très peu connue Outils d’administration très complet (Database Manager, SQL Studio, Db Loader, etc.) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  99. 99. Portail J2EE Liferay Cocoon Portal Jetspeed eXo uPortal Pour le développent de Portlet Environnement de déploiement complet Privilégier les portail compatible JSR 168 Site Web : Blog et les autres Site Web : CMS CMS Site Web : E-learning Site Web : Forums SPIP, OpenCMS, Site Web : Galerie Site Web : Groupware Typo3, Claroline, Site Web : SPIP ATutor ... Site Web : Wiki Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  100. 100. Liferay •le numéro 1 des portails J2EE compatible JSR168 Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  101. 101. Cocoon Portal Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  102. 102. Clusters OpenMosix Extension du noyau Linux ajoutant des fonctionnalités de clustering (type load balancing) Co-développé par L’université de Tel Aviv, Intel, AMD, Myrinet et la NASA Cluster de calcul, système de fichiers distribué, etc. Beowulf Clusters de type HPC (High Performance Computing) Co-développé avec AMD, HP, LANL, etc. Une dizaine de clusters Beowulf figurent parmis le Top200 des supercalculateurs Utilisé intensément par l’industrie cinamétographique Linux-HA Cluster et outils pour haute disponibilité (cluster type Fail-Over) Co-développé avec IBM, Intel, Connectiva, SGI, etc. Collaboration possible avec Linux Virtual Server (Load Balancer) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  103. 103. Systèmes embarqués et temps réels L’utilisation de composants OpenSource se généralise dans le monde des systèmes embarques et des systèmes temps réels Distributions GNU/Linux spécialisés (Montavista, FSM Lab RTLinux, etc.) Utilisation de Linux dans les PDA (Sharp avec le Zaurus) et les équipements AudioVisuels de dernière génération (Sony, Panasonic, TiVo, etc.) : enregistrements sur disques durs, connections réseau, équipement Wi-Fi, etc. Utilisation de Linux comme système d’exploitation de l’ensemble des nouveaux téléphones portables Motorala (logiciels écrit en Java, en collaboration avec MontaVista) Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  104. 104. Autres outils Libres à utiliser dans un processus de développement Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  105. 105. Les logiciels dédiés au poste de travail BUREAUTIQUE Traitement de texte Tableur INTERNET Publication HTML Navigateur Base de données Gestionnaire de courrier Anti-virus GRAPHISME & MEDIA Retouche d’image UTILITAIRES Montage vidéo Documents PDF Encodage et lecture audio Visionneuses Schémas techniques Gestion de fichiers Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  106. 106. Logiciel libre : Rédiger vos spécifications fonctionelles avec openOffice! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  107. 107. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  108. 108. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  109. 109. OpenOffice.org 2.0 un traitement de texte (Writer) un tableur (Calc) un logiciel de présentation (Impress) un logiciel de dessin vectoriel et de PAO (Draw) un éditeur de pages web un module de création et de gestion des bases de données Disponible pour Windows, Linux, Macintosh… Compatible en lecture et en modification avec les fichiers issus de Microsoft Office version XP (et des versions antérieures 2000, 97...). Format de fichier ouvert et basé sur le XML = garantie de pérennité, d’indépendance, d’interopérabilité et d’accès à l’information pour tous les utilisateurs. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  110. 110. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  111. 111. Gestion du courrier électronique Thunderbird : mailer de Mozilla Firefox Pensez à relever vos mails Un comparatif : en mode web http://www.arobase.org/softs/choisir.htm Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  112. 112. Retouche d’images The GIMP http://www.01net.com/telecharger/windows/Multimedia/creation_graphique/fiches/5245.html Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  113. 113. Retouche d’image PhotoFiltre Simple Léger (moins de 2 Mo) Rapide L’essentiel des besoins courants http://www.01net.com/telecharger/windows/Multimedia/photo_numerique/fiches/21756.html Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  114. 114. conclusion Beaucoup d'outils, Manque d'intégration (pour le moment) L'utilisation d'un outil doit être inscrite dans un processus (penser CMM) Le future des IDEs – C'est le PLM – Eclipse est sur la route Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  115. 115. Les annuaires de logiciels libres 3 annuaires incontournables •http://helioss.logiciellibre.net/ •http://sourceforge.net/ •http://www.framasoft.net/ Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  116. 116. Merci Khaled BEN DRISS Architecte de Système d'Information NetProgress GSM : (216) 98 33 46 17 Tél : (216) 71 72 49 05 Khaled.bendriss@net-progress.net Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×