DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Mise en ligne d'une extension

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:
Changed:2004-08-16T19:57:23
Author:Mathieu VIDAL
Email:mathieu.vidal@getronics.com
Info 3:
Info 4:

Mise en ligne d'une extension

Copyright 2000-2002, Mathieu VIDAL, <mathieu.vidal@getronics.com>

Relecture par HadaDeLaLuna <modératrice sur typo3.fr>

Relecture par Simba_za <Administrateur de typo3.fr>

Relecture par Jean-Gael <modérateur sur typo3.fr>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com -

Sommaire

Mise en ligne d'une extension 1

Introduction 1

Mes informations locales 2

La mise en ligne 3

Première étape : l'enregistrement sur typo3.org 3

Deuxième étape : l'upload à partir du backend 6

Troisième étape : les manipulations sur le site Typo3.org 7

Conclusion 14

Liste des restes à faire 14

Introduction

Ayant développé une extension assez basique de gestion de photos et d'albums photos accompagnés d'un petit moteur de recherche, je me suis dit qu'il serait utile de la mettre en ligne sur le site typo3.org afin d'en faire profiter la communauté.

Mais tout le problème est de savoir comment faire pour mettre en ligne une extension de façon propre?

Par propre, j'entends :

  • quelles informations saisir dans le “UPLOAD EXTENSION TO REPOSITORY”,
  • est-ce que mon extension sera testée pour vérifier son intégrité,
  • comment lui associer une documentation accessible directement sur le site typo3.org,
  • toutes les autres règles à respecter pour mettre en ligne une extension de façon correcte.

Après avoir créé un message sur le forum de typo3.fr, j'ai décidé de me lancer afin d'essuyer les plâtres et cette documentation est donc le résultat de mes “deux jours de combats” pour cette mise en ligne.

Mes informations locales

Pour développer mon extension, j'ai utilisé un package dummy 3.5 installé dans Easyphp 1.7 sur une machine windows 2000.

L'«extension repository kickstarter» m'a permis d'amorcer mon extension. J'ai notamment créé les différentes tables afin d'avoir l'interface directement en backend et j'ai créer la classe php qui allait servir à gérer l'affichage en frontend. Après pour le reste, j'ai directement utilisé un éditeur PHP afin de modifier les différents fichiers qui ont été créés par le «wizard».

En ce qui concerne la rédaction de la documentation à associer à l'extension je n'avais aucune idée de comment procéder. Je suis donc allé me balader sur le site typo3.org dans le menu extension et j'ai remarqué qu'à priori il suffisait de mettre un fichier manual.sxw dans le répertoire doc. Afin de garder la mise en page (en-tête, pied de page, style des titres...) j'ai téléchargé la documentation d'une extension et je l'ai écrasée avec mes informations.

En réalité, il existe une méthode beaucoup plus simple que l'on trouve à cette adresse :

http://typo3.org/typo3temp/manual- doc_template-11-12-2002_13-44-29.sxw

Il s'agit d'un template de doc avec quelques recommandations pour bien procéder. Pour rester dans «l'esprit» des documents déjà existantes, je pense qu'il faut garder les grandes lignes de ce template (Introduction, Users manual...) et rajouter des sous menus si besoin.

Merci à le_paco <modérateur sur typo3.fr> pour ce lien qui m'a permis de faire un grand pas en avant.

La mise en ligne

Premièreétape : l'enregistrement sur typo3.org

Avant de pouvoir mettre en ligne une extension, il faut au préalable enregistrer sa clef d'extension (Extension Keys) sur typo3.org.

Pour ce faire, il suffit d'aller sur le site www.typo3.org , de sélectionner le menu “Extensions” dans la barre de menu horizontal puis le menu “Register extension Keys” dans le menu de gauche.

Si vous n'êtes pas identifié sur le site vous obtiendrez ceci :

img-1

Il ne vous reste plus qu'à vous identifier (ça se passe dans le cadre 1) pour obtenir l'écran suivant :

img-2

Dans cette page vous trouvez des astuces pour créer une bonne clef d'extension et les erreurs à éviter (je les traduirai plus tard car le texte n'est pas très compliqué).

Ensuite vous avez la zone de saisie à proprement parler :

  • le champ 1 permet de saisir la clef à enregistrer,
  • le champ 2 permet de générer une clef de test, qui sera préfixée par “test_”,
  • le champ 3 génère des clefs aléatoires (et j'en n'ai pas bien compris l'intérêt puisqu'elles ne respectent pas les règles)
  • le bouton 4 vous permet d'enregistrer la clef saisie ou générée.

Une fois la requête soumise, vous obtenez l'écran suivant qui vous permet de changer votre clef, si la clef saisie existe déjà :

img-3

Ou alors vous obtenez l'écran de validation suivant :

img-4

A nouveau vous avez quelques recommandations sur l'utilisation de votre clef, puis trois nouveaux champs à renseigner :

  • dans le champ 1, vous devez saisir le titre de votre extension, ce champ est obligatoire et ce n'est pas forcément la clef de votre extension,
  • dans le champ 2, vous pouvez saisir une description qui n'est pas obligatoire mais fortement souhaitable, et en anglais bien sur,
  • dans le champ 3 il faut saisir le mot de passe associer à votre upload, si vous n'en saisissez pas vous ne pourrez pas uploader. Deux options sont possibles, soit vous mettez toujours le même mot de passe pour toutes vos extensions, soit vous avez un mot de passe par extension.

Une fois validé vous obtenez l'écran final suivant :

img-5

Il confirme l'enregistrement de la clef et vous rappelle que vous avez 10 jours pour faire votre upload sinon l'enregistrement sera annulé.

Deuxième étape : l'upload à partir du backend

Dans un premier temps, il faut configurer votre backend afin d'automatiser la saisie de certaines informations. Pour ce faire, dans le menu du backend cliquer sur le menu «Ext Manager» (ou «ext gestion» en français) puis dans le menu déroulant sélectionnez «Settings», vous obtenez l'écran suivant :

img-6

Les champs 1et 2 correspondent à l'identifiant et au mot de passe que vous avez saisi sur typo3.org pour vous inscrire et pouvoir enregistrer une clef.

Le champ 3 correspond à votre mot de passe par défaut pour les uploads. Si vous avez décidé d'avoir un mot de passe identique pour tout vos uploads d'extension, alors vous pouvez saisir celui la. Par contre si vous êtes parti sur un mot de passe par extension, alors il vous faudra saisir un mot de passe générique ou le mot de passe de l'extension que vous allez enregistrer.

Une fois les champs remplis, vous pouvez mettre à jour votre «settings» avant de passer à l'upload à proprement parler.

Pour uploader votre extension, dans le menu «Ext Manager» sélectionner dans le menu déroulant soit «Available extensions to installl» si votre extension n'est pas installée sur votre site, soit «loaded extensions» si elle est installée. Ensuite vous cliquez sur le titre de votre extension et dans le menu déroulant en haut à droite vous sélectionnez «Upload». L'écran suivant apparaît :

img-7

  • Les champs 1,2 et 3 sont pré-remplis grâce à la manipulation précédente dans le «settings». Si vous avez un mot de passe d'upload spécifique, c'est dans le champ 3 qu'il faut l'indiquer.
  • Le champ 4 permet de saisir un commentaire pour cette version de l'upload, qui apparaîtra dans le détail de votre extension en ligne. Ce champ est particulièrement intéressant pour les gens qui «suivent» votre extension afin de connaître les nouveautés liées à la nouvelle version.
  • Les boutons radios du cadre 5 permettent de faire évoluer la version de votre extension, leur rôle respectif est le suivant :
  • Incrémenter la version de développement, par exemple 1.0.0 devient 1.0.1,
  • Uploader sans faire évoluer la version, par exemple 1.0.0 devient 1.0.0,
  • Incrémenter une nouvelle sous version, par exemple 1.0.0 devient 1.1.0,
  • Incrémenter une nouvelle version principale, par exemple 1.0.0 devient 2.0.0.
  • Les champs du cadre 6 permettent de créer des versions d'extension privée, je ne m'en suis pas servi, donc je ne détaillerai pas leur rôle afin de ne pas écrire des bêtises,
  • le bouton 7 permet de valider l'upload de votre extension.

En ce qui concerne l'évolution des versions, il doit exister des règles (pour savoir si on fait évoluer une sous version, une version principale...) à respecter que je ne connais pas encore (je modifierai la doc quand j'en saurais plus). Je sais une seule chose, en ligne sur le site typo3.org les versions de développement n'apparaissent pas.

Une fois le clique sur le bouton effectuerun message apparaît pour confirmer la mise en ligne, ou pour indiquer d'éventuelles erreurs ( mes uploads ne s'étant pas toujours bien passés, j'ai eu l'occasion d'avoir différents messages, que j'essaierai de retrouver et d'expliquer ).

En principe, votre extension est en ligne, il ne nous reste plus qu'à mettre un peu d'ordre directement sur le site typo3.org.

Troisième étape : les manipulations sur le site Typo3.org

Sur le site typo3.org, identifiez vous sur votre compte et accédez au menu «Extensions». Un nouveau menu est apparu en bout de la barre de menu verte : «My extension keys», cliquez dessus et vous arriverez sur la page suivante :

img-8

  • la zone de saisie 1 permet de faire une recherche classique dans les extensions,
  • la zone de texte 2 est la légende du tableau qui suit (traduction à venir),
  • le tableau 3 est le regroupement de l'ensemble des extensions que vous avez mis en ligne avec ce compte,
  • la zone mixte 4 vous permet de changer de manière globale tous les mots de passe de vos extensions,
  • je n'ai pas utilisé la zone mixte 5, donc je ne peux vous dire exactement à quoi elle correspond.

En cliquant sur le titre de votre extension, vous obtiendrez un nouvel écran et un menu qui vous permettra d'avoir plus de détail sur l'extension :

img-9 Les deux premiers menus sont classiques et accessibles pour tous les utilisateurs se connectant sur typo3.org, ils regroupent l'ensemble des informations contenues dans l'extension (description, version, fichier...), ils ne sont la que pour consultation :

img-10

Viennent ensuite les menus «Translate», «Forum/Support», «Feedback» et «Doc-review» qui permettent respectivement :

  • d'afficher les traductions disponibles dans l'extension, l'interprétation de ce tableau (en consultation seulement) reste assez flou pour moi,
  • d'accéder au forum associé à l'extension,
  • d'accéder à l'envoi de mail au propriétaire de l'extension (ce qui n'est pas très utile???). Pour cette page, pendant mon développement et ma mise en ligne j'ai vu passer la page de configuration de ce message par défaut mais je n'arrive pas à retrouver où c'était exactement (ça viendra plus tard),
  • d'accéder à la gestion des fichiers de documentations pour en rajouter ou comparer deux versions différentes.

Le dernier menu «Edit» («Back» n'étant pas un véritable menu) est de loin le plus intéressant et le plus utile :

  • img-11 Les champs 1 et 2 reprennent les informations saisies lors de l'enregistrement de la clef d'extension,
  • le champ 3 reprend les informations saisies lors de la création du compte sur typo3.org,
  • les informations de la case 4 correspondent à celles qui ont été saisies à l'aide de l'«extension repository kickstarter» et qui peuvent remplacer celles des champs 1, 2 et 3 à l'aide des cases à cocher entre elles,
  • le champ 5 permet de modifier le mot de passe d'upload de l'extension,
  • je ne connais pas l'utilisation de la zone de texte 6,
  • les cases à cocher de la zone 7 permettent de «cacher» l'extension aux utilisateurs qui ne sont pas membres, de permettre les annotations sur la doc et de désactiver le forum de l'extension,
  • la zone 8 permet de sélectionner les catégories à associer à l'extension et qui permettront de classer l'extension,
  • la zone 9 permet de sélectionner le statut de l'extension (comme pour les versions il doit exister des règles à respecter que j'essaierai de trouver),
  • la case à cocher 10 permet de gérer qui peut accéder à l'extension (voir l'explication juste après ),
  • le tableau 11 correspond à un récapitulatif de l'ensemble des versions de l'extension présentent sur le site, lorsqu'il y'en a plusieurs, on a la possibilité d'effacer les plus anciennes pour libérer de l'espace,
  • la zone 12 récapitule des données sur les traductions, que je n'ai pas su interpréter,
  • la zone 13 permet de gérer la documentattion en ligne (voir l'explication juste après),
  • enfin les boutons 14 permettent respectivement de sauvegarder les modifications, d'annuler les modifications et de mettre à jour la page avec les changements, sans les sauvegarder.

La case 10 est par défaut cochée, ce qui signifie que seuls les personnes identifiées sous typo3.org peuvent accéder à cette extension. Si vous faites une recherche en n'étant pas identifié vous ne trouverez pas votre extension, tandis que si vous faites la même recherche en étant identifié vous obtiendrez bien votre extension mais son titre sera sur fond orange et non pas gris :

img-12

Si vous voulez rendre votre extension publique pour tout le monde, il faut décocher cette case tout en sachant qu'ensuite elle ne pourra pas à nouveau être cochée. Si vous recherchez à nouveau votre extension, vous obtiendrez ceci :

img-13

Sur cette dernière image on peut voir qu'un manuel est disponible, cependant, si on clique dessus on obtient ceci :

img-14

Pour mettre de l'ordre dans la documentation, il suffit de retourner dans le menu «Edit» associer à l'extension et de s'intéresser à la zone 13 :

  • Le tableau récapitule les éléments présents dans le document «manual.sxw» qui a été placé dans le répertoire «doc» de l'extension,
  • la case à cocher permet d'éditer ces données,
  • le premier menu déroulant permet d'associer une catégorie au document,
  • le second menu déroulant permet d'associer une langue au document,

img-15

Lorsqu'on coche la case «Edit TOC meta data» et que l'on clique sur Execute, on obtient le nouveau tableau suivant :

img-16

  • la première colonne reprend chaque titre de la documentation,
  • la deuxième colonne propose d'associer ce titre à une des catégories par défaut qu'il existe dans les documents de typo3,
  • la troisième colonne permet d'avoir une page par sous menu (si elle n'est pas cochée) ou tous les sous menus sur la même page (si elle est cochée),
  • la quatrième colonne permet de définir le type de contenu du paragraphe,
  • la cinquième colonne permet d'associer des indicateurs à chaque paragraphe pour signaler si cette partie de la documentation est plutôt réservée aux utilisateurs (vert), aux administrateurs (bleu) ou aux développeurs (orange).

Votre extension est maintenant en ligne, si vous voulez tester son import, soit vous la supprimez de votre site à partir duquel vous l'avez uploadée (déconseillé), soit vous avez un deuxième site sous TYPO3 qui ne contient pas cette extension et vous allez pouvoir l'importer directement (conseillé)

Pour ce faire, il vous suffit d'aller sur le menu «Ext Manager» puis de sélectionner «Import extension from online repository» et de cliquer sur le bouton «Connect to online repository». Une fois connecté vous devriez retrouver votre extension :

img-17

En cliquant sur la flèche rouge, vous l'importerez et vous pourrez l'installer.

Conclusion

Cette documentation est maintenant terminée, j'espère qu'elle pourra vous aider si vous comptez vous lancer dans le développement d'extension.

Comme j'ai une nouvelle extension en cours de développement, je serai sûrement le premier à pouvoir tester l'efficacité de ma propre documentation, et je pourrai ainsi la compléter car il reste quand même pas mal de point à traiter ou à éclaircir.

Une dernière chose, j'ai voulu mettre ce tutorialà disposition rapidement, et je n'aurais peut être pas le temps de corriger les fautes d'orthographes et les fautes de français (sûrement toutes liées à mon inexpérience dans l'utilisation d'Open Office) immédiatement. :o)

Liste des restes à faire

  • Compléter les informations manquantes ou incomplètes,
  • Rajouter des remarques sur les problèmes rencontrés et les solutions trouvées,
  • Terminer les traductions des parties restant en anglais et revoir le français et l'orthographe,
  • Attendre vos retours pour améliorer le contenu.

img-18 Mise en ligne d'une extension - 14