Nous voulons gérer un CMS (Content Management System). Un CMS est un logiciel permettant de gérer le contenu d’un ou plusieurs sites web. Chaque site porte un nom, est caractérisé par une URL, et est découpé en catégories, imbricables les unes dans les autres. Des utilisateurs sont répertoriés dans le CMS, et chacun peut avoir le droit (ou non) d’écrire dans un site web. Chaque utilisateur doit avoir la possibilité de publier des articles dans une catégorie d’un site web (pourvu qu’il dispose de droits suffisants sur le site). Un article, en plus de son titre et de son texte d’introduction, est constitué de chapitres portant chacun un nom et contenant un texte. Il va de soi qu’on doit avoir la possibilité pour chaque site de conserver l’historique de quel article a été publié par quel utilisateur.