# Rational ClearCase

Rational ClearCase est une forge logicielle propriétaire éditée par IBM en tant que plate-forme intégrée. C'est un système de gestion de développement collaboratif permettant notamment la gestion du code source ou l'aide à la conception de logiciels.

## Historique

Initialement appelé simplement ClearCase, l'outil a été développé par la société Software Atria et réalisé en 1992 pour les systèmes UNIX.
Après plusieurs fusions et acquisitions, ClearCase a été acheté par IBM qui s'occupe de son développement et le vend désormais sous le nom de Rational ClearCase.
Depuis la version 7, Rational Clearcase intègre une sur-couche appelée UCM (Unified Change Management) utilisable ou non par l'utilisateur. La suite logicielle est donc structurées en deux parties:
* Base Clearcase : contient les outils de bases.
* UCM : surcouche Base Clearcase contenant de nouveaux concepts (activity, delivery, rebase, baseline, stream, project manager, etc.) orientés objets. Il permet également de gérer plus efficacement les développements multi-sites.

## Caractéristiques

Au-delà de la simple gestion de versions de fichiers centralisée, ClearCase offre les mécanismes permettant de gérer le cycle de vie d'un logiciel. Il permet d'identifier l'ensemble des versions de fichiers qui constituent une version d'un produit logiciel. Il permet aussi des audits de fabrication, en conservant tous les paramètres de l'environnement qui ont permis la construction du binaire. Il permet le traçage des modifications et le travail à plusieurs sur un même projet.
Rational ClearCase permet aussi à des développeurs de travailler en parallèle sur le code source logiciel. Si on considère que le code source de référence est sur une branche principale, alors le développeur, qui souhaite faire des modifications sans pour autant interférer sur celle-ci, a la possibilité de créer une branche parallèle de développement et ainsi avoir sa propre configuration logicielle. Seuls lui et les personnes qui le souhaitent peuvent voir son travail. Une fois son développement finalisé et testé, il a la possibilité de fusionner son travail depuis sa branche parallèle vers la branche principale afin que tous les développeurs puissent avoir accès au nouveau code source logiciel.
Rational ClearCase permet aussi le développement en multi-site. Les développeurs de différentes villes ou pays peuvent travailler en parallèle sur le code source de manière transparente. Pour cela, le code source logiciel peut être dupliqué (on parle de réplication) en autant de copies que de sites existants, et chaque équipe travaille sur sa copie du logiciel. Le mécanisme de synchronisation permet aux différentes copies de récupérer les modifications effectuées par les autres. La synchronisation peut être manuelle ou bien automatique, et sa fréquence peut être programmée (en général toutes les 15 minutes si l'entreprise dispose d'une bonne connexion réseau entre tous ses sites). Pour éviter que les modifications des différents sites n'entrent en conflit sur un même fichier, chaque site ne peut créer de version de ce fichier que dans les branches de version lui appartenant.
Rational ClearCase ne permet pas de faire des enregistrements (commit) transactionnels. Ainsi, si un problème survient sur le réseau lors du commit, alors le repository cible sera corrompu et il faudra manuellement revenir en arrière.