YaCS

YaCS
YACS
Yacslogo200.png
Développeur Bernard Paques
Première version 2002
Dernière version Martin (Mai 2010) [+/−]
Version avancée Lasares [+/−]
Écrit en PHP
Environnement Multiplateforme
Langue Anglais, Français
Type CMS (système de gestion de contenu)
Licence LGPL
Site web yacs.fr

YACS est l'acronyme de Yet Another Community System, ou Content system.

Yacs est un logiciel open source faisant partie de la grande famille des systèmes de gestion de contenu pour le web, avec une forte valeur ajoutée communautaire : c'est-à-dire du contenu dont la génération par une communauté d'utilisateurs y est extrêmement facilitée, notamment pour ce qui a trait au travail collaboratif à distance.

Yacs s'adresse d'abord aux intégrateurs et développeurs de sites pour le compte de tiers, en proposant dans un ensemble cohérent les innovations et bonnes pratiques permises par l'évolution des technologies. Ensuite, Yacs est aussi utile aux webmestres qui cherchent une boîte à outils suffisamment étoffée pour éviter la multiplication des plugins.

À partir d'un simple site plaquette, il permet d'élargir les communications entre les usagers du site, puis structurer les échanges pour augmenter leur efficacité. Plusieurs interfaces programmatiques permettent de prendre en compte les besoins spécifiques.

Sommaire

Caractéristiques

