Khaled BEN DRISS Consultant/formateur Ingénieur de l'Ecole Centrale de Lyon Docteur de l’Université Paris VI (Pierre et Marie Curie)
JIP'2006
Outils de développement et environnements libres
Khaled.bendriss@oxia-group.com
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
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
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
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 "traitement de code" 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
Un Processus ?
Définit Qui fait Quoi, Quand le faire, et Comment atteindre un objectif.
Besoin Nouveau Ou un changement
Processus d'ingénierie logicielle
système nouveau ou mise à jour
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
"Axes à outiller" Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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
Les logiciels libres = quatre principes Le logiciel libre garantit 4 libertés Liberté d'exécuter un programme pour tous les usages (privés ou commerciaux)
L'utilisateur n'a pas de permission à demander pour utiliser le programme
Liberté d'examiner le fonctionnement interne du programme et de le modifier
L'utilisateur dispose du code source, et non pas seulement d'un exécutable
Liberté de redistribuer des copies du programme, commercialement ou non
Liberté de modifier le programme et de redistribuer
L'utilisateur peut distribuer des copies du programme gratuitement ou en les faisant payer
L'utilisateur peut améliorer le programme et en redistribuer une nouvelle version
En rupture avec les logiciels propriétaires L'utilisateur n'est pas obligé de payer une licence d'utilisation
Le code source n'est plus confidentiel
Khaled.bendriss@oxia-group.com
La distribution non autorisée n'est plus un délit
Outils de développement et environnements libres
Le créateur d'un logiciel n'a pas le monopole de son amélioration
JIP'2006
Axe : Développement Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test, tuning et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
IDE : Integrated Development Environement Produire du code, déboguer, … Le logiciel libre a consolidé sa position dans ce domaine Eclipse est le "Linux des IDE" 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é
Eclipse NetBeans Jedit
sur Eclipse 2 et RAD 6 sur Eclipse 3) Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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
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
Modélisation : Manipuler des digrammes UML Produire des diagrammes UML Important dans un process de développement !
Omondo EclipseUML argoUML Poseidon Fujaba Umbrello UML Modeller
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Exemple : Umbrello UML Modeller
Pour Linux KDE
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : Fujaba Tool Suite -UML
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
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 Manipuler les structures des SGBD Tester les requêtes SQL
Khaled.bendriss@oxia-group.com
SQuirreL Eclipse plugins TORA
Outils de développement et environnements libres
JIP'2006
TORA : Toolkit libre pour Oracle de chez Quest Software http://tora.sourceforge.net/
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
SQuirreL : manipuler schĂŠmas & Sql
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Manipulation de LDAP
Très utile pour découvrir les données dans un LDAP
Khaled.bendriss@oxia-group.com
LDAP Browser/Editor
Outils de développement et environnements libres
JIP'2006
Besoin particulier web : Manipulation HTML
Nvu est la refonte du module d'édition HTML 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
NVU
JIP'2006
Contrôle et Gestion de version Suivre les versions des codes sources, … Organiser les contributions des groupes sur un même projet Suivre plusieurs versions 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
CVS & CvsNT Subversion ViewCVS WinCvs TortoiseCVS
Outils de développement et environnements libres
JIP'2006
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), "on pense" qu'il va remplacer CVS …
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
CVS & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
CVS & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
CVS & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
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.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Intégration continue & "Build"
Automatiser les opérations de compilation, de packaging, de test de non régression, de déploiement , de création d'installation,… Construction en continue
Khaled.bendriss@oxia-group.com
Ant (J2EE) Nant (.Net) Maven Anthill CruiseControl Luntbuild Draco.NET (.net)
Outils de développement et environnements libres
JIP'2006
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
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
JIP'2006
Ant & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : Maven Le challenger, l'outil qui avance … "On parle" même du "remplacent de ANT"
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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
Génération de codes Très utile pour automatiser la génération de code usuel Impose de fixer l'architecture de l'application à développer et déterminer le code à générer La tendance : exploiter une approche basée sur MDA
Visitez – http://www.codegeneration.net
Khaled.bendriss@oxia-group.com
AndroMDA openMDX JAG openXavia Xdoclet Middlegen openMDX JunoMDA (php)
Outils de développement et environnements libres
JIP'2006
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
Exemple : JAG
Java Application Generator
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Outil de reporting
RĂŠaliser des rapports et les publier dans projets Web
Khaled.bendriss@oxia-group.com
JasperReports BIRT (eclipse) Datavision JFreeReport JFreeChart
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : JasperReports
Outil de reporting Java : numĂŠro 1
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : JFreeChart
Génération de graphes
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Contrôle de qualité de code Fixer un standard de codage Automatiser les opérations contrôle et de revue de code …
Khaled.bendriss@oxia-group.com
CheckStyle PMD Hammurapi
Outils de développement et environnements libres
JIP'2006
Exemple : CheckStyle dans Eclipse !!
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : CheckStyle dans Eclipse !!
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Exemple : CheckStyle dans Eclipse !!
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Installateurs Créer une installation automatisée Assiste le processus d'installation et désinstallation, ses outils 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
IzPack Packlet VAInstall
Outils de développement et environnements libres
JIP'2006
Exemple : IzPack
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Axe : Test, tuning et suivi des bugs
Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test, tuning et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Test Unitaire Junit Nunit Cactus DBUnit TestNG WSunit Tests unitaires
Tests de recette
Ecrits par...
Les développeurs
Portent sur...
Des méthodes unitaires Boîte blanche
Le client ou son représentant L'ensemble de l'application
Approche... Concernent le client
Non
Khaled.bendriss@oxia-group.com
Boîte noire Oui
Outils de développement et environnements libres
JIP'2006
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
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
Junit & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Junit & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Junit & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
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
Junit & Ant & Eclipse : intĂŠgration parfaite
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Junit : Exemple de rĂŠsultat
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Junit : Exemple de rĂŠsultat
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
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
Test de charge (Load testing) Tester la montée en charge d'une application, par simulation d'un nombre croissant d'utilisateurs simultanés
Khaled.bendriss@oxia-group.com
JMeter JWebUnit CI Tools Grinder openSTA IDX-Tsunami Jcrawler
Outils de développement et environnements libres
JIP'2006
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 à 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
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, 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
MAXQ
JIP'2006
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 "béta testeur"
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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
Exemple : iTracker
Khaled.bendriss@oxia-group.com
itracker est développé en J2EE
Outils de développement et environnements libres
JIP'2006
Profiling
Instrumentation Bytecode ou utilisation de l'interface standard JVMPI, pour avoir des information sur l'utilisation mĂŠmoire et CPU d'une application
Khaled.bendriss@oxia-group.com
Eclipse Profiler JMemProf Cougaar Profiler JTreeProfiler Eclipse TPTP
Outils de dĂŠveloppement et environnements libres
JIP'2006
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 Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test, tuning et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Planning
Solutions de gestion de planning – Définition des tâches et des ressources. – Dépendances entre les tâches. – 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
Gantt Project OpenWorkbench (Windows)
Imendio Planner Taskjuggler (Linux)
Outils de développement et environnements libres
JIP'2006
Planning
Solutions de gestion de planning – Gantt Project: interface très facile à utiliser avec les fonctionnalités de base. – Open Workbench: solution 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
Gantt Project OpenWorkbench (Windows)
Imendio Planner Taskjuggler (Linux)
Outils de développement et environnements libres
JIP'2006
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
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 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
Suivi des projets
Solutions de suivi de projet – dotProject: bon outil pour la coordination des équipes de développement. – phpCollab: idéal pour intégrer l'équipe de développement du client avec les ressources de l'entreprise. – Tiny ERP et Compiere: intégration GRC et PGI (CRM et ERP) dans la même solution. – Xplanner : idéal pour les adéptes du processus XP
dotProject phpCollab Xplanner Tiny ERP Compiere Workeffort JIRA
Workeffort : facilite le suivi effective des durées des tâches par ressources (gestion des Khaled.bendriss@oxia-group.com "TimeSheet") 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
Exemple : Xplanner
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Communication entre les membres d'une équipe Des équipes de développement "distribuées" Le email bien sûre L'Instant Messaging (IM) 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
Wiki (MoinMoin, …) E-List (MailMan, …) IM (Jabber, …) WebMail (SquirrelMail) OpenGroupware.org …
Outils de développement et environnements libres
JIP'2006
Wiki : pour crĂŠer la documentation en mode groups
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Wiki : les outils gèrent même les versions
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Axe : Frameworks techniques (en bref) Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test, tuning et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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
Framework Web MVC Struts : NumĂŠro 1 (pas du point de vue technique, mais en open source, le volet technique n'est pas le seul ) SpringMVC le Challenger
Khaled.bendriss@oxia-group.com
Struts WebWork Barracuda SpringMVC Tapestry
Outils de dĂŠveloppement et environnements libres
JIP'2006
Framework de persitance Mapping Objet/relationnel Numéro 1 : Hibernate (pierre angulaire de la plate-forme Jboss) Utiliser SpringDAO pour inverser le control et rester indépendant du choix du framework
Khaled.bendriss@oxia-group.com
Hibernate SpringJDBC Batik Castor JDO Apache OJB
Outils de développement et environnements libres
JIP'2006
Framework de sécurité Simplifier la sécurisation d'application Web Numéro 1 : Acegi (sous projet Spring) Autorisation & Authentification Intégration avec SSL
Khaled.bendriss@oxia-group.com
Acegi for Spring Seraph Jguard WebAuth ClickStream
Outils de développement et environnements libres
JIP'2006
Axe : Environnement libres Développement
Frameworks techniques
Gestion de projet et communication au sein de l'équipe
Test, tuning et suivi des bugs
Environnement de développement Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
Systèmes d’exploitation libres Systèmes dérivés d’Unix BSD NetBSD
OpenBSD
FreeBSD
Noyau Apple OSX
Exemple: GNU/Linux
Systèmes GNU HURD
Linux
Khaled.bendriss@oxia-group.com
Licence: GPL Nombre d’utilisateurs estimé: 8 000 000 Nombre de développeurs permanents: 500 Sociétés impliquées: IBM, HP, Oracle, RedHat, 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. Outils de développement et environnements libres
JIP'2006
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
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
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
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
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
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
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
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
Portail J2EE
Liferay Jetspeed uPortal
Cocoon Portal eXo
Pour le développent de Portlet Environnement de déploiement complet Privilégier les portail compatible JSR 168
CMS
et les autres
SPIP, OpenCMS, Typo3, Claroline, ATutor ... Khaled.bendriss@oxia-group.com
Site Web : Blog Site Web : CMS Site Web : E-learning Site Web : Forums Site Web : Galerie Site Web : Groupware Site Web : SPIP Site Web : Wiki
Outils de développement et environnements libres
JIP'2006
Liferay •le numéro 1 des portails J2EE compatible JSR168
Khaled.bendriss@oxia-group.com
Outils de développement et environnements libres
JIP'2006
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) 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
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
Autres outils Libres Ă utiliser dans un processus de dĂŠveloppement
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Les logiciels dédiés au poste de travail BUREAUTIQUE Traitement de texte Tableur Publication HTML Base de données
GRAPHISME & MEDIA Retouche d’image Montage vidéo Encodage et lecture audio Schémas techniques
Khaled.bendriss@oxia-group.com
INTERNET Navigateur Gestionnaire de courrier Anti-virus
UTILITAIRES Documents PDF Visionneuses Gestion de fichiers
Outils de développement et environnements libres
JIP'2006
Logiciel libre : Rédiger vos spécifications fonctionelles avec openOffice!
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
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 (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
Khaled.bendriss@oxia-group.com
Outils de dĂŠveloppement et environnements libres
JIP'2006
Gestion du courrier électronique
Thunderbird : mailer de Mozilla Firefox
Un comparatif : http://www.arobase.org/softs/choisir.htm
Khaled.bendriss@oxia-group.com
Pensez à relever vos mails en mode web
Outils de développement et environnements libres
JIP'2006
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
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
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
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
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