Bienvenue sur EveryBodyWiki ! Créez un compte ou connectez vous pour participer, améliorer ou créer un article, une biographie (la vôtre ?), une page entreprise...


YaCS

De EverybodyWiki Bios & Wiki
Aller à : navigation, rechercher


YACS

[[Fichier:Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value). |frameless |Erreur Lua dans Module:Wikidata à la ligne 566 : attempt to index field 'wikibase' (a nil value). |upright=1 |alt=Description de cette image, également commentée ci-après ]]
Erreur Lua dans Module:Wikidata à la ligne 566 : attempt to index field 'wikibase' (a nil value).
Informations
Créateur Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Développé par Bernard Paques
Première version 2002
Dernière version Martin (Mai 2010)
Version avancée Lasares
Dépôt Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Écrit en Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value)./ Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Système d'exploitation Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Environnement Multiplateforme
Langues Anglais, Français
Type Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Licence Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).
Site web Erreur Lua dans Module:Wikidata à la ligne 114 : attempt to index field 'wikibase' (a nil value).

Chronologie des versions

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

Yacs est un logiciel open source faisant partie de la 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.

Caractéristiques[modifier | modifier le wikicode]

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ées 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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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"[modifier | modifier le wikicode]

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écanisme 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"[modifier | modifier le wikicode]

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"[modifier | modifier le wikicode]

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

Principes fondamentaux du logiciel[modifier | modifier le wikicode]

Classement du contenu[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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 suivants :

  • analyse des liens sortants sur la page (jusqu'à 7 liens), dépose d'un rétrolien (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 restauré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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Yacs est un logiciel multi-utilisateurs, et requiert 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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Yacs possède actuellement une interface en anglais ou en français. Le logiciel choisit 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 interface, s'ils ne souhaitent pas la création de nouveaux fichiers.

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

Originalités[modifier | modifier le wikicode]

  • 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[modifier | modifier le wikicode]

  • Erreur Lua dans Module:Wikidata à la ligne 566 : attempt to index field 'wikibase' (a nil value).
    Thème(s) :
  • Portail des logiciels libres Portail des logiciels libres

Erreur Lua dans Module:Catégorisation_badges à la ligne 154 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 175 : attempt to index field 'wikibase' (a nil value).


Autres articles du thème logiciels libres : Autonomy Project, OpenInfo3W, Scribe (serveur), Thierry Stœhr, Cube 2 Engine, Asqatasun, Montpel'libre

Cet Article wiki "YaCS" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques.