Upload
khaled-ben-driss
View
5.538
Download
1
Embed Size (px)
DESCRIPTION
Outils dedéveloppementet environnementslibres
Citation preview
Khaled BEN DRISSConsultant/formateur
Ingénieur de l'Ecole Centrale de Lyon
Docteur de l’Université JIP'2006
Outils de développement et environnements
libres
Docteur de l’Université Paris VI (Pierre et Marie
Curie)
NetProgress est une SSLL qui maîtrise la fourniture autour des progiciels libres : - Architecture- Services liés d’installation & paramétrage, - Formation,
Professional Open Source
[email protected] Outils de développement et environnements libres JIP'2006
- Formation, - Évolution & maintenance, - jusqu’à la réalisation de développements complémentaires sur mesure.
NetProgress est spécialisée dans les technologies J2EE
Khaled BEN DRISSConsultant / Formateur J2EE
� Ingénieur de l'Ecole Centrale de Lyon
[email protected] Outils de développement et environnements libres JIP'2006
� 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
Objectifs
•Présenter des outils de développement, issu du monde open source, qui
source, qui pourraient vous aider à augmenter votre productivité
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é
[email protected] Outils de développement et environnements libres JIP'2006
– pour produire des logiciels de meilleur qualité– à maîtriser le processus de développement– à mieux communiquer au sein d'une équipe de
développement
Besoin Nouveau système nouveauProcessus d'ingénierie
Un Processus ?
� Définit Qui fait Quoi, Quand le faire, et Commentatteindre un objectif.
[email protected] Outils de développement et environnements libres JIP'2006
Ou un changement ou mise à jour
Processus d'ingénierielogicielle
� Et aussi, un processus de développement doit préciser, – avec quoi ? (quel outil utiliser)
"Axes à outiller"
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test et suivi des bugs
Frameworks techniques
Environnement de développement
� 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
Logiciel libre : une définition
simplifiée
[email protected] Outils de développement et environnements libres JIP'2006
� 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,…
Les logiciels libres = quatre principes
Le logiciel libre garantit 4 libertés
L'utilisateur peut L'utilisateur n'a L'utilisateur L'utilisateur peut
Liberté d' exécuterun programme pour
tous les usages (privés ou
commerciaux)
Liberté d' examiner le fonctionnement
interne du programme et de le modifier
Liberté de redistribuerdes copies du programme,
commercialement ou non
Liberté de modifie r le
programme et de redistribuer
[email protected] Outils de développement et environnements libres JIP'2006
L'utilisateur peut améliorer le
programme et en redistribuer une nouvelle version
L'utilisateur n'a pas de
permission à demander pour
utiliser le programme
L'utilisateur dispose du code source, et non pas seulement
d'un exécutable
L'utilisateur peut distribuer des copies
du programme gratuitement ou en
les faisant payer
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
La distribution non autorisée n'est plus
un délit
Le créateur d'un logiciel n'a pas le monopole de son
amélioration
Axe : Développement
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test, tuning et suivi des bugs
Frameworks techniques
Environnement de développement
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.
EclipseNetBeansJedit
[email protected] Outils de développement et environnements libres JIP'2006
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)
Exemple : Eclipse� Le Numéro 1 des IDE open source (code original de
chez IBM)
� Codage� Débugage� Refactoring� Packaging� Versioning
[email protected] Outils de développement et environnements libres JIP'2006
� Versioning� …
Exemple : netBeans de Sun
� Le chalenger, IDE open source pour Java/J2EE de chez SUN
� Codage� Débugage� Refactoring
[email protected] Outils de développement et environnements libres JIP'2006
� Refactoring� Packaging� Versioning� Profiling� …
Modélisation : Manipuler des digrammes UML
� Produire des diagrammes UML
� Important dans un process de développement !
Omondo EclipseUML argoUMLPoseidon FujabaUmbrello UML Modeller
[email protected] Outils de développement et environnements libres JIP'2006
Umbrello UML Modeller
Exemple : Umbrello UML Modeller
� Pour Linux� KDE
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : Fujaba Tool Suite -UML
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : ArgoUML
[email protected] 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
SQuirreLEclipse pluginsTORA
[email protected] Outils de développement et environnements libres JIP'2006
� Tester les requêtes SQL
TORA : Toolkit libre pour Oracle de chez Quest Software
http
://tora.so
urcefo
rge.n
et/
[email protected] Outils de développement et environnements libres JIP'2006
http
://tora.so
urcefo
rge.n
et/
SQuirreL : manipuler schémas & Sql
[email protected] Outils de développement et environnements libres JIP'2006
Manipulation de LDAP� Très utile pour découvrir les
données dans un LDAP LDAP Browser/Editor
[email protected] 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
NVU
[email protected] Outils de développement et environnements libres 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 :
CVS & CvsNTSubversionViewCVSWinCvsTortoiseCVS
[email protected] Outils de développement et environnements libres JIP'2006
d'une même application : – Exemple : version 1.0.3
installé chez le client et version 2.0.0 en bêta Test …
TortoiseCVS
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
[email protected] Outils de développement et environnements libres JIP'2006
� 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 …
CVS & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
CVS & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
CVS & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
ViewCVS
[email protected] Outils de développement et environnements libres JIP'2006
WinCVS
Gérer vos fichiers dans CVS indépendamment de l'IDE
[email protected] 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
Ant (J2EE)Nant (.Net)Maven
Anthill
[email protected] Outils de développement et environnements libres JIP'2006
déploiement , de création d'installation,…
� Construction en continue
AnthillCruiseControlLuntbuildDraco.NET (.net)
Exemple : Ant� Dans le monde Java, ANT est l’outil incontournable
pour automatiser des traitements répétitifs en modebatch : outil de build automatique.
� Il possède tous les atouts propres aux standards :– simple,– bâti sur des technologies ouvertes (Java et
XML), extensible,
[email protected] Outils de développement et environnements libres JIP'2006
– bâti sur des technologies ouvertes (Java etXML), extensible,
– et supporté par des acteurs stratégiques (dontIBM, SUN et BEA pour les sociétéscommerciales, mais aussi la grande majorité dela communauté Java OpenSource Eclipse …).
Exemple : Ant
[email protected] Outils de développement et environnements libres JIP'2006
Ant & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
Ant & Eclipse : intégration parfaite
[email protected] 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"
[email protected] 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
[email protected] 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
AndroMDAopenMDXJAGopenXavia
[email protected] Outils de développement et environnements libres JIP'2006
� La tendance : exploiter une approche basée sur MDA
� Visitez– http://www.codegeneration.net
openXaviaXdocletMiddlegenopenMDXJunoMDA (php)
Exemple : AndroMDA
� Génération d'application à partir d'un modèle UML (principe de MDA)
� Les cartouches de génération
[email protected] Outils de développement et environnements libres JIP'2006
génération existantes sont dédiées à J2EE, d'autres type de code est possible
� Exploite Maven
Exemple : JAG� Java Application Generator
[email protected] Outils de développement et environnements libres JIP'2006
Outil de reporting
� Réaliser des rapports et les publier dans projets Web JasperReports
BIRT (eclipse)DatavisionJFreeReport
[email protected] Outils de développement et environnements libres JIP'2006
JFreeReportJFreeChart
Exemple : JasperReports
� Outil de reporting Java : numéro 1
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : JFreeChart
� Génération de graphes
[email protected] 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 …
CheckStylePMDHammurapi
[email protected] Outils de développement et environnements libres JIP'2006
et de revue de code …
Exemple : CheckStyle dans Eclipse !!
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : CheckStyle dans Eclipse !!
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : CheckStyle dans Eclipse !!
[email protected] 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
IzPack
Packlet
VAInstall
[email protected] Outils de développement et environnements libres JIP'2006
dans les IDE JAVA� Se base souvent sur un
script ANT …� Crée des Jar Exécutable
Exemple : IzPack
[email protected] Outils de développement et environnements libres JIP'2006
Axe : Test, tuning et suivi des bugs
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test, tuning et suivi des bugs
Frameworks techniques
Environnement de développement
JunitNunitCactus DBUnitTestNGWSunit
Tests unitaires Tests de recette
Test Unitaire
[email protected] Outils de développement et environnements libres JIP'2006
Tests unitaires Tests de recette
Ecrits par... Les développeurs Le client ou son représentant
Portent sur... Des méthodes unitaires
L'ensemble de l'application
Approche... Boîte blanche Boîte noire
Concernent le client
Non Oui
Exemple : Junit
� Origine– framework de test écrit en Java par E. Gamma et
K. Beck (2 des Gof)– open source: www.junit.org
[email protected] Outils de développement et environnements libres JIP'2006
– 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
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é
[email protected] Outils de développement et environnements libres JIP'2006
} 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()); }
}
Valeur calculé
Junit & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
Junit & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
Junit & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
Junit & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
� Le squelette de la classe de test est généré par Eclipse, – à vous d'écrire le code des tests
Junit & Ant & Eclipse : intégration parfaite
[email protected] Outils de développement et environnements libres JIP'2006
Junit : Exemple de résultat
[email protected] Outils de développement et environnements libres JIP'2006
Junit : Exemple de résultat
[email protected] 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
[email protected] 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
JMeterJWebUnitCI ToolsGrinderopenSTA
[email protected] Outils de développement et environnements libres JIP'2006
openSTAIDX-Tsunami Jcrawler
Jmeter de Apache
[email protected] 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
[email protected] Outils de développement et environnements libres JIP'2006
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
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
MAXQ
[email protected] Outils de développement et environnements libres JIP'2006
Test d'intégration & Suivi des bugs
� Outil indispensable, mais souvent négligé
� Il est utilisable :– En cours de développement, par
l'équipe de test (interne) des
Bugzilla, itracker Scarab, JIRATrakcItissue-tracker
[email protected] Outils de développement et environnements libres JIP'2006
l'équipe de test (interne) des 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"
issue-tracker
Exemple : BugZilla
� Le plus célèbre
[email protected] Outils de développement et environnements libres JIP'2006
� Cycle de vie d'un bug dans Bugzilla, est ce que c'est suffisant ?
http://www.bugzilla.org/docs/2.22/html/lifecycle.html
Exemple : iTracker
� itracker est développé en J2EE
[email protected] Outils de développement et environnements libres JIP'2006
� Instrumentation Bytecode ou utilisation de l'interface standard JVMPI, pour avoir des information sur l'utilisation mémoire et CPU d'une application
Eclipse ProfilerJMemProfCougaar ProfilerJTreeProfilerEclipse TPTP
Profiling
[email protected] Outils de développement et environnements libres JIP'2006
applicationEclipse TPTP
Exemple : Eclipse Profiler
[email protected] Outils de développement et environnements libres JIP'2006
Cougaar Profiler
[email protected] Outils de développement et environnements libres JIP'2006
JMemProf
[email protected] Outils de développement et environnements libres JIP'2006
Axe : Gestion de projet
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test, tuning et suivi des bugs
Frameworks techniques
Environnement de développement
Planning� Solutions de gestion de
planning – Définition des tâches et des
ressources.– Dépendances entre les
tâches.– Affichage du chemin
critique.
Gantt ProjectOpenWorkbench(Windows)
Imendio PlannerTaskjuggler (Linux)
[email protected] Outils de développement et environnements libres JIP'2006
critique.– Diagramme de Gantt.– Édition des calendriers :
global et par ressource.– Vue d'ensemble sur
l'utilisation des ressources.– Disponibilité des ressources
inutilisées..
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.
Gantt ProjectOpenWorkbench(Windows)
Imendio PlannerTaskjuggler (Linux)
[email protected] Outils de développement et environnements libres JIP'2006
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.
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
[email protected] Outils de développement et environnements libres JIP'2006
� 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.
Exemple : Gantt Project
[email protected] 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.
[email protected] Outils de développement et environnements libres JIP'2006
solution la plus solide et la plus complète en termes de fonctionnalités et de rapports.
� 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:
Suivi des projets
dotProjectphpCollabXplannerTiny ERPCompiereWorkeffort
[email protected] Outils de développement et environnements libres JIP'2006
– Tiny ERP et Compiere: intégration GRC et PGI (CRM et ERP) dans la même solution.
– Xplanner : idéal pour les adéptesdu processus XP
WorkeffortJIRA
� Workeffort : facilite le suivi effective des durées des tâches par ressources (gestion des "TimeSheet")
Exemple : Xplanner
[email protected] Outils de développement et environnements libres JIP'2006
Exemple : Xplanner
[email protected] 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
Wiki (MoinMoin, …)E-List (MailMan, …)IM (Jabber, …)WebMail (SquirrelMail)
OpenGroupware.org
…
[email protected] Outils de développement et environnements libres JIP'2006
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
…
Wiki : pour créer la documentation en mode groups
[email protected] Outils de développement et environnements libres JIP'2006
Wiki : les outils gèrent même les versions
[email protected] Outils de développement et environnements libres JIP'2006
Axe : Frameworks techniques (en bref)
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test, tuning et suivi des bugs
Frameworks techniques
Environnement de développement
Framework : définition !!
• Un framework est un ensemble de classes et de collaborations entre les instances de ces classes.
• Charpente d'une application
[email protected] Outils de développement et environnements libres JIP'2006
• Charpente d'une application
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 )
Struts
WebWork
Barracuda
SpringMVC
Tapestry
[email protected] Outils de développement et environnements libres JIP'2006
volet technique n'est pas le seul )
� SpringMVC le ChallengerTapestry
Framework de persitance
� Mapping Objet/relationnel� Numéro 1 : Hibernate
(pierre angulaire de la plate-forme Jboss)
� Utiliser SpringDAO pour
Hibernate
SpringJDBC
Batik
Castor JDO
Apache OJB
[email protected] Outils de développement et environnements libres JIP'2006
� Utiliser SpringDAO pour inverser le control et rester indépendant du choix du framework
Apache OJB
Framework de sécurité
� Simplifier la sécurisation d'application Web
� Numéro 1 : Acegi (sous projet Spring)
� Autorisation &
Acegi for Spring
Seraph
Jguard
WebAuth
ClickStream
[email protected] Outils de développement et environnements libres JIP'2006
� Autorisation & Authentification
� Intégration avec SSL
ClickStream
Axe : Environnement libres
Développement
Gestion de projet et
communication au sein de l'équipe
[email protected] Outils de développement et environnements libres JIP'2006
Test, tuning et suivi des bugs
Frameworks techniques
Environnement de développement
Systèmes d’exploitation libres
Systèmes dérivés d’Unix BSD
NetBSD OpenBSD FreeBSD Noyau Apple OSX
Exemple: GNU/Linux
[email protected] Outils de développement et environnements libres JIP'2006
Systèmes GNUHURD Linux
� Licence : GPL� Nombre d’utilisateurs estimé : 8 000 000� Nombre de développeurs permanents : 500 � 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.
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.
[email protected] Outils de développement et environnements libres JIP'2006
ASP.NET, SSI, etc. � Sécurisation basée sur OpenSSL (Apache-ssl, mod_ssl)� Base fondatrice de nombreux projets: Jakarta, Coccon, Ant, etc.
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.
[email protected] Outils de développement et environnements libres JIP'2006
Sendmail� Licence: Sendmail� Caractéristiques: Serveur de messagerie le plus utilisé, grande puiss ance 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.
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.
[email protected] Outils de développement et environnements libres JIP'2006
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
Les serveurs d’application Java EE
JBoss� Licence : LGPL� Caractéristiques: Plate-forme EJB implémentant 100% des spécifications J2EE� Développement dirigés par : JBoss Inc.
Tomcat� Licence : Apache� Caractéristiques: projet Jakarta, moteur de servlets� Développements conduits par: Apache Foundation� Sociétés impliquées : IBM.
[email protected] Outils de développement et environnements libres JIP'2006
� 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
Autres types de Serveurs d’application
dotGNU� Licence : GPL� Caractéristiques: Compatibilité avec le framework .Net, support des
Zope� Licence : GPL� Caractéristiques: Serveur d’application python� Développement conduit par: Zope Corp.
[email protected] Outils de développement et environnements libres JIP'2006
� 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.
Sécurité: SSL/TLS
OpenSSL
� 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
[email protected] Outils de développement et environnements libres JIP'2006
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
Sécurité : PKIIDX-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
[email protected] Outils de développement et environnements libres JIP'2006
� 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
Bases de données
MySQL
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
[email protected] Outils de développement et environnements libres JIP'2006
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.)
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
[email protected] Outils de développement et environnements libres JIP'2006
� Privilégier les portail compatible JSR 168
SPIP, OpenCMS, Typo3, Claroline, ATutor ...
CMS 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
et les autres
Liferay
•le numéro 1 des portails J2EE compatible JSR168
[email protected] Outils de développement et environnements libres JIP'2006
Cocoon Portal
[email protected] 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)
[email protected] Outils de développement et environnements libres JIP'2006
� 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)
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,
[email protected] Outils de développement et environnements libres JIP'2006
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)
Autres outils Libres à utiliser dans un processus
de développement
[email protected] Outils de développement et environnements libres JIP'2006
Les logiciels dédiés au poste de travail
BUREAUTIQUETraitement de texte
TableurPublication HTMLBase de données
INTERNETNavigateur
Gestionnaire de courrierAnti-virus
[email protected] Outils de développement et environnements libres JIP'2006
GRAPHISME & MEDIARetouche d’image
Montage vidéoEncodage et lecture audio
Schémas techniques
UTILITAIRESDocuments PDF
VisionneusesGestion de fichiers
Logiciel libre : Rédiger vos spécifications fonctionelles avec openOffice!
[email protected] Outils de développement et environnements libres JIP'2006
[email protected] Outils de développement et environnements libres JIP'2006
[email protected] 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
[email protected] Outils de développement et environnements libres JIP'2006
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.
[email protected] Outils de développement et environnements libres JIP'2006
Gestion du courrier électronique
� Thunderbird : mailer de Mozilla Firefox
[email protected] Outils de développement et environnements libres JIP'2006
Un comparatif :http://www.arobase.org/softs/choisir.htm
Pensez à relever vos mails en mode web
Retouche d’images The GIMP
[email protected] Outils de développement et environnements libres JIP'2006
http://www.01net.com/telecharger/windows/Multimedia /creation_graphique/fiches/5245.html
Retouche d’image PhotoFiltre
Simple
Léger (moins de 2 Mo)
Rapide
L’essentiel des besoins
[email protected] Outils de développement et environnements libres JIP'2006
L’essentiel des besoins courants
http://www.01net.com/telecharger/windows/Multimedia /photo_numerique/fiches/21756.html
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
[email protected] Outils de développement et environnements libres JIP'2006
� Le future des IDEs – C'est le PLM– Eclipse est sur la route
Les annuaires de logiciels libres
3 annuaires incontournables
•http://helioss.logiciellibre.net/
[email protected] Outils de développement et environnements libres JIP'2006
•http://sourceforge.net/
•http://www.framasoft.net/
Khaled BEN DRISSArchitecte de Système d'InformationNetProgressGSM : (216) 98 33 46 17Tél : (216) 71 72 49 05
Merci
[email protected] Outils de développement et environnements libres JIP'2006
Tél : (216) 71 72 49 05