Outils dedéveloppementet environnementslibres

Page 1

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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.