29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don




Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Content management -- Gestion de contenu

Date de publication: le mardi 22 mars 2011 à 18h00
Dernière modification: par Pascal BOYER le lundi 28 mars 2011 à 12h43

Table des matières

  1. Content management -- Gestion de contenu
  2. Datatypes -- Types de données
  3. The content class -- La classe de contenu
  4. Class attributes -- Attributs de classe
  5. The content object -- L'objet de contenu
  6. Object versioning -- Gestion des versions des objets
  7. Multiple languages -- Plusieurs langues
  8. The content node -- Le noeud de contenu
  9. The content node tree -- L'arbre de noeuds de contenu
  10. Top level nodes -- Noeuds de niveau supérieur
  11. Node visibility -- Visibilité des noeuds
  12. Object relations -- Relations entre objets
  13. Sections -- Les sections
  14. URL storage -- Stockage d'URL
  15. Information collection -- Collecte d'informations

28/09/2010 9:35

versions 3.9, 3.10, 4.x

The role of a content management system is to organize and store content regardless of type and complexity. The main goal of such a system is to provide a well structured, automated yet flexible solution allowing information to be freely distributed and instantly updated across various communication channels (such as the world wide web, intranets and miscellaneous front and back-end systems). This section describes how eZ Publish actually handles content.
Le rôle du système de gestion de contenu est d'organiser et de stocker du contenu indépendamment de son type et de sa complexité. L'objectif principal d'un tel système est donc de fournir une solution à la fois correctement structurée, automatisée et qui soit flexible afin que les informations soient librement distribuées et instantanément mises à jour à travers différents canaux de communication (tels que internet, intranet et différents systèmes frontend et backend). Cette section décrit comment eZ Publish gère vraiment les contenus.

A typical example / Un exemple typique

Let's consider a scenario at a university with a need of storing information about students. Most off-the-shelf content management systems will offer a selection of built in content types. There might for example exist a "Person" type, consisting of fields like "name", "birthdate", "phone number" and so on. However, the custom student data will probably not fit perfectly into this predefined model since it might consist of information that is specific for the university (for example student ID, department, etc.). Even though some systems allow the creation of custom structures, the solution is often a complicated and time consuming process that requires both programming and manipulation of the database. In addition, once the solution is in use, future alternation of the structure itself will most likely become a problem. 
Considérons le scénario suivant: un besoin, dans une université, de stocker des informations sur les étudiants. La plupart des systèmes de gestion de contenu disponibles offriront une sélection toute faite de types de contenu. Il pourra exister par exemple un type "Personne" composé des champs "nom", "date de naissance", "téléphone" etc... Cependant, les données personnelles sur les étudiants ne correspondront pas parfaitement à ce modèle prédéfini puisqu'elles sont spécifiques à l'université (par exemple le ID de l'étudiant, le département d'étude, etc...). Quand bien même certains systèmes permettent la création de structures personnalisées, la solution est souvent compliquée et longue à mettre en œuvre, faisant appel à de la programmation et de la manipulation de base de données. En outre, la solution une fois mise en service, les futures modifications de cette structure deviennent généralement un problème.

Content management in eZ Publish / Gestion de contenu avec eZ Publish

Unlike other content management systems, eZ Publish does not make use of a predefined "one-size-fits-all" approach. Instead of desperately trying to fit data into predefined and rigid structures, the system allows the creation of custom structures by the way of a unique object oriented approach. For example, the site developer can build custom structures that perfectly satisfies the storage needs of the university. This is one of the key features that make eZ Publish a flexible and successful system. In addition to offering the freedom of custom structures, it also allows the modification of the content structures at run-time. In other words, if the custom student structure used in the example above needs to be modified, then eZ Publish will automatically alter it based on the administrator's commands.
A l'inverse des autres systèmes de gestion de contenu, eZ Publish ne propose pas une approche «une taille pour tout le monde». Plutôt que d'essayer désespérément d'insérer des données dans une structure prédéfinie et rigide, le système permet de créer une structure personnalisée par une approche «orientée objet» unique. Le développeur d'un site peut par exemple élaborer une structure personnalisée répondant parfaitement aux besoins de stockage de l'université. Ceci est une des fonctionnalités clef de eZ Publish, faisant de ce dernier un système flexible et réussi. En plus d'offrir la liberté de personnaliser les structures, eZ Publish autorise également leur modification en phase d'exploitation (???). En d'autres termes, si la structure personnalisée dédiée aux étudiants de notre exemple ci-dessus a besoin d'être modifiée, alors eZ Publish la modifiera automatiquement en se basant sur les commande de l'administrateur.

