• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,086
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
178
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Exemple : Umbrello UML Modeller Pour Linux KDE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 16. Exemple : Fujaba Tool Suite -UML Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 17. Exemple : ArgoUML Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. SQuirreL : manipuler schémas & Sql Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 26. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 27. CVS & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 28. ViewCVS Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. Exemple : Ant Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 33. Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 34. Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. Exemple : JAG Java Application Generator Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Exemple : JasperReports Outil de reporting Java : numéro 1 Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 42. Exemple : JFreeChart Génération de graphes Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 45. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 46. Exemple : CheckStyle dans Eclipse !! Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Exemple : IzPack Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 54. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 55. Junit & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Junit & Ant & Eclipse : intégration parfaite Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 58. Junit : Exemple de résultat Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 59. Junit : Exemple de résultat Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. Jmeter de Apache Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. Exemple : iTracker itracker est développé en J2EE Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Exemple : Eclipse Profiler Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 70. Cougaar Profiler Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 71. JMemProf Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. Exemple : Gantt Project Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. Exemple : Xplanner Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 80. Exemple : Xplanner Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Wiki : pour créer la documentation en mode groups Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Cocoon Portal Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. 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. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 108. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. Khaled.bendriss@oxia-group.com Outils de développement et environnements libres JIP'2006
  • 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. 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. 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. 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. 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. 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