« Home « Kết quả tìm kiếm

Intégration d'un gestionnaire de versions pour les documents dans le portail Web de travail collaboratif


Tóm tắt Xem thử

- Intégration d'un gestionnaire de versions pour les documents dans le portail Web de travail collaboratif.
- Dans le cadre de stage, nous avons développé un nouveau module qu'il permet de manipuler les fichiers avec les méthodes du protocole DeltaV.
- Chapitre 3: Intégration de système de gestion de versions dans le gestionnaire de fichiers de phpGroupWare ...29.
- 1 Gestion par le serveur Web apache.
- Ce stage se déroule dans le cadre d'un projet pour améliorer les plate-forme ProGet et PicoLibre..
- PicoLibre est développée dans le cadre du projet PeCoRes[4].
- Dans le chapitre 3, nous abordons des possibilités d'intégration de gestionnaire de versions dans le gestionnaire de fichiers, ainsi qu'une partie de réalisation qui permet de choisir entre les approches présentées.
- Les tests ne posent pas de problème et rien n’est affecté dans le reste du code .
- Il propage ensuite la modification dans le système de contrôle de versions et pose une marque pour indiquer que le bogue a été corrigé..
- Fusionnez dans le tronc commun la modification propagée dans la branche de livraison..
- Il faut alors récupérer le correctif dans la version livrée et l’appliquer à la version de développement, relancer les tests et propager la modification dans le système de contrôle de versions..
- En utilisant les clients CVS et les outils associés, les développeurs peuvent faire des modifications du contenu sur le serveur.
- Les développeurs apportent quotidiennement des améliorations aux sources dans le dépôt CVS.
- Souvent, ces développeurs sont dispersés dans le monde entier .
- Ce protocole permet de transférer les fichiers depuis et vers le serveur Web..
- Il définit un ensemble de nouvelles méthodes, d'en-têtes, et de codes d'état permettant d'enrichir le protocole HTTP WebDAV emploie XML pour transmettre des données structurées dans le corps de messages au protocole HTTP, ce qui lui permet de décrire des données plus complexes que celles supportées par le protocole HTTP.
- Des applications doivent être modifiées pour interagir avec le serveur de Web qui utilise le protocole WebDAV, Par exemple l'Internet Explorer 5 et des applications de la suite d'Office 2000 ont déjà été modifiés pour intégrer le protocole WebDAV en ajoutant une nouvelle caractéristique appelée « Web Folders.
- Il y a beaucoup de serveurs WebDAV existants, tels que le module mod_dav du serveur d'Apache, Microsoft Internet Information Server (IIS) 5, le Glyphica PortalWare, Xythos Storage Server, le DataChannel RIO, le serveur d'IBM DAV4J..
- Webdav autorise les changements directement sur le serveur Web, Il offre la capacité de copier et de déplacer des pages Web et pour recevoir une liste des ressources dans une collection.
- Ces informations sur l'information (appelée les propriétés dans WebDAV, mais également connue comme méta-données) sont particulièrement utiles dans le cas de recherche.
- Les verrouillages peuvent être dans le cadre d'une simple ressource ou d’une hiérarchie des ressources, telles qu'une collection et ses ressources membres.
- la différence principale est le type de dépôt choisit par le serveur pour stocker les propriétés et les ressources.
- Le serveur IIS 5 de Microsoft emploie le système de fichiers de Windows 2000 en tant que dépôt, et fournit une intégration entre les services de système de fichiers et les services de WebDAV.
- Quand un fichier est verrouillé par WebDAV, il est également verrouillé dans le système de fichiers, et par conséquent un utilisateur local ne peut pas écrire sur un fichier verrouillé par un utilisateur à distance.
- En revanche, le module d'Apache mod_dav utilise également un dépôt d ans le système de fichiers, mais exige que le serveur Apache possède tous les droits d'accès sur ces fichiers de WebDAV.
- Le serveur de Glyphica PortalWare a créé un système de gestion de contenu qui repose sur le système Versant, une base de données d'objet orienté.
- Le serveur de stockage de Xythos utilise une base de données relationnelle pour le stockage.
- Le serveur de.
- Pour créer une ressource versionnée, un client effectue le méthode VERSION à une ressource non versionnée, ensuite le serveur remplace la ressource non versionnée avec la création de nouvelle ressource versionnée et crée une révision initiale qui représente la ressource non versionnée.
- Toutes les fois qu'une nouvelle révision est créée, le serveur crée un nouveau, unique URL appelé URL stable.
- Une version est créée par la mise à jour d'une ressource dans le dépôt(check-in) qui correspond à une extraction (check- out) de ressource.
- Le serveur assigne un nouvel URL distinct pour chaque nouvelle version, et cet URL ne sera jamais employé pour identifier une autre ressource que cette version.
- Normalement, les opérations dans le protocole HTTP sont appelées les méthodes, le protocole HTTP a définit un ensemble des méthodes (GET, HEAD, POST, OPTIONS, PUT, DELETE) et avec l’apparition de WebDAV, on a ajouté des méthodes pour travailler en collaboratif comme : LOCK, UNLOCK, PROPFIND, PROPATCH, COPY, MOVE, MKCOL.
- de nombreux types de REPORT que le serveur DeltaV peut générer..
- Heureusement, le protocole Deltav fournit un caractéristique de versionnement automatique (Autoversioning), qui permet à un client WebDAV de manipuler des données sur le serveur DeltaV en laissant celui-ci réaliser une gestion automatique des versions..
- Dans le premier cas, on applique le modèle CHECKOUT- PUT/PROPATCH- CHECKIN et dans le deuxième cas, on utilise le modèle LOCK- CHECKOUT- CHECKIN – UNLOCK.
- 4.5 Espace de travail (Workspace).
- Dans le premier type d’espace de travail, côté client, toutes les ressources du projet sont copiées sur le disque local du client, et tout le travail de changement a lieu sur les copies locales (c'est comme dans CVS).
- Une fois que l’édition est finie, les changements locaux sont écrits sur le serveur (utiliser PUT) et ensuite il va être versionné.
- Puisque dans cette approche, le client maintient les états de l’espace de travail de son côté le serveur connaît peu d'informations.
- Pour permettre cela le serveur ajoute une nouvelle notion, c’est la ressource en usage (Working-resource).
- La ressource en usage est créée sur un emprunt (CHECK-OUT), et elle correspond à un endroit sur le serveur où le client peut écrire le contenu d’une ressource empruntée quand elle est prêt à la reverser.
- ressource en usage sur le serveur et retourne l'URL de cette ressource au client, dans le champ.
- Dans le cas d’espaces de travail, coté serveur, Il y a de nombreux d’endroit sur le serveur qui permettent d’accéder à plusieurs projets sur le serveur à travers des URLs.
- En fait chaque collaborateur a un espace de travail personnel, mais cet espace de travail est sur le serveur..
- Par contre sur le serveur, il faut implémenter des demandes additionnelles pour isoler pour chaque collaborateur dans une partie d’espace de noms sur le serveur.
- Par défaut un historique de versions n’est pas assigné par un URL donc il n’est pas visible dans l’espace de schéma URL, cependant quand la caractéristique historique de version est supportée, chaque historique de versions est associé à un URL unique sur le serveur..
- Le serveur assignera un nouvel URL unique à la nouvelle ressource de version..
- Le nom de version est stocké dans le propriété Dav :version-name de chaque révision..
- En général Subversion est un système de contrôle de révision, développé dans le but de remplacer CVS comme norme du contrôle de révision dans le monde du libre.
- Si votre connexion réseau est coupée pendant que vous propagez une modification, celle-ci sera annulée proprement dans le dépôt..
- Ainsi, vous pouvez voir ce que vous avez modifié sans avoir à contacter le serveur.
- Sous CVS par exemple, pour créer une branche ou une marque, le serveur doit modifier tous les fichiers du dépôt.
- Le serveur peut même fonctionner sous Windows.
- Enfin chacun fusionne ces changements sur le serveur..
- Client2 sauvegarde ses changements d’abord, Client1 veut sauvegarder ses changements plus tard, le serveur va l'informer que ce fichier a changé depuis la dernière fois qu’il l'a copié.
- Le serveur va lui demander de fusionner les nouveaux changements du serveur dans sa copie.
- Dans le cas où les changements de Client1 surchargent les changements de Client2, il y a un confit.
- Le serveur annonce à Client1 qu'il doit faire le fusion avec la version de ce fichier plus tard.
- Une fois que Client1 a manuellement résolu le confit, il peut sauvegarder le fichier fusionné vers le serveur..
- Les étiquettes et les branches sont réalisées par des copies et des liens sur les fichiers et les répertoires dans le dépôt..
- Rollback CVS permet de faire un retour arrière vers n'importe quel commit dans le dépôt..
- Cependant le mauvais commit restera dans le dépôt..
- Chapitre 3: Intégration de système de gestion de versions dans le gestionnaire de fichiers de phpGroupWare.
- De plus, le serveur de subversion n'est pas,lui non plus, un serveur universel de DeltaV.
- Donc un client de WebDAV ou de DeltaV peut être capable d’interopérer avec lui, mais seulement si ce client opère en utilisant les fonctionnalités que le serveur implémente.
- Le processus svnserve doit être déployé sur le serveur soit comme un daemon ou soit par inetd..
- à travers le serveur Apache..
- Pour que le serveur Apache puisse fonctionner avec Subversion, on utilise un sous-module de mod_dav, c’est mod_dav_svn[1] qui permet à serveur Apache d’accéder au dépôt de Subversion.
- Lorsque le serveur est configuré dans ce mode, si une requête demande des informations de Subversion, elle est tranférée directement au module mod_dav_svn pour traitement..
- Pour que le gestionnaire de fichiers puisse travailler en mode DAV on doit activer le module mod_dav sur le côté de serveur.
- Le mod_dav a été incorporé directement dans le serveur d'Apache à partir d’Apache 2.0.
- Le serveur de DAV fonctionne au dessus du système de fichiers pour chercher et stocker les ressources et des collections de DAV (des fichiers et des répertoires)..
- Une possibilité pour intégrer Subversion dans le gestionnaire de fichiers est l'utilisation de.
- Parmi toutes les raisons de choisir subversion, l'une des plus intéressante est que subversion a été conçu et implémenté comme une collection de bibliothèques réutilisables, écrites dans le langage C.
- Un ensemble des fonctions de l'espace d'utilisateur dans le langage PHP est groupé dans une extension.
- Dans le cas d'Apache, d'IIS, ces événement se produisent lorsque des pages sont demandées par les utilisateurs à distance.
- Une autre possibilité pour intégrer le gestionnaire de version dans un gestionnaire de fichiers est d'implémenter des méthodes supportées par le gestionnaire de version dans WebDAV/DeltaV et qui manquent dans le gestionnaire de fichiers actuel..
- La valeur de REPORT peut dépendre des informations additionnelles dans le corps et l'en-tête de la requête « REPORT »..
- Le corps de « REPORT » spécifie quel type de REPORT est exigé ainsi que les informations additionnelles qui peuvent être utilisées pour customiser le « REPORT » au dessous dans le corps de la requête nous allons spécifier le type de REPORT.
- Nous avons décidé de choisir la deuxième approche pour intégrer le gestionnaire de versions dans le système de gestionnaire de fichiers parce que dans ce système il existe déjà des composants qui nous aident à manipuler un serveur DAV et de surcroît Subversion supporte l'"autoversionning".
- Quand le serveur reçoit la requête, il passe toutes les phases d'autorisation pour vérifier le droit d'accès, quand les certificats ne sont pas égaux à ceux qui sont valides pour la ressource, le serveur retourne un statut «non autorisé »..
- si l'utilisateur choisit de ne pas compléter le dialogue et appuie sur l'annulation, le client montre en général la page d'erreur que le serveur a envoyée avec le statut «non autorisé»..
- Par exemple, n'importe qui peut donner son nom d'utilisateur et le mot de passe associé, et permettre à une autre personne d'entrer dans le.
- La ressource protégée est « n'importe quel fichier appelé foo.bar » dans le répertoire / home/admin/public_html ou n'importe où sous lui.
- De même, l'identification des certificats qui sont autorisés pour accéder à foo.bar est énoncée par les directives dans ce cas, n'importe quel utilisateur avec le certificat valide dans le fichier de /home/admin/foo.htpasswd peut y accéder..
- C'est dans cette phase que le serveur vérifie qu'une adresse IP du client a le droit d'accéder au document ou pas.
- Puisque subversion fonctionne avec le serveur apache, donc il dépend beaucoup de la méthode de sécurité qu’apache fournit.
- chemin dans dépôt] dans le cas où on a plusieurs dépôt, par contre dans le cas on a juste un dépôt une section commence par [chemin dans dépôt].
- Sur l’exemple au dessus, on a spécifié que avec le chemin « /branches/projet » dans le dépôt « projet«, l’utilisateur « harry » a le droit de lecture et d’écriture et l’utilisateur « sally » a seulement le droit de lecture, les autres ne peuvent pas accéder à ce chemin.
- L'effet de cela est toujours un chemin le plus spécifique dans le dépassement de fichier d’accès..
- Pour que le mod_authz_svn puisse travailler avec le serveur LDAP, tout d’abord on a besoin de spécifier l’adresse de serveur LDAP avec la directive AuthzSVNLDAPURL.
- Dans le cas où on veut que mod_authz travaille avec un groupe par défaut, c’est le group ayant le.
- Et dans le cas on étend le mode défaut group, on peut déclarer des groups de ldap dans le fichier d’accès, le group de ldap commence par le terme ‘ldap.
- Voici un exemple utilisant le groupe de ldap dans le fichier d’accès..
- Dans le cadre de stage, nous avons proposé des solutions pour intégrer le gestionnaire de versions dans le gestionnaire de fichiers.
- Nous avons décidé de réutiliser des méthodes de WebDAV, qui est déjà inplémenté dans le gestionnaire de fichiers, en ajoutant des méthodes de protocole DeltaV pour supporter le fonction de gestion des révisions de document.
- Quand un projet est créé dans Picolibre, cette application crée un répertoire de source dans le dépôt de Subversion et permet à cet utilisateur de connecter et récupérer le source de projet..
- Le serveur LDAP utilisé est OpenLDAP.
- Le svnserve doit aussi être installé, c'est le serveur de Subverison, svnserve est fonctionné dans l'environnement chrooted par jail[17].