Although the possibility to create and modify content structures is a wonderful feature, there isn't always need for using it. This is why an eZ Publish distribution comes with a selection of predefined content structures and thus allows the developer to choose between the following scenarios: 
Bien que la possibilité de créer et de modifier les structures de contenu soit une excellente fonctionnalité, il n'y a pas toujours lieu de l'utiliser. C'est d'ailleurs pour cela qu'une distribution eZ Publish fournit un ensemble prédéfini de structures de contenu permettant au développeur de choisir entre les scénarios suivants:

  • Use the standard/built-in structures 
    Utiliser les structures standards/prédéfinies
  • Use modified versions of the standard/built-in structures 
    Utiliser des versions modifiées des structures standards/prédéfinies
  • Use only custom structures 
    Utiliser uniquement des structures personnalisées
  • Use a combination of standard, modified and custom structures 
    Utiliser une combinaison de structures standards, personnalisées et modifiées

An object oriented content structure / Une structure de contenu orientée objet

The eZ Publish content structure is based on ideas borrowed from the object oriented world of popular programming languages like Smalltalk, C++, JAVA, etc. Superficially, object-oriented means nothing more than looking at the world in terms of objects. In real life, people are surrounded by several objects: furniture, cars, pets, humans, etc. Each of these objects have traits that we use to identify them. This is also the way eZ Publish defines and manages content.
La structure de contenu de eZ Publish repose sur des idées empruntées au monde des langages de programmation orientés objet tels que Smaltalk, C++, JAVA, etc... Grosso modo, «orienté objet» signifie ni plus ni moins que regarder le monde en terme d'objets. Dans la vie, nous sommes entourés d'objets: fourniture, voitures, animaux domestiques, humains, etc... Chacun de ces objets a des traits/caractéristiques que nous utilisons pour l'identifier. Et bien c'est aussi comme cela que eZ Publish définit et manipule les contenus.

The system offers a selection of fundamental building blocks and mechanisms that together provide a flexible content management solution. An actual data structure is described using something called a  content class . A content class is built up of attributes. An  attribute  can be thought of as a field, for example the "birthdate" field in a structure designed to store information about students. The description of the entire structure would be referred to as the "student class". The characteristics of an attribute inside the class are determined by the datatype  that was chosen to represent that attribute. 
Le système propose un jeu de blocs de construction fondamentaux et des mécanismes qui, ensemble, offrent une solution de gestion de contenu flexible. Une structure de données est décrite/définie par l'usage de ce que l'on nomme classe de contenu. Une classe de contenu est contruite à partir d'attributs. Un attribut peut être vu comme un champ: par exemple, le champ «date de naissance» dans une structure destinée à stocker des informations sur des étudiants. La description de la structure complète serait alors référencée en tant que «classe etudiants». Les caractéristiques d'un attribut d'une classe sont déterminées par le datatype (type de données) choisi pour représenter cet attribut.

It is important to understand that a content class is just a definition of an arbitrary structure. In other words, the class itself describes the structure but it does not store any actual data. Once a content class has been defined, it is possible to create instances of that class. An instance of a content class is called a content object. Actual content is stored inside objects of different types. A content object consists of one or more versions. The versioning layer makes it possible to have different versions of the same content. Each version consists of one or more translations. The translation layer makes it possible to represent the same version of the same content in multiple languages. A translation consists of attributes. The attributes are the final elements in the content structure chain, this is where actual data is stored. 
Il est important de comprendre qu'une classe de contenu n'est rien d'autre qu'une définition d'une structure arbitraire. En d'autres termes, la classe elle-même décrit la structure mais ne stocke aucune donnée. Une classe de contenu une fois définie, il devient possible de créer une instance de cette classe. Une instance de classe de contenu est appelée objet de contenu. Le vrai contenu est stocké dans des objets de différents types. Un objet de contenu peut disposer d'une ou plusieurs versions. La couche de gestion des versions permet d'avoir plusieurs versions d'un même contenu, chacune d'elles ayant une ou plusieurs traductions. La couche de gestion des traductions permet de présenter la même version d'un même contenu dans plusieurs langues. Une traduction est composée d'attributs. Les attributs sont les éléments finaux de la chaîne d'une structure de contenu et ceux sont eux qui stockent les données.

The content objects are wrapped and organized by the way of nodes that are placed inside a tree-like structure. This tree is often referred to as the node tree. The following sections contain comprehensive explanations related to the elements that were introduced above. 
Les objets de contenu sont «emballés» et organisés au moyen de nœuds placés dans une structure ressemblant à une structure arborescente (à un arbre). On fait souvent référence à cet arbre en tant qu'arbre de nœuds. Les articles qui suivent contiennent des explications relatives aux éléments/notions introduits ici.



Table des matières

  1. Content management -- Gestion de contenu
  2. Datatypes -- Types de données
  3. The content class -- La classe de contenu
  4. Class attributes -- Attributs de classe
  5. The content object -- L'objet de contenu
  6. Object versioning -- Gestion des versions des objets
  7. Multiple languages -- Plusieurs langues
  8. The content node -- Le noeud de contenu
  9. The content node tree -- L'arbre de noeuds de contenu
  10. Top level nodes -- Noeuds de niveau supérieur
  11. Node visibility -- Visibilité des noeuds
  12. Object relations -- Relations entre objets
  13. Sections -- Les sections
  14. URL storage -- Stockage d'URL
  15. Information collection -- Collecte d'informations

Commentaires