Axe Ingénierie des Systèmes d’Informations
Gestion de documents électroniques
(et le travail collaboratif assisté par ordinateur)
Philippe BEAUNE
Philippe.Beaune@emse.fr
Objectifs
● Découvrir différents aspects du document numérique en entreprise :
● les outils, les formats, les usages, ...
● Et permettre une réflexion sur :
● les impacts sociaux, organisationnels, ...
● Aquérir, au passage, une autre vision de l’informatique
Moyens pédagogiques
● Suppression des conférences (industrielles) et des visites en entreprises :
● EDI, ERP, EAI, sécurité, co-revue de projets, perspectives, ...
(cf. http://www.emse.fr/~beaune/supports)
● Découverte de CVS et XML (cours et TP)
● Utilisation obligatoire dans votre projet d'axe de CVS (programmation, documentation, ...) et présence d'une partie XML dans chaque projet
● Une conférence obligatoire sur les aspects juridiques
● Notation de l'U.P. sur les T.P. (à rendre par mél) ; la note du projet d'axe incluera l'utilisation de CVS et la
Emploi du temps
● Jeudi 21 septembre 2006 matin
● Cours : généralités et CVS
● Vendredi 22 septembre 2006 matin
● TP : CVS (sans, puis avec, Eclipse)
● Jeudi 28 septembre 2006 matin
● Cours : XML
● Lundi 23 octobre 2006 matin
● TP : XML 1
● Jeudi 26 octobre 2006 matin
● TP : XML 2
● Jeudi 14 décembre 2006 matin
● Conférence : aspects juridiques du document numérique (présence active requise)
Quelques généralités sur le document numérique (1)
● Document : contenant, contenu, médium
● Contenant : effacement du support, structure (logique/restitution), formats
● Contenu : «contrat de lecture», traitement
automatique du sens (cf. Web Sémantique par ex.),inscription -> texte informé, sens ->
connaissances
● Médium : phénomène social, légitimité d'une info
● cf. RTP DOC : http://rtp-doc.enssib.fr/
Le document numérique (2)
● Document papier : édité, lu ou traité, diffusé, archivé, (perdu ?)
● Document numérique : édité, retouché, traité, retouché, diffusé, traité autrement, archivé, traité encore autrement, retouché encore une fois, …
Le document numérique (3)
● Des formats …
● Des outils …
… pour produire, traiter, archiver, retraiter, diffuser, … une information
Nouvelles conceptions de l’organisation
(J-Y PRAX, Manager la connaissance dans l’entreprise)
<< Pour rester réactive face à un environnement de plus en plus instable, incertain et complexe, l’organisation est
davantage perçue comme un processus de transformation permanente que comme un état fini, elle est pilotée par ses finalités plutôt que par ses structures, elle favorise la
coopération et la transversalité, en autorisant la construction collective de l’intelligence, elle produit du sens. Les
nouveaux modes d’organisation : par projets, par processus, le fonctionnement en réseau, l’ingénierie simultanée, la
dynamique qualité sont fondés sur l’intelligence collective.>>
Inadaptation des S.I.
● Bases de données structurées = 5% des informations d’une entreprise
● Trop rigides : principes de fonctionnement d’une entreprise évoluent plus vite que l’analyse du S.I., décalage permanent, …
● Algorithmique : résolution de problèmes compliqués, solutions multiples mais déductibles par l’analyse
Les NTIC (J-Y PRAX)
« La limite principale des systèmes
d’informations traditionnels est qu’il ne
prennent pas en compte la majeure partie de l’information que l’entreprise produit et gère ; celle qui n’est pas structurée, celle qui n’obéit ni à une rationalité prédéterminée ni à des
traitements standards. »
Contenu du cours
● Passer en revue quelques outils informatiques favorisant le travail collaboratif
● Voir leurs avantages, leurs inconvénients, les
précautions à prendre, l’applicabilité dans un contexte intra-entreprise, inter-entreprise, ...
● Qu’est-ce qui change lorsqu’on numérise l’information ?
● En tirer des généralités ?
Plan
1. Coopération / Groupware : généralités 2. Des outils
● mél, forum, chat, agenda, édition, stockage, vidéoconférence, EDI, Workflow, …
3. Mise en place d'un projet de Groupware
4. Versionnage, CVS
Groupware / collecticiel
● Groupware is intentional GROUP processes and
procedures to achieve specific purposes plus softWARE tools designed to support and facilitate the group’s work.
● Collecticiel (AFCET) : un ensemble de techniques et de méthodes qui contribue à la réalisation d’un objectif
commun à plusieurs acteurs, séparés ou réunis par le temps et l’espace, à l’aide de tout dispositif interactif faisant appel à l’informatique, aux télécommunications et aux méthodes de conduite de groupe.
Groupware
● Groupware technique : communications ou conférences à distance et asynchrone, capitalisation, traçabilité, accès
immédiat et pertinent aux infos, gestion automatique des flux d’infos, gestion plannings
● Groupware organisation : réduction déplacements, réduction des coûts de manip papier, faciliter décisions (accès infos), diminuer les erreurs par monitoring des processus
● Groupware stratégie : apprendre à «apprendre ensemble»,
esprit d’équipe, démarche de changement permanent, partager vision commune, améliorer l’image technologique
Coopération / Groupware (1)
● Les collecticiels (groupware) étendent les possibilités du travail coopératif (CSCW)
● Efficacité centrée processus
● => évolution des entreprises :
● décentralisation, autonomie des groupes
● rapidité d’adaptation / environnement instable
● qualité des processus administratifs
● conception plus rapide
● distributions organisationnelle & géographique
● Le groupe dans le temps & l’espace
même instant instants différents
même lieu réunion planning
réu él. agenda partagé
à distance téléphone courrier
vidéoconf mél
Coopération / Groupware (2)
Coopération / Groupware (3)
● La taille et la durée du groupe
petit grand
temporaire mél, forum sondage par formulaire électronique électronique
permanent base de doc. agenda partagé,
partagée annuaire électronique
● Un groupe est constitué d’humains
● l’outil change les rapports sociaux
● ≠ activités (exécution, assistance, demande, décision, exploration)
● dynamique de groupe (confiance, …)
● changement des organisations
● management : des 3S (stratégie, structure,
système) aux 3P (projet, processus, personne)
Coopération / Groupware (4)
Coopération / Groupware (5)
● « La confiance est un facteur déterminant de la performance collective et en particulier dans le cas des communautés virtuelles ou/et d’équipes dont la production est à forte intensité immatérielle. Même si, d’expérience ou d’intuition, nous partageons tous cette conviction, les mécanismes de création de la confiance restent énigmatiques et peu maîtrisables : la confiance, qu’est-ce que c’est ? Comment la créer ? À quelle rationalité obéit-elle ? »
● « Nous sommes capables de confier notre santé et notre vie à un médecin parfaitement inconnu au seul prétexte qu’il a obtenu un diplôme national que nous ne vérifions même pas, alors que nous hésiterons à confier les clefs de notre véhicule à un laveur de vitre »
● Les fonctionnalités du groupware :
● communication interpersonnelle
● coordination
● collaboration
● mémoire de groupe
● Repenser le système d’information …
… et d’autres choses
Coopération / Groupware (6)
● Objectif du groupware : améliorer (… ?) d’où une adaptation à l’entreprise et quelques
précautions de base :
● administration à moindre coût
● disponibilité, et réactivité aux pannes
● adaptabilité aux évolutions de l’entreprise
● pérennité
● ouverture (standards, extensibilité, composabilité)
Coopération / Groupware (7)
● Une architecture adaptée; exemple d’une architecture distribuée :
● connexion simple entre 2 PC par RTC
● providing (centralisation, réplication)
● interconnexions de réseaux locaux
● … et ne pas oublier les contraintes de sécurité
Coopération / Groupware (8)
● Un collecticiel est un système multi-utilisateur :
● espace de production (modèle conceptuel)
● ex. : édition partagée
● espace de coordination (aspect dynamique)
● ex. : workflow
● espace de communication (échanges)
● ex. : vidéoconférence
Coopération / Groupware (9)
Le trèfle fonctionnel
espace de production
espace de communication
espace de coordination
édition partagée
mél
chat forum
agenda
workflow
Visio-conf
Les enjeux du Groupware
● Faciliter la coordination de participants
● Faciliter la communication entre les membres
● Faciliter la cohésion du groupe
● Favoriser l’implication individuelle des membres
● Faciliter le partage des ressources entre les participants
● Faciliter l’organisation du groupe
Des outils : définition
● Définition :
● Le groupware est l’ensemble des
technologies et des méthodes de travail associées qui, par l’intermédiaire de la
communication électronique, permettent le partage de l’information sur un support
numérique par un groupe engagé dans un travail collaboratif (Courbon & Tajan)
Un peu d’histoire
● En 1968 : NLS (oNLineSystem), Standford Research Institute, co-rédaction à 17
personnes réparties sur tout le territoire des USA
● En 1968 : démo de vidéo conférence par Doug Engelbart
Des outils : mél & forums
● repose sur un système de messagerie
● possibilité d’attachement
● comm. asynchrone et archivage
● facilite l'information d'un plus grand nombre
● nombreux effets pervers (parapluie, langage, pub/spam, rédaction, inondation, …)
● liste de diff. vs forum
● gestion des méls par agents (cf. Maes)
Des outils : chat
● Communication synchrone
● Conférence à plusieurs
● Echange de messages écrits
● Facilité de mise en œuvre
Des outils : agenda électronique partagé
● màj de son agenda et publication
● recherche de rendez-vous (et déplacements)
● problème de standard
● pb de la maj : PDA, …
● atteinte à la vie privée ?
● … pb d’appropriation incontournable et d’engagement collectif
Des outils : édition conjointe
● Circulation de fichiers => pb des versions, suivi de l’historique, …
● édition conjointe synchrone : tableau blanc, partage d’applications, écran distant,
projection, …
● édition conjointe asynchrone : cf. workflow
Des outils : stockage de données
● Ftp, disques partagés, …
● BdD réparties/distribuées
● Distribution des données / traitement
● Gestion des problèmes de concurrence, de fiabilité, de cohérence, d’optimisation de requêtes ou de transaction, … (verrous, réplications, …)
● cf. SGDT, ERP, …
Des outils : vidéoconférence
● Visioconférence + partage d’applications :
● tableau blanc (bloc-notes)
● bureautique
● …
● Application à la télémaintenance, télédiagnostic, coédition, …
● Attention au comportement des acteurs
Des outils : réunion électronique
● Salle aménagée (écrans claviers) mais discussions «face-à-face»
● Projection d’un résultat (selon les méthodes)
● Vote électronique
● Analyse en direct
● Rationalisation trop grande ?
Des outils : l’EDI
● Echanges clients/fournisseurs/sous-traitants
● Normalisations dès 1982 (ANSI)
● EDIFACT (ISO) : adm., comm., transp.
● Eviter les re-saisies (erreurs), accélérer les transmissions, …
● Confidentialité, signature, … => réseaux
Des outils : Workflow (1)
● Automatisation de tout ou partie d’une procédure administrative, durant laquelle des documents, des informations, ou des tâches sont passées d’un
participant à un autre pour une action, selon un ensemble de règles
● Workflow : ad hoc (notes d’infos), administratif (ordres de missions), documentaire (production de documents), production (pilotage, cœur du métier de l’ent.)
Des outils : Workflow (2)
● opération : élément exécutable par un acteur
● acteur : personne en charge d’une op.
● règles : gestion automatique des passages
● circulation : séquentielle, parallèle, conditionnelle
● mise en œuvre par formulaire él., et/ou par par BdD partagée (pour stockage)
Des outils : Workflow (3)
● Amélioration des délais, de la qualité, de la fiabilité, de la confidentialité, … : permet de meilleures décisions
● Suivi possible des procédures en cours
● Meilleure vision de son travail mais … pression accrue
● (Ré)organisation des procédures
● Problèmes d’ouverture (standards ?)
Des outils : Workflow (4)
● Besoin de flexibilité (utilisation de rôles vs.
acteurs)
● Ne doit pas tuer la créativité
● Doit être accepté par tous
● Langages graphiques
● Recherches sur flexibilité (avec agents), sur formalisations, …
GED
● Objectifs : diminuer stockage et transactions, améliorer recherche, meilleure diffusion,
sécuriser, décentraliser le traitement
● GED administrative, bureautique, documentaire, technique
● Indexation et recherche
● Enregistrement des documents définitifs, ou dès leur naissance ?
● Aspects juridiques
Des outils : divers
● Localisation/interruption (beep-beep-…)
● Post-It électroniques
● Ateliers de génie logiciel
● Vidéo-projection d’un compte rendu live
● Environnements de TCAO (génériques ou dédiés) : organisation de lieux communs de stockage (espaces virtuels) et fonctionnalités diverses
● A tout ça, il faut ajouter maintenant la mobilité
Le trèfle fonctionnel
espace de production
espace de communication
espace de coordination
édition partagée versionnage
mél
chat
forum Visio-conf agenda
workflow
Mise en place d’un projet groupware
● Diagnostic (problèmes, besoins)
● Conception (pragmatique ; étudier/reconfigurer les processus, les structures, les compétences, ...)
● Réalisation (coûts, délais, migration des systèmes organisationnels et applicatifs, prototypages
successifs)
● Mise en place (maîtrise du changement et gestion de la surcharge de travail)
● Pilotage (amélioration permanente, évaluation de la
Des pièges
● mise en place lente
● avantages difficiles à quantifier
● les seniors rechignent
● besoin de nouveaux rôles
● résistance au partage d’informations
● compétitions inter-personnelles
● overdose d’informations
● croire qu’il ne s’agit que de communications
● problèmes de comptabilités techniques
● restructurations ...
Du travail de groupe à la gestion des connaissances ?
● Carré de Nonaka & Takeuchi
connaissance tacite
connaissance explicite connaissance tacite
connaissance explicite
socialisation
internalisation combinaison externalisation
Plan
1. Coopération / Groupware : généralités 2. Des outils
mél, forum, chat, agenda, édition, stockage, vidéoconférence, EDI, Workflow, …
3. Mise en place d'un projet de Groupware
4. Versionnage, CVS
versionnage : qu’est-ce ?
● Un système de gestion de l'évolution (et
éventuellement de la co-production) d'un document ; et gestion des versions (concurrentes, parallèles)
● Un système de gestion de versions : pour la programmation, les sites Web, les livres, …
● Permet de garder des traces
● Répond au problème des copies multiples dans une arborescence de versions différentes
● Données centralisées sur un serveur
● En extraire une partie pour travailler localement sur sa machine : travail en parallèle possible, aide à la
Versionnage : pourquoi ?
● En Génie Logiciel :
● Développement multi-plateforme, multi-license
● Gestion de produits spécifiques qui évoluent, issus d'un tronc commun qui évolue également
● Traçabilité de l'évolution d'un logiciel
● Notion de release stable (versions majeures, mineures, alpha/beta)
● Possibilité de travail collaboratif
● Incitation à documenter les changements mêmes mineurs
● Utilisable pour la production de n'importe quel document numérique, sous conditions ...
Versionnage : problématique
● Cohérence : si plusieurs documents sont nécessaires à un projet et évoluent
● Dépendances : si un document est modifié, quelques autres documents doivent l'être
● Coordinations : si travail d'équipe
● Consistance : si plusieurs version en parallèle
● Archivage/historisation : permettre des retours en arrière
Versionnage : numérotation
● M.m.p :
● M = Major level ; modif fonctionnelle du produit, compatibilité non garantie
● m = Minor level ; modif fonctionnelle d'une caractéristique
● p = Patch level ; correction de bugs
● Éventuellement ajout de d (développement), a (alpha), b (beta), puis RC (release candidate), numérotés :
● 4.0.8.b2 2.7.1.RC1
● Éventuellement si M=O : en développement
● Éventuellement si m impair : en développement, sinon stable
● CVS fait autrement, mais offre la possibilité de «tags»
CVS : comment ça marche ?
● On peut travailler avec un CVS en local (seul, ou partage de disque) ou sur un serveur (à
plusieurs, en client/serveur)
● L’accès au serveur peut être non sécurisé (pserver) ou sécurisé (kerberos, ssh, …)
● Travail local puis synchronisation avec la base
● Pas sur modèle lock-modify-unlock
● ... mais sur modèle copy-modify-merge
L'outil standard diff
● Standard sous Unix pour fichiers «texte» ; existe
sous d'autres OS, pour d'autres formats de fichiers
Diff fichier1 fichier2
● Sortie de la forme :
n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4
● Exemple :
2c2,4
< voici la ligne 2 --
> voici la ligne 2 modifiée
> et la suivante ajoutée
L'outil historique rcs
● Revision Control System
● Fonctionne sur modèle lock-modify-unlock
● Fichiers texte uniquement
● ci <filename> : check in (crée <filename,v> et
demande un commentaire), voir les options
● co -l <filename> : check out a working copy
● rcsdiff -r1.2 [-r2.3] <filename>
● rlog -r1.2 <filename>
rcs : versions et autres sélections
● Par défaut : 1.1 puis 1.2 puis 1.3 ... à chaque ci
● Option -r2.3 crée une version 2.3
● Option -sToto : spécifie un état (Exp, Stab, Rel)
● Option -wToto : spécifie l'auteur (sinon login)
● Option -dDate : seulement pour co
● Option -n : spécifie un nom symbolique pour ci
utilisable ensuite avec -r pour co
rcs : création de branches
● Développement linéaire par défaut :
(1.1) -> (1.2) -> (1.3) -> (2.1) -> (2.2)
● Pour créer une branche utiliser l'option -r avec par exemple -r1.3.1.1
(1.1) -> (1.2) -> (1.3) -> (2.1) -> (2.2) \----> (1.3.1.1)
● Puis possibilité de recoller avec rcsmerge
rcs : substitution de mots-clés
● rcs substitue ces chaines lors du co
$Author$
$Date$
$Id$ ou $Header$
$Revision$
$Log$
$Locker$
$Name$
$State$
rcs : limitations
● Ne permet de travailler que sur un seul fichier à la fois (fichiers non liés, pas d'ensembles)
● Ne travaille que localement, pas de réseau
(à plusieurs => partage nécessaire du disque)
● Bloque l'accès au fichier «chargés»
CVS : principes
● Concurrent Version System
● Repository = référentiel (local ou client/serveur)
● Modèle copy-modify-merge
● Fichiers texte uniquement
● Convient mêmes aux gros projets
● Reprend les idées de base de rcs
● Beaucoup d'implantations (inclus dans Linux, dans eclipse, existe aussi sous MSWindows)
CVS : fonctionnalités
● CVS gère les numéros de versions et aide à gérer les conflits
● CVS permet aussi de comparer les fichiers locaux avec ceux du référentiel (marche sur du texte ligne à ligne : ne pas
hésiter à aller à la ligne, ne pas tout mettre dans la base)
● CVS permet d’avoir des historiques
● CVS permet d’attacher des commentaires aux versions
● CVS permet d’attacher des noms symboliques aux versions (tags)
● CVS permet de créer des branches puis de fusionner
● Attachement de scripts sur événements (avertissement par
CVS : quelques commandes
● init : création d'un référentiel vide
● import : mise en place initiale des fichiers
● checkout : extrait une copie de travail des modules désirés
● update : met à jour les fichiers d’une copie de travail par rapport aux versions de la base
● commit : archive une version dans la base mais il faut synchroniser avant (avec update)
● add puis commit : ajout d'un fichier
Puisque l'utilisateur Y veut apporter des modifs faites sur une version antérieure (à cause des modifs faites par X), cvs refusera le commit.
Y devra faire un update pour «merger» les modifs de X et les siennes. S'il n'y a pas de conflits, cvs le fait, sinon il avertit et Y doit faire les modifs.
CVS : accès au référentiel
● 5 méthodes d'accès :
● accès direct (en local) : local
● serveur simple (port 2401 par déf.) : pserver
● serveur avec kerberos : kserver
● serveur avec GSSAPI : gserver
● serveur avec rsh/ssh : ext
● cf. variable d'environnement CVSROOT
CVS : versions, sélections, branches
● sélection par dates
● sélection par tag
● création de branches
La gestion de versions
● Il n’y a pas que CVS … mais il est assez simple
● Il est ouvert et gratuit
● Il existe comme outils en ligne sur Linux
● Il existe des versions GUI pour Windows et autres, et des interfaces Web
● Il existe même une version serveur pour Windows NT
● Il est intégré dans eclipse
● Très utilisé dans l’Open Source
CVS : quelques conseils
● Se limiter aux fichiers texte
● Ne pas tout mettre dans CVS
● Ne déposer dans la base CVS un fichier modifié qu’après être vraiment sûr qu’il
fonctionne bien avec le reste(compil, tests, …) à vos claviers …