Outils de développement collaboratif



Documents pareils
Systèmes de gestion de code source

Serveur de travail collaboratif Michaël Hoste -

Les systèmes de gestion de version

IN Tech - 12 janvier 2010 Open Source et innovation : le Libre comme méthodologie de développement

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Méthodes et outils employés pour développer des logiciels libres

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Samson BISARO Christian MAILLARD

Zimbra. S I A T. T é l : ( ) F a x : ( )

Bacula R - The Network Backup Solution

L'automatisation open source pour SI complexes

2 Formation utilisateur

Gestion collaborative de documents

Portails d'entreprise sous GNU/Linux

Travail d équipe et gestion des données L informatique en nuage

PostgreSQL, le cœur d un système critique

FusionInventory. Journées Perl. Gonéri Le Bouder Juin Strasbourg

Présentation du logiciel Free-EOS Server

OBM : Découvrez LA solution de messagerie collaborative libre!

Mettez Linux en boîte avec ClearOS

Hébergement de sites Web

Extensions, Documentation, Tutoriels, Astuces

Systèmes de tickets avec RT

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

9 rue Lucien Roullier Goussainville / INGÉNIEUR SYSTÈME LINUX

L art d ordonnancer. avec JobScheduler. François BAYART

Pourquoi utiliser SharePoint?

Notre Catalogue des Formations IT / 2015

Le système de gestion de version Git et GitHub

DataStudio. Solution d intégration des données et de diffusion de l information

Hébergement MMI SEMESTRE 4

Présentation Toulibre. Jabber/XMPP

WordPress : principes et fonctionnement

Retour d'expérience avec : OCS Inventory & GLP

MailStore Server 7 Caractéristiques techniques

Retour d expérience sur Prelude

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

A5.2.4 Étude d une technologie, d'un composant, d'un outil

IBM Tivoli Compliance Insight Manager

ClariLog - Asset View Suite

Guide d installation de Gael

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Ingénieur Généraliste Spécialité Informatique

Messagerie instantanée

Tour des Unités du C.I.A.M. Tour des Unités du C.I.A.M. Maurice Baudry Laboratoire Statistique & Génome, Évry.

Programmation Web. Madalina Croitoru IUT Montpellier

DenyAll Detect. Documentation technique 27/07/2015

Systèmes en réseau : Linux 1ère partie : Introduction

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Web & Libre. Outils pour être présent sur le net librement

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

La Qualité, c est Nous!

Système de gestion de contenu

Présentation du Serveur SME 6000

DSI - Pôle Infrastructures

Idéalement, une mission alliant XML ou base de données SQL avec des technologies internet et/ou logiciels libres.

Analyse Concurrentielle Retrospect et ses concurrents

Offres de stages 2011/2012

FILIÈRE TRAVAIL COLLABORATIF

1/15. Jean Bernard CRAMPES Daniel VIELLE

ContactOffice. La Messagerie collaborative pour l'éducation. Assises 2015 du CSIESR Avignon

Panorama des CMS open sources. Sylvain Ferrand, CMAP École Polytechnique Journées Mathrice, Poitiers, 19 mars 2008

Expert technique J2EE

les techniques d'extraction, les formulaires et intégration dans un site WEB

Serveur Subversion Debian GNU/Linux

Infrastructure Management

Solution de stockage et archivage de grands volumes de données fichiers.

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre

Technologie de déduplication de Barracuda Backup. Livre blanc

Travailler à l'ensimag avec son matériel personnel

MailStore Server. La référence en matière d archivage d s

LES SOLUTIONS OPEN SOURCE RED HAT

JAN OLIVIER Expert Supervision Architecte & Administrateur système

MATRICE DES FONCTIONNALITES

! " # $ % & OPN Day Paris 14 mars 2006

ContactOffice. Le Bureau Virtuel des ENT

Atelier «Migration vers Linux et les Logiciels Libres»

Portail collaboratif Intranet documentaire Dématérialisation de processus

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

L identité numérique. Risques, protection

Programme Opérations de registre avancées Introduction à la supervision et à la gestion de réseaux

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Sextant. RFS Consultants Décembre 2008