Polyvalence du logiciel
Yacs -parfois surnommé "le couteau suisse du web"- permet de mettre en œuvre dès l'installation la plupart des applications d'un site web, hormis les possibilités de vente en ligne. Les pages HTML générées sont abouties (usage des métadonnées, url réécrites, respect des standards et usage de microformats).
Polymorphisme de la mise en page
Parce que les pages ne sont pas élaboré par des modules cloisonnés, Il est possible de changer le type d'application d'une section ou déplacer les articles entre deux sections de types différents (par exemple transformer un forum en blog, ou faire passer des articles d'un forum vers un blog, et vice versa).
Extensibilité des scripts
Yacs permet aux programmeurs d'étendre les fonctionnalités du noyau à différents niveaux, pour enrichir le modèle de données ou l'interface graphiques à des besoins spécifiques.
Spécialisation pour la collaboration à distance
De nombreux outils permettent de structurer les échanges entre les membres (profils, tâches, décisions, dépôt de documents, clavardages) ce qui fait de Yacs un bon outil pour monter un extranet.
Gestion de contenu facilitée et programmable.
L'administration quotidienne se fait naturellement depuis les pages concernées. L'intégrateur effectue les réglages globaux depuis un panneau de contrôle et peut adapter les interfaces affichées aux usagers.

Histoire

Yacs fut essentiellement développé par Bernard Paques, depuis 2001, pour la constitution d'un extranet d'entreprise avec 4000 utilisateurs répartis dans le monde et plus d'un million de pages créées. Il décida diffuser le logiciel librement, pour bénéficier des retours d'une communauté d'utilisateurs et pour le plaisir de voir sa création utilisée.

  • Les premières versions diffusée datent de 2004, encore en ligne aujourd'hui.
  • Deux versions majeures à ce jour, Macnana puis Martin.
  • La rencontre Chonas 2007 a soudé un noyau d'une dizaine de contributeurs au projet.
  • En 2009 Le site officiel a changé d'adresse, de yetanothercommunitysystem.com à Yacs.fr
  • Eté 2010, les contributions au code sont réorganisées autour des possibilités offertes par les outils Git et Github
  • Février 2011, une nouvelle rencontre est tenue à La Cantine.

Le projet compte actuellement 5 associés qui sont Bernard Paques, Christian Loubechine, Agnès Rambaud, Thierry Pinelli et Alexis Raimbault.

Versions majeures

Le versioning de releases de Yacs fonctionne selon le modèle AA.MM.JJ, soit Année-Mois-Jour. Ainsi la version 10.1.15 signifie que la release a été fournie en 2010 (10.), en janvier (1.), le 15 du mois.

Dans cette syntaxe s'insère parfois une note bêta ou alpha selon l'importance d'aboutissement en vigueur dans le lexique du développement.

Enfin, certaines versions historiques et dites "majeures" portent des noms plus user-friendly, tels Martin ou Macnana, choisis à partir des membres de la communauté.

"Lasares"

Yacs Lasares est la prochaine version majeure. Les innovations prévues et importantes sont :

  • remplacement de la bibliothèque javascript par JQuery ;
  • fonctions basiques de commerce électronique (panier) ;
  • Interface riche utilisant davantage le mécanime Ajax;
  • augmenter les possibilités de configuration du serveur et d'extension des scripts par programmation ;
  • nouvelles interfaces de rencontres et de rendez-vous virtuels.

"Martin"

Cette release est la version majeure de l'année 2010.

Yacs Martin est indéniablement la version qui introduit le logiciel dans la grande patinoire du réseautage par internet : la plupart des outils de collaboratifs/participatifs, inventions internes comme services externes, y sont soit optimisés, soit nativement intégrés.

Les principales évolutions sont :

  • le thème graphique Flexible qui est une sorte de site builder ;
  • l'extension des possibilités de création et positionnement de composants ;
  • la fonction de téléchargement multiple d'images ;
  • les sections de type groupe de travail pour structurer les initiatives autour de projets ;
  • l'intégration de mécanismes d'interactions avec les réseaux sociaux externes.

"Macnana"

Cette release est la version majeure de l'année 2008. (A éditer)

Principes fondamentaux du logiciel

Classement du contenu

l'entité de base dans Yacs est l'article. Il est composé d'un titre (au minimum), d'une introduction et d'une description. En complément on peut aussi définir un texte de bas de page, un texte "extra -affiché généralement sur le côté des pages-, et enfin des métadonnées spécifiques à la page. Par défaut chaque membre peut ajouter une page, et effectuer les interactions suivantes :

  • Attacher des liens ;
  • Attacher des fichiers ;
  • Ajouter des commentaires ;
  • Ajouter des images.

Viennent ensuite les sections, qui offrent en plus de l'article la capacité de contenir des articles ou sous-sections. Elles servent à hiérarchiser les pages selon un classement vertical. Une section permet aussi de définir des règles ou aspect spécifiques aux pages sous-jacentes. Un article ne peut être que dans une seule section à la fois.

Les catégories permettent le classement transversal, et sont liées notamment à l'étiquetage des articles (taxinomie) ainsi que l'archivage automatique (par mois et par semaine). Un article peut être relié à plusieurs catégories, et les catégories sont hiérachisables entre elles. On peut également utiliser les catégories pour établir des listes d'utilisateurs.

L'affichage du contenu

Lorsqu'il génère une page, Yacs prépare les données en tableaux avant de confier le rendu final XHTML au moteur graphique. Le plus courant est d'afficher les pages sur 3 colonnes :

  • main : colonne principale avec les textes de la page ;
  • side : colonne de navigation, avec par exemple un menu ou autre information présente sur toutes les pages
  • extra : colonne contextuelle, avec les commandes d'interactions, et d'autres interfaces liées à la nature et aux propriétés de la page affichée.

Ces 3 colonnes ne sont pas un canevas obligatoire, le thème graphique peut les rassembler, ou bien éclater complétement leur composants en les appelant un par un. En plus de ces 3 colonnes, Yacs peut générer automatiquement un en-tête (header) avec titre, slogan et navigation par onglet, ainsi qu'un pied de page (footer), avec liens vers les mentions légales, formulaire de contact et flux d'informations.

Administration et interactions

Dans Yacs il n'y a pas de panneau d'administration dans le sens d'une interface dédié à gestion du site. Au contraire les commandes de gestion sont affichées directement sur les pages elles-mêmes (en visualisation ou en édition), suivant le contexte et les permissions du surfeur. Le composant outils affiche toujours ce qu'il est possible de faire à partir de la page courante. Une gestion de masse est disponible au niveau des pages conteneurs (les sections).

Il existe cependant un panneau de contrôle qui rassemble sous différents onglets les pages de configuration globale au serveur (le plus souvent des paramètres ajustés une fois pour toutes). Aux simples membres le panneau de contrôle propose des assistants d'ajout de contenu et des informations sur le serveur.

Il y a donc 2 types de paramètres de configuration :

  • les paramétrages locaux à l'arborescence du serveur, appliqués depuis les pages elles-mêmes, et stockés dans la base de données avec des dernières;
  • les paramétrages globaux du serveur, appliqués depuis le panneau de contrôle, et stockés en fichiers PHP dans le répertoire dédié /parameters. La configuration globale peut donc être verrouillée en plaçant les fichiers en lecture seule.

Publication

La mise en ligne d'un article demande qu'il soit publié. La publication peut être :

  • automatique
  • manuelle, par une personne ayant les permissions nécessaire par rapport à la page (droit d'édition).
  • différée à une date
  • levée à partir d'une date

une page non-publiée n'est pas affichée aux membres non-éditeurs, cependant elle est accessible via son URL. Il ne faut donc pas confondre la notion de publication avec la notion de restriction d'accès.

La publication d'une page entraine les mécanismes suivant :

  • analyse des liens sortant sur la page (jusqu'à 7 liens), dépose d'un retrolien (trackback) sur la page du site tiers pointé (si le site tiers le permet) ;
  • envoi d'une notification vers les serveurs d'agrégation configurés ;
  • envoi d'un email d'alerte à tous les membres qui surveillent le conteneur parent.

Si l'archivage automatique est activé, les articles sont rattachées à des catégories pour chaque mois et chaque semaine. En cas de modification de l'article, les versions successives sont conservées et peuvent être restorées.

Yacs propose 3 éditeurs pour écrire les pages : TinyMCE, FCKeditor, et textarea (HTML). On peut aussi interfacer des logiciels tiers de blogging utilisant le protocole XML-RPC, et enfin il est possible d'activer la création d'articles à partir d'e-mail lus en tâche de fond par le serveur.

Codes de formatage Yacs

Les codes de formatage, ou codes Yacs sont des syntaxes particulières que l'on utilise lors de l'édition des pages pour générer un effet précis lors de sa visualisation. C'est une écriture plus simple que le HTML, mais surtout les codes Yacs ne se limitent pas au formatage de texte et permettent d'appeler du contenu dynamiquement.

Les codes Yacs les plus simples s'apparentent au BBcode et les plus complexes à des widgets utiles pour positionner du contenu dynamique à l'intérieur des textes.

Standards, métadonnées et flux d'informations

Le moteur graphique génère du contenu valide XHTML encodé en UTF8. Si la réécriture d'URLs avec Apache est activée, chaque page dispose d'une URL canonique avec redirection automatique. Un lien court (shortlink) est également fourni pour faciliter la diffusion vers les réseaux sociaux (comme twitter).

Pour chaque article, les balises méta title, description, author, publisher sont complétées automatiquement, ainsi que les balises sémantiques du standard RDF.

Yacs indique également les interfaces de pingback et de commentaires pour les mécanismes externes, et la géolocalisation, si cette dernière est spécifiée.

De nombreux flux d'informations sont disponibles aux formats RSS 1.0 et 2.0, ATOM, RDF et OPML.

  • fils généraux : les articles, les fichiers (permet le podcasting), les commentaires.
  • fils locaux : idem mais filtré par sections, par catégories, par profils utilisateur.
  • fils à la carte, disponible à partir d'une recherche par mots-clé sur le serveur.

Système de permissions

Yacs est un logiciel multi-utilisateurs, et requière une authentification pour que ces derniers se distinguent des simples surfeurs. L'authentification de PHP, qui est aussi celle de Yacs, s'appuie sur les cookies. Elle peut cependant être déléguée à un système externe.

Yacs possède sa propre logique d'organisation des permissions pour les utilisateurs. Partie d'une base simple, l'organisation est assez souple. Cependant elle s'est complexifiée par de nombreuses options, mais n'est pourtant pas entièrement paramétrable. Il n'est pas possible de créer son propre jeu de permissions.

Le logiciel distingue les permissions globales, définies pour un utilisateur sur tout le serveur, et les permissions locales définies en cascade à partir d'un point de l'arborescence.

Jeux de permissions globaux

Les permissions globales se définissent à partir du profil utilisateur.

anonymes
défini toutes les personnes non-authentifiée
membres
utilisateurs standard
associés
utilisateurs avec tous les privilèges d'administration
souscripteurs
lorsque ce jeu de permission est activé, il permet de distinguer les membres confirmés de nouveaux inscrits.

Jeux de permissions locaux

les permissions locales se définissent à partir de l'élément en cours de visualisation (article ou section)

éditeurs
personnes qui ont des droits de modification et gestion sur l'élément.
propriétaire
personne unique ayant les permissions maximum sur l'élément (par défaut son créateur)
lecteurs
personnes ayant l'autorisation de lecture sur un élément privé.

La notion d'éditeur ou propriétaire de sections est plus complexe dans le fait qu'elle entraine des droits en cascade sur les éléments contenus dans la section.

Gestion multilingue

Yacs possède actuellement une interface en anglais ou en français. Le logiciel choisie la langue automatiquement suivant les préférences du navigateur du surfeur. Le mécanisme utilisé pour les langues est i18n, Les fichiers de langues pour l'interface sont donc créés avec un logiciel tel que poedit.

Les programmeurs peuvent utiliser la fonction l18n dans leur interfaces, s'ils ne souhaitent pas la création de nouveaux fichiers.

Au niveau de contenu, Yacs permet de définir la langue d'un article. Deux articles (ou plus) avec le même surnom, mais défini comme étant de langues différentes, se substitueront suivant les préférences régionales du surfeur.

Originalités

  • Yacs est capable d'intégrer une carte mentale dynamique de type FreeMind par simple dépôt du fichier.
  • Inversement, il est capable de générer un document FreeMind à la volée, composé des rubriques d'un site qu'il motorise : en somme, un plan de site en version mindmap exploitable hors-ligne
  • une interface permet de créer tout simplement des formulaires, en glissant les éléments à la souris

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article YaCS de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • YACS — abbr. You Are Correct, Sir …   Dictionary of abbreviations

  • Yeast artificial chromosome — This is a photo of two copies of the Washington University Human Genome YAC Library. Each of the stacks is approximately 12 microtiter plates. Each plate has 96 wells, each with different yeast clones. A yeast artificial chromosome (YAC) is a… …   Wikipedia

  • YAC — Ein YAC (Yeast Artificial Chromosome) ist ein künstliches Chromosom, welches der Hefe nachempfunden ist. Es dient als Vektor und erlaubt im Gegensatz zu den Cosmiden eine Klonierung von größeren Genomabschnitten. Das erste YAC entstand als… …   Deutsch Wikipedia

  • Yeast Artificial Chromosome — Ein YAC (Yeast Artificial Chromosome) ist ein künstliches Chromosom, welches der Hefe nachempfunden ist. Es dient als Vektor und erlaubt im Gegensatz zu den Cosmiden eine Klonierung von größeren Genomabschnitten. Das erste YAC entstand als… …   Deutsch Wikipedia

  • Rana — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Rana peut faire référence à : Sommaire 1 Géographie 2 Informatique …   Wikipédia en Français

  • El gato que encontró a Dios — Saltar a navegación, búsqueda El gato que encontró a Dios Autor Robert Fisher y Beth Kelly Traductor Lidia Bayona Mons Ilustrador Ricard Magrané …   Wikipedia Español

  • Cloning vector — The pGEX 3x plasmid is a popular cloning vector. A cloning vector is a small piece of DNA into which a foreign DNA fragment can be inserted. The insertion of the fragment into the cloning vector is carried out by treating the vehicle and the… …   Wikipedia

  • Curta calculator — Curta (Type I) mechanical calculator shown in the operational position (left hand). The crank is turned with the right hand. The Curta is a small, hand cranked mechanical calculator introduced in 1948. It has an extremely compact design: a small… …   Wikipedia

  • FreeMind — Infobox Software name = FreeMind caption = developer = Jörg Müller, Daniel Polansky, Petr Novak, Christian Foltin, Dimitri Polivaev, et al. latest release version = FreeMind 0.8.1 latest release date = release date|2008|02|27 latest preview… …   Wikipedia

  • T-cell prolymphocytic leukemia — DiseaseDisorder infobox Name = T cell prolymphocytic leukemia ICD10 = ICD9 = ICDO = 9834/3 Caption = Prolymphocyte OMIM = MedlinePlus = eMedicineSubj = eMedicineTopic = DiseasesDB = T cell prolymphocytic leukemia (T PLL) is a mature T cell… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”