# XWiki

XWiki est une plateforme collaborative et wiki open source écrite en Java et distribuée selon les termes de la licence GNU LGPL mettant l'accent sur l'extensibilité. Elle inclut un éditeur WYSIWYG, l'import/export de document sous format OpenDocument, l'annotation sémantique et le tagging, ainsi qu'une gestion avancée des permissions.
En tant que moteur de Wiki, XWiki permet le stockage de données structurées et l’exécution côté serveur de scripts, et ce à travers une interface.
Les langages de scripts Velocity, Groovy, Python, Ruby et PHP peuvent être écrits directement dans les pages du wiki en utilisant des macros.
Les structures de données créées par les utilisateurs peuvent être définies dans des documents du wiki, et leurs instances peuvent être jointes aux documents, stockées dans une base de données, et être l'objet de requêtes en utilisant le langage de requête du framework Hibernate ou le propre langage de XWiki.
Sur XWiki.org, la partie Extensions propose de nombreuses extensions de code pouvant être copiées et collées dans les pages du wiki allant de snippet à des modules devant être chargés. De nombreuses fonctionnalités offertes par XWiki Enterprise sont fournies par des extensions incluses.
Le langage wikitexte est généré en utilisant le moteur de rendu de XWiki qui étend les outils WikiModel et Doxia, permettant de parser de nombreuses syntaxes telles que Markdown, Confluence, JSPWiki, Creole, Mediawiki, et TWiki ainsi que la syntaxe XWiki.

## Développement

Le code de XWiki est distribué selon les termes de la licence GNU Lesser Public Licence et hébergé sur GitHub. Le projet est ouvert aux contributions. La documentation est sous licence Creative Commons Attribution ce qui signifie qu'elle peut être rediffusée et réutilisée à condition de mentionner XWiki ; les dérivés peuvent être re-licenciées complètement.
Bien que la plus grande part des développeurs soient financés par l'entreprise de services XWiki SAS, XWiki SAS maintient une stricte limite entre elle-même et la communauté autour du logiciel libre XWiki.
Les décisions à propos du projet XWiki sont prises par le consensus des contributeurs à travers le forum du projet (précédemment, à travers une liste de diffusion)$^,$.

### Projets open source

XWiki se base sur d'autres projets open source pour son bon fonctionnement. Parmi eux, on peut citer :
* Groovy, Ruby, Python : pour les besoins avancés en scripting ;
* Hibernate : pour la gestion des bases de données relationnelles ;
* SOLR : afin d'indexer le contenu d'un wiki ainsi que ses pièces jointes, et permettre la recherche de contenus ;
* Velocity : un langage de template.

## Historique

XWiki fut à l'origine écrit par Ludovic Dubost qui créa la société XPertNet SARL qui deviendra plus tard XWiki SAS, et fut publiée en janvier 2004 sous les termes de la GNU GPL. La première version de xwiki.com est parue en avril. De plus, le projet open source était hébergé chez SourceForge.net et le premier commit fut effectué le 15 décembre 2003.
En 2006, la licence changea en GNU Lesser Public Licence afin de donner à la communauté des développeurs une plus grande flexibilité, et Vincent Massol, développeur et membre du projet Apache Maven devint lead developer du projet.
La même année, XWiki remporta le Lutèce d'Or du meilleur logiciel d'entreprise open source.
Après 6 versions bêta et 5 release candidates, XWiki 1.0 fut publiée le 22 mai 2007, apportant de nouvelles fonctionnalités telles qu'un installeur standalone ainsi que des balises (tags) sémantiques. 2007 apporta aussi l'introduction de XWiki Watch qui permet aux équipes de suivre des flux RSS de manière collaborative.
En 2018, XWiki est lauréat du "Prix pour un Numérique Ouvert et Ethique" des Acteurs du Libre.

## Fonctionnalités

Les fonctionnalités de base sont les suivantes :
* La syntaxe Wiki (utilisant le moteur de rendu XWiki)
* Gestion de contenu (view/edit/preview/save)
* Gestion des versions
* Fichiers attachés
* Gestion des droits
* Recherche textuelle
Les fonctionnalités avancées sont les suivantes :
* Modèles de documents
* Stockage en base de données relationnelle avec Hibernate
* Moteur de méta-données stockées en base de données
* Ajout rapide de nouvelles applications via un « manager » qui va chercher les applications sur un dépôt distant (Extensions Manager).
* Édition de données de formulaires en mode « inline »
* API de programmation dans les documents (Velocity ou Groovy)
* API de recherche permettant de rechercher dans les méta-données en SQL
* Système de plugins en Java
* Performance et résistance au facteur d'échelle de la plateforme Java EE
* Personnalisation de l'interface (CSS, templates)
* Intégration de RSS (affichage et génération de fichier RSS)
* Gestion du multilinguisme
* Interface XML-RPC
* Module Portlet
* Statistiques intégrées
* Export PDF
* Édition WYSIWYG

## Projets

XWiki est membre du consortium open-paas.org qui conçoit et développe un environnement numérique de travail en mode Saas OpenSource. Ce consortium a été financé par l'État à hauteur de 10,2 millions d'euros en 2015.
En 2022, aux côtés de l'AFP, Sciences Po et le Clemi, XWiki contribue au lancement de la plateforme DE FACTO, cofinancée par la Commission Européenne et visant à lutter contre la désinformation.
En 2023, XWiki est la seule entreprise non-allemande retenue dans le cadre du projet " The Sovereign Worplace" du Ministère de l'Intérieur Allemand, visant à intégrer des logiciels libres pour créer une offre cloud de travail collaboratif, concurrente des offres propriétaires.