Smart Notification Management

IBM Tivoli Monitoring, version 6.1

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Travail collaboratif. Glossaire

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Architecture existante (principale)

Sauvegardes sous Mac OS X


Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Backuppc, retour d expérience

Groupe Eyrolles, 2004 ISBN :

L auto-hébergement. Sébastien Dufromentel, Clément Février ALDIL, Conférence jeudi du libre. 7 février 2013

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Transcription:

Outils de développement collaboratif Envol 2012 Olivier Thauvin 24 janvier 2013 Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 1 / 80

1 Avant Propos 2 Versionner 3 Communiquer 4 Documenter : Wiki 5 Gérer les bogues 6 Les tout en un : Trac 7 Conclusion Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 2 / 80

Avant Propos Moi... Officiellement Admin. Système et Réseau au LATMOS Admin. de la forge de l IPSL Officieusement contributeur Mageia ex-contributeur Mandriva, PLF codeur PERL (voir C)... Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 4 / 80

Outils collaboratifs? Avant Propos outils : Collaboration : Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 5 / 80

Avant Propos Outils collaboratifs! Ne pas oublier les outils aident à travailler ensemble les outils ne régleront pas les conflits Quelques outils essentiels : Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 6 / 80

Versionner Définition Besoin initial : tracer les changements (qui, quand, quoi) synchroniser le travail depuis plusieurs machines de plusieurs personnes ne pas perdre de code Principe Enregistrer les modifications au fur et à mesure du développement. Bonus sert de sauvegarde permet de faire des statistiques Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 8 / 80

Versionner Centralisé vs Décentralisé Centralisé : point de stockage unique donc dépendant du réseau enregistrements ordonnés Décentralisé : plusieurs points de stockage la centralisation est une convention chacun a la totalité de l historique permet de travailler off-line chaque modification est un «patch» Les décentralisés sont... plus souples mais aussi plus compliqués Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 9 / 80

Versionner Préhistoire Il était une fois... Source Code Control System (SCCS) 1972 (plus maintenu) sur IBM System/370, System V, Solaris obsolète Revision Control System 1982 (dernière release : 5.8.1 5 juin 2012) GPL (logiciel GNU) gestion fichier par fichier local à la machine Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 11 / 80

Versionner Dépôts Centralisés Concurrent Versions System Historique : début : 1986 (shell script autour de rcs) écrit en C GPL (logiciel GNU) Fonctionnalité : mode client/serveur serveur autonome via ssh mode anonyme Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 14 / 80

Versionner Dépôts Centralisés Concurrent Versions System Pour : relativement simple à utiliser stable très répandu Contre : commit non atomique pas de renommage des fichiers gestion des branches acrobatique communique (trop) souvent avec le serveur Utiliser plutôt subversion pour les nouveaux projets. Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 15 / 80

Versionner Dépôts Centralisés Subversion Historique : 2000 : début du projet par Collabnet 2001 : Subversion sous subversion remplaçant de CVS Features : mode client/serveur serveur autonome via apache (mod dav) via ssh mode anonyme Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 17 / 80

Versionner Dépôts Centralisés Subversion : le bonheur Pour : très bien documenté simple à utiliser d autant plus pour les utilisateurs de CVS stable (désormais très utilisé) 0 maintenance sur le dépôt (à part les backups) stockage intelligent coté dépôt permet de travailler sur une partie seulement support d ACLs Recommandé : pour remplacer CVS pour les personnes nouvelles dans le versionnement Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 18 / 80

Versionner Dépôts Décentralisés Git Historique Principe Développé par Linus Torvalds pour le kernel Linux remplaçant de BitKeeper première release : 7 April 2005 dernière version : 1.8.0.1 (26 Novembre 2012) chaque révision est une liste de bloc de data (référencés par leur sha1) de chemin l historique du dépôt : la liste des révisions échange de patch entre les dépôts ssh web Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 21 / 80

Versionner Dépôts Décentralisés Git Énormément de fonctionnalité très performants sauvegarde incrémentale des modifications compression des données support de modération et signature numérique Dans la pratique plusieurs manière de faire les choses beaucoup de commandes obscurs nécessite une formation ou au moins un investissement En résumé : seulement pour les «utilisateurs expérimentés» Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 22 / 80

