Version 18 (modified by Moe, 12 years ago) (diff) |
---|
Comment utiliser les outils du Lab ?
Dotclear fournit un ensemble d'outils pour le développement d'extensions pour Dotclear :
- un SVN
- un wiki
- un trac
Cette page est destinée à vous aider à vous familiariser avec ces outils et l'environnement du Lab.
Guide de démarrage rapide
Si vous connaissez déjà les commandes de SVN, l'adresse du dépôt est https://svn.dotclear.net/lab/, vous pouvez récupérer toute l'arborescence du dépôt grâce à cette commande :
svn checkout https://svn.dotclear.net/lab/
Après avoir ajouté un plugin ou un thème, vous devez l'enregistrer sur le Trac et créer automatiquement sa page wiki grâce à ce formulaire (vous devrez être connecté) : http://lab.dotclear.org/register-extension
Présentation de SVN
SVN est la contraction de Subversion. Subversion permet de conserver toutes les versions des sources d'un logiciel (ou pour ce qui nous concerne ici d'un thème ou d'un plugin).
Il vous faut tout d'abord installer un client subversion sur votre ordinateur :
- Pour Windows, ça peut être par exemple TortoiseSVN ou RapidSVN
- Pour Mac vous pouvez utiliser le Terminal et utiliser le subversion installé par défaut sur MacOSX en ligne de commande ou utiliser un client graphique comme RapidSVN ou ZigVersion
- Pour Linux, installez le package subversion puis utilisez les lignes de commande
Sur Windows, MacOs X and Linux, vous pouvez utiliser RapidSVN, un client graphique pour SVN.
Les commandes SVN
Voici les principales commandes à connaître pour utiliser Subversion.
checkout
Permet de récupérer le « dépôt » (repository) et d'en faire une copie de travail (working copy)
# Pour récupérer tous les plugins svn checkout https://svn.dotclear.net/lab/plugins # Pour récupérer un plugin en particulier (ici acronyms) svn checkout https://svn.dotclear.net/lab/plugins/acronyms
update
Met à jour votre copie de travail avec la version la plus récente sur le dépôt. Le dépôt étant commun à tous il est important de mettre systématiquement à jour votre copie de travail avant d'y effectuer vos changements
# Mettre à jour votre copie de travail svn update
commit
Permet d'envoyer sur le dépôt les modifications que vous avez apportées à votre copie de travail. Chaque envoie crée une nouvelle version du dépôt. Les autres utilisateurs récupéreront vos modifications lorsqu'ils mettront à jour leur propre copie.
# Envoyer tous ses changements au dépôt (pensez à mettre "un bref message" informant sur la nature de vos changements) svn commit -m "message to annonce changes" # Envoyer un changement sur un plugin ou un thème en particulier (pensez au "message") svn commit -m "message to annonce changes" acronyms/ # Commit all changes made with your text editor svn commit
Vous pouvez utiliser la syntaxe wiki lors d'un commit.
diff
Cette commande affichera les différences entre votre copie de travail et la versio la plus récente du dépôt
# Exemple pour comparer le fichier _define.php du plugin acronyms svn diff plugin/acronyms/_define.php
revert
Permet de rétablir votre copie de travail en l'état de la dernière version du dépôt (utile si vous pensez avoir fait des bêtises chez vous).
# Exemple pour rétablir le fichier _public.php du thème Noviny de votre copie de travail tel que sur le dépôt svn revert themes/Noviny/_public.php # Exemple sur tous les fichiers d'un thème ou d'un plugin (ici moreTpl) svn revert -R plugin/moreTpl
add
Ajoutera un dossier ou un fichier au dépôt (et les élements du dossier si vous ajoutez un dossier). Puis après cette opération vous pourrez faire le commit.
# Exemple pour ajouter le fichier user.png au thème Noviny svn add themes/Noviny/images/user.png # Exemple pour ajouter un répertoire images et tout son contenu au thème Noviny svn add /themes/Noviny/images
mkdir
Créera et ajoutera un nouveau répertoire dans votre copie locale ou directement sur le dépôt SVN. La commande mkdir fera un commit automatique contrairement à la commande add
# Pour créer un nouveau répertoire de plugin svn mkdir plugins/myNewPlugin
move
Pour déplacer un fichier.
# Déplacer le fichier icon.png de acronyms vers myNewPlugin svn move plugins/acronyms/icon.png plugin/myNewPlugin
copy
Pour copier le contenu d'un répertoire vers une autre destination.
# Exemple : copier le contenu du répertoire gallery/trunk vers gallery/tags/2.1 svn copy plugins/gallery/trunk plugin/gallery/tags/2.1
merge
Pour combiner/fusionner deux versions. Utile quand deux contributeurs bossent ensemble sur le même fichier
# To apply all changes made from $revision_number_start$ to $revision_number_start$ on plugin/gallery/branches to the destination plugin/gallery/trunk svn merge -r $revision_number_start$:$revision_number_stop$ plugin/gallery/branches plugin/gallery/trunk
resolved
Résoudre les conflits éventuels générés par plusieurs commits concomittants sur le même fichier.
# Exemple pour le fichier _define.php d'acronym svn resolved plugins/acronyms/_define.php
Note: si vous utilisez un client subversion graphique ces commandes se trouvent dans les menus de l'application ou par clic droit et menu contextuel subversion (selon le client que vous aurez choisi).
Exemples d'utilisation
Pour ces exemples, je prendrai comme référence un plugin et un thème fictifs appelés monPlugin et monTheme. Les chemins sur votre copie locale sont ainsi :
# For myPlugin PLUGINPATH = /chemin/du/plugin/sur/la/copie/local/monPlugin # For myTheme THEMEPATH = /chemin/du/theme/sur/la/copie/local/monTheme
Ajouter un nouveau plugin / thème
Vous avez créé votre nouveau plugin / theme à l'emplacement PLUGINPATH et / ou THEMEPATH. Vous avez besoin en premier lieu de créer le répertoire sur le SVN qui va accueillir votre nouvelle création de la manière suivante :
# Pour monPlugin svn mkdir https://svn.dotclear.net/lab/plugins/monPlugin # Pour monTheme svn mkdir https://svn.dotclear.net/lab/themes/monTheme
Le répertoire est maintenant créé sur le SVN. Faites alors un checkout pour instancier sur votre copie locale ce nouveau répertoire :
# Pour monPlugin svn checkout https://svn.dotclear.net/lab/plugins/monPlugin PLUGINPATH # Pour monTheme svn checkout https://svn.dotclear.net/lab/themes/monTheme THEMEPATH
Maintenant, ajoutez au SVN les fichiers de votre plugin / thème:
# Pour monPlugin svn add PLUGINPATH/* # Pour monTheme svn add THEMEPATH/*
Votre plugin / thème est maintenant correctement déposé sur le SVN
Note: Ne pas oublier de remplir le formulaire suivant : http://lab.dotclear.org/register-extension afin d'enregistrer votre plugin / thème sur le trac et de créer automatiquement sa page wiki
Mettre à jour votre copie locale
si des changements ont été apporté à votre plugin / thème sur le SVN, il est nécessaire de faire une mise à jour de votre copie locale par le biais de cette commande :
# Pour monPlugin svn update PLUGINPATH # Pour monTheme svn update THEMEPATH/*
"Commiter" vos changements sur le SVN
Vous avez fait des modifications sur votre copie locale et vous voulez les "commiter" sur le SVN :
# Pour monPlugin svn commit PLUGINPATH # Pour monTheme svn commit THEMEPATH
Ajouter des fichiers sur le SVN
Parfois, vous avez besoin d'ajouter des fichiers au SVN :
# Pour monPlugin svn add PLUGINPATH/filesto.add # Pour monTheme svn add THEMEPATH /filesto.add
Il vous suffira ensuite de "commiter" les changements pour qu'ils apparaissent sur le SVN.
Le développement de Dotclear se fait avec Mercurial, pourquoi Dotclear Lab utilise SVN ?
La gestion centralisée mise en place par SVN est plus efficace si le dépôt contient de nombreux projets (les plugins et les thèmes). Si Dotclear Lab utilisait une gestion décentralisée comme Mercurial, chaque développeur devrait télécharger tous les plugins et tous les thèmes, même pour modifier un seul module.
Wiki
Le Wiki est un outil qui permet aux visiteurs identifiés de créer et de modifier des pages. Il propose un éditeur et une syntaxe simplifiée de mise en forme. La syntaxe est détaillée sur cette page en anglais : WikiFormatting.
Créer des pages
Éditer les pages
Si vous avez les droits suffisants, un bouton "Edit page" est alors présent en bas de page. Cliquer sur ce bouton vous permettra de modifier son contenu puis de l'enregistrer en cliquant sur le bouton "Submit changes". Il est conseillé de vérifier vos modifications à l'aide du bouton "Preview Page".
Vous pouvez, si vous le désirez, préciser la nature des modifications apportées en complétant le champ intitulé "Change information" situé juste au dessus des boutons de commande.
Déposer vos fichiers
Vous pouvez attacher des pièces jointes (images, .zip de vos créations, fichiers README, etc.) aux pages du Wiki. Pour cela, cliquez sur Attach file en bas de la page où vous voulez déposer un fichier.
Tous les utilisateurs peuvent envoyer des nouveaux fichiers ou mettre à jour un fichier existant de même nom en cochant Replace existing attachment of the same name lors de l'envoi du fichier, mais seuls les administrateurs peuvent les effacer (n'hésitez pas à les contacter pour supprimer un fichier). Ainsi, pour éviter d'avoir autant de fichiers attachés que de versions de votre thème ou plugin, vous pouvez supprimer le numéro de version du nom du fichier et l'indiquer dans la description du fichier. Par exemple :
Plugin version 1.0.42
À la prochaine mise à jour, renvoyez un fichier avec le même nom en cochant Replace existing attachment of the same name pour remplacer l'ancienne version du fichier.
Vous pouvez aussi entrer un lien direct vers le fichier dans la description du fichier, il sera directement utilisable pour installer un module depuis son URL :
http://lab.dotclear.org/raw-attachment/wiki/[plugin ou theme]/[nom de la page wiki]/[nom du fichier]
Trac
License
Seul le code publié sous une licence libre est autorisé sur Dotclear Lab. Les licences autorisées sont GPL v2 et v3, BSD, LGPL, MPL, etc.
La licence Creative Commons peut être utilisée pour les thèmes, mais pas pour les plugins (voir la FAQ CC).