Versionner Dépôts Décentralisés Git-svn Principe copie de travail sous git dépôt distant sous subversion git-svn synchronise les deux (pull/push) Avantages travail hors connection souplesse de git Points faibles absence de certaines fonctionnalités peut «endommager» le dépôt peut créer des problèmes obscurs Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 24 / 80

Versionner Dépôts Décentralisés darcs historique première release : 3 mars 2003 dernière version : 2.8 (22 avril 2012) écrit en haskell (langage fonctionnel) basé sur la théorie de patch chaque révision est un patch gestion des dépendances entre patch (pas d ordre) échange de patch entre dépôts chaque branche est un dépôt Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 26 / 80

Versionner Dépôts Décentralisés darcs Ce qui est bien : très simple à utiliser (hormis la gestion des dépôts) très innovant dans le principe très souple Ce qui n est pas bien : écrite en haskell, donc pas disponible partout parfois lent, ou réaction bizarre assez peu répandu Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 27 / 80

Versionner Dépôts Décentralisés Mercurial historique première release : 19 Avril 2005 dernière version : 2.4.1 (3 Décembre 2012) écrit en python remplaçant de BitKeeper (aussi) un git mais en simple bien documenté parfait? Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 29 / 80

Versionner Disponibilité selon les OS Comparaison rapide Disponibilité Unix Mac OS Windows Autres... Svn Oui Natif Tortoise Android Git Oui Oui?? Darcs Oui???? Mercurial Oui?? Oui Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 31 / 80

Versionner Protocole de communication Comparaison rapide Communiquons! Propres http(s) ssh Autres... Svn X X X Git X X Darcs X X Mercurial X X Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 32 / 80

Versionner viewvc, darcsview, gitview Outils de visualisation : viewvcs, darcsview, gitview Fonctionnalités outils web supportent plusieurs dépôts lecture seule sur les dépôts liste les fichiers présents vue de l historique vue de l origine des lignes d un fichier Sont disponibles : viewvc cvs, subversion darcsweb darcs gitweb git Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 34 / 80

Viewvcs Versionner Outils de visualisation : viewvcs, darcsview, gitview Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 35 / 80

Viewvcs Versionner Outils de visualisation : viewvcs, darcsview, gitview Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 36 / 80

Communiquons! Communiquer La chose la plus importante en communication, c est d entendre ce qui n est pas dit. Drucker, Peter F Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 38 / 80

Communiquer Mail Mail A retenir tout le monde l utilise tout le monde n a pas une adresse fiable semble instantané mais ne l est pas lecture différée si absence Liste de diffusion : permet de rationaliser les mails : soit pour information soit pour discussion fonctionne par abonnement libre modéré permet l archivage des mails Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 40 / 80

Communiquer Mail Simple et efficace : Mailman Présentation Logiciel GNU, Libre écrit en python (UNIX) Points forts configuration via le web délégation de gestion des listes très configurable peu de maintenance Points faible trop d options (?) pas de connection avec des bases externes (ldap, sql,... ) Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 42 / 80

Communiquer Mail Sympa Présentation Logiciel Libre (GPL) écrit en perl (UNIX) Points forts configuration via le web délégation de gestion des listes support de base de compte externe (ldap, sql) supporte des grosses listes (700 000 membres) Points faible relativement complexe à mettre en place (selon besoins) Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 44 / 80

Communiquer Chat le Chat sous la souris Définition Discussions temps réel (texte) publiques (salon) privées Intérêts peu intrusif réduit les distances suivi de discutions publiques Pièges peu devenir chrono phage nécessite la «culture du chat» Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 46 / 80

Communiquer Chat Internet Relay Chat Présentation crée en 1988 (rfc1459, 1993) protocole simple purement texte permet l échange de fichier (pb de sécurité) Pour et contre nombreux clients (graphique et texte) simple à utiliser ne nécessite pas obligatoirement de compte très répandu dans le monde du libre très limité dans les fonctionnalités Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 48 / 80

Communiquer Chat Extensible Messaging and Presence Protocol (XMPP) Présentation Créé en 1999, (première RFC en 2004) protocole basé sur XML supporte : texte, VoIP, vidéo, jeux,... utilisé par Google (2005), AOL (2008), MSN (2011) Pour et contre beaucoup plus riche qu IRC communauté jabber active plus sécurisé qu IRC un peu plus compliqué à prendre en main Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 50 / 80

Communiquer Forums Discussion via le WEB Présentation site web discussion organisé par sujet (topic) une discussion = «1 thread» les anciennes discutions restent en ligne Internet oblige il faut un compte pour poster (anti-spam) présence d administrateurs et/ou modérateurs il faut surveiller les contenus surtout utilisé pour l entraide Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 52 / 80

Communiquer Forums phpbb Présentation logiciel libre écrit en php support d authentification ldap (selon les versions) Pour/Contre simple à utiliser plusieurs variantes disponibles (fork) Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 54 / 80

Documenter : Wiki Mon wiki c est le wiki de tout les wiki Présentation application web (site web) collaboratif (plusieurs personnes) edition de page Donc gestion d utilisateurs (et groupes) gestion de verrous sur les pages (éditions concurrentes) format simplifié d édition de contenu versionnement des pages Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 56 / 80

Documenter : Wiki Dokuwiki Dokuwiki Présentation écrit en php simple à installer sans base de données Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 58 / 80

Documenter : Wiki MediaWiki Le wiki de Wikipedia Présentation écrit en php écrit pour wikipédia edition partielle des pages, fonctionnalité anti-spam support multilingue, multimédia gestion d utilisateurs complète («admin vs users») Pour/contre Pour : très complet communauté active Contre : plus de configuration à faire Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 60 / 80

Gérer les bogues Gestion des bogues Besoins : lister les problèmes ou besoins gérer les priorités commenter le problème suivre l évolution des problèmes marquer sa résolution garder l historique, pouvoir revenir sur un bogue Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 62 / 80

Gérer les bogues Bugzilla Bugzilla Présentation écrit en perl gestion de multiple produits utilisation de base données (mysql, pgsql,... ) Pour/contre Pour : très complet très utilisé Contre : trop lourd pour des petits projets Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 64 / 80

Bugzilla Gérer les bogues Bugzilla Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 65 / 80

Gérer les bogues RT : Request Tracker RT : Request Tracker Présentation écrit en perl, utilisé par le CPAN bug tracker, support clients, help desk support smart phone Pour/contre Pour : très complet communauté active simple à utiliser Contre : difficile à mettre en place Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 67 / 80

Gérer les bogues Mantis Mantis Présentation écrit en php nécessite mysql ou postgresql traduit dans 68 langues support smart phone Pour/contre Pour : fonctionnalité intéressantes simple à utiliser Contre : écrit php (problèmes de sécurité lié à php). Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 69 / 80

Les tout en un : Trac Trac Présentation écrit en python wiki, bug tracker, gestion de projet, visualisation du code base données : sqlite, mysql/postgres Pour/contre Pour : tout en un simple à mettre ne place lien facile entre les composants adapté pour des petits/moyens projets Contre : peu de fonctionnalités dans chaque partie Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 71 / 80

Trac - Wiki Les tout en un : Trac Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 72 / 80

Trac - Timeline Les tout en un : Trac Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 73 / 80

Trac - Roadmap Les tout en un : Trac Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 74 / 80

Trac - Code Les tout en un : Trac Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 75 / 80

Trac - Bugs Les tout en un : Trac Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 76 / 80

Conclusion Bien choisir Avant mise en place pensez : au coût de mise en place (on ne le fait qu un fois, ouf!) au coût de maintenance aux problèmes de sécurité aux coût d évolution Ne faites pas ça chez vous! Pour être efficient ces outils doivent facilement accessibles, avant de les choisir : vérifier qu une solution d hébergement n existe pas déjà discuter avec l ASR de votre besoin (c est lui qui aura les problèmes) pensez au backups! Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 78 / 80

Conclusion Les priorités Le versionnement doit toujours être mis en place...... en premier!! installation facile fonctionnalités indispensables le reste viendra avec les besoins Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 79 / 80

Merci Conclusion Question? (c) Wikipédia Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 80 / 80