Ajout/renommage/effacement de fichiers
Cible visée
Cette partie de la documentation n'est pas destinée aux utilisateur finaux de Coppermine, mais uniquement aux développeurs. Il n'y a pas d'aide pour cette section, elle est disponible telle-quelle.
But
Ce document est destiné à expliquer ce qu'un développeur doit faire lors de l'ajout/de la modification/de l'effacement de fichiers vers/depuis le SVN pendant l'étape de développement.
Conventions de nommage
Référez vous o la section "Conventions de nommage" lors de l'ajout de nouveaux fichiers ou lors du renommage de fichiers existants.
Ajouts de fichiers
Si un développeur a besoin d'ajouter un nouveau fichier au noyau de Coppermine, voici la liste des choses à faire:
Fichiers langues
L'ajout de fichiers langues (contribution d'utilisateurs) au pack est un processus qui doit être fait en plusieurs étapes. Ces étapes ne doivent pas nécessairement être faites par le même développeur, mais il est préférables qu'un seul développeur s'occupe d'un fichier langue propos par un contributeur pour s'assurer que tout fonctionne sans problèmes.
Cette section n'est pas destinée aux utilisateurs finaux qui veulent ajouter un fichier langue à Coppermine. Non, cette section est uniquement destinée aux membres de l'équipe de développement de Coppermine et à personne d'autre. Merci de ne pas poser de questions sur le forum d'aide concernant le contenu de cette page, parce qu'elle ne s'adresse simplement pas à vous.
- A l'emplacement ou le fichier langue a été proposé par le contributeur (généralement dans un sujet du forul ou le contributeur a attché le fichier langue), répondez et précisez que vous, en tant que membre de l'équipe de développement êtes volontaires pour ajouter ce fichier. Ceci est destiné à s'assurer que le travail ne sera pas fait deux fois.
- Téléchargez le fichier et décompresez le dans votre installation de test
- Démarez votre installation de test et forcez l'utilisation du nouveau fichier langue en ajoutant les paramètres correspondants à la barre d'adresse de votre navigateur. La galerie de test devrait s'afficher dans la langue choisie. C'est suffisant pour un test basique pour vérifier que le fichier langue ne plante pas la galerie avec un message d'erreur ou un affichage bizarre.
- Ouvrez le fichier langue avec un éditeur de texte et vérifiez que l'entête est intact comme expliqué plus haut. Faites attention au numéro de version de Coppermine qui souvent ne correspond pas dans les fichiers langue proposés par les contributeurs.
- Renseignez le tableau $lang_translation_info si le traducteur ne l'a pas déjà fait. Si le traducteur n'a pas indiqué de site qu'il souhaite faitre apparaitre dans la section "crédits", mettez une référence à sa page de profil utilisateur du forum à la place.
- Vérifiez si vous le pouvez que le fichier langue est en unicode (UTF-8 sans BOM).
- Modifiez les crédits traducteurs de la documentation. Dans un monde idéal, vous devriez modifier tous les fichiers crédits pour toutes les langues de la documentation (docs/language_name/credits.htm et ajoutez les références du traducteur, mais bien entendu, celà devriendra un travail important avec un nombre important de traductions de la documentation. C'est pourquoi, il est admis que vous ne modifiez que le fichier de langue Anglaise de la documentation (docs/en/credits.htm) et laissiez les autres au personnes qui s'occupent de la maintenance des documentations traduites.
- Comme avec tous les autres fichiers, vous devez aussi modifier includes/cpg15x.files.xml pour reflêter les nouveaux fichiers ajoutés.
- Ensuite vous devrez vérifier le degrès de finition du fichier langue de cette contribution, par exemple si il s'agit d'une traduction complête ou partielle. C'est un très gros travail qui peut amener à des résultats imparfaits, donc dans le doute, mettez un signet traduction partielle, ce qui n'a pas d'impact au niveau technique, mais qui sert uniquement d'information aux utilisateurs.
Les facteurs qui peuvent vous aider à déterminer si une traduction est complète ou partielle peuvent être:
- Le conributeur peut avoir posté dan son sujet sur le forum si sa tradution est partielle ou complète.
- Taille du fichier: la taille des fichiers pour une traduction complète peut changer de manière très importante (parceque les langues ont des symboles pour des mots ou que les syllabes utilisent moins de place que les langues composées de lettres qui représentent des sons (des phonèmes pour être exact). Mais avec un poids de 180 KB pou rle fichier Anglais, il est évident que le fichier Anglais-Britanique (lang/english_gb.php) ne peut pas être une traduction complète, mais uniquement une traduction partielle (ce qui n'est pas vraiment surprenant, puisqu'il ne contient que les chaines ou l'Anglais-Britanique est différent de l'Anglais-Américain)
- Un lecture rapide du fichier langue depuis votre éditeur de texte devrait vous permettre de vous rendre compte si une grande partie du fichier original Anglais transparait en particulier avec les fichiers utilisant des caractères non latins.
- Vous devrez vous assurer que la table des traduction dans la structure des tables de la base de donnée de Coppermine sera mise à jour aussi bien pour les nouvelles installations que pour les mises à jour, c'est pourquoi vous devrez
- ouvrir sql/basic.sql, trouvez le lignes qui commencent par INSERT INTO CPG_languages et vous assurer que la langue que vous êtes en train d'ajouter exite et que le niveau de finition du fichier langue correspond avec l'enregistrement de la base de donnée.
Si vous êtes en train d'ajouter le fichier langue Klingon, cherchez dans sql/basic.sql la chaine klingon. Si elle est là, c'est à dire si une ligne du genre
existe, modifiez juste les champs qui déterminent si la traduction existe et si elle est complète (traduction complète) ou pas.
Si la ligne correspondant au nom anglais de la nouvelle langue n'existe pas, créez la (gardez en mémoire la structure alphabétique de la section INSERT INTO CPG_languages.
Pour plus de détails, regardez la documentation du gestionaire de langue.
- ouvrez sql/update.sql avec un éditeur de texte.
- Si la ligne correspondant à la nouvelle langue n'existe pas danssql/basic.sql, vous devrez ajouter une ligne à sql/update.sql qui ajoute un nouvel enregistrement.
Pour le fichier langue Klingon mentionné plus hait, la ligne pour créer un nouvel enregistrement dans la base de donnée sera
- Si il y a un enregistrement existant pour cette lague, vous n'aurez qu'a le baculer de non disponible à disponible, ajoutez une ligne qui fait la mise à jour
L'exemple pour la langue Klingon dans ce cas serait
- Assurez vous qu'il y a une image du drapeau dans le répertoire images/flags/ représentant la nouvelle langue. Si il n'y a pa de drapeau disponible, créez en une si vous en avez les capacités et ajoutez ce fichier. Alternativement, assignez une image vide comme drapeau en attendant.
- Ajoutez le nouveau fichier langue dans le référenciel grâce à votre client SVN. Vous devrez avoir les droits en écriture sur le référenciel subversion pour pouvoir le faire.
- Ajoutez une ligne dans le fichier CHANGELOG correspondant à l'ajout de ce nouveau fichier langue.
- Testez aussi attentivement que possible le fichier langue sur votre galerie de test: navigez en tant que visiteur, enregistrés et administrateur dans la galerie, essayez de télécharger des fichier, jetez un oeil aux principales pages (index, page des vignettes, images interédiaires).
- Faites vos changement sur le référenciel subversion en utilisant votre client SVN.
- Finalement répondez au sujet ou le contributeur avait mis le ficheir à disposition, postez ce que vous avez fait, Cela aidera a ajouter des références au Web SVN, et postez le numéro de révion de votre ajout.
- Si vous avez les privilèges administrateur sur le forum de Coppermine, changez l'appartenace de groupe du contributeur et assignez le au groupe "translator".
- Si vous avez un accès au site de Coppermine, modifiez le fichier "crédits" pour ajouter le nouveau traducteur.
Renomer des fichiers
Si un nom de ficheir ne peut pas être gérdé (par exemple à cause dun problème avec la convention de nomage), il doit être renomé au lieu d'efface l'ancien et d'en crée un nouveau. Le bénéfice du renomage ets de garder l'historique des versions dans le référenciel SVN.
Chauqe fois qu'un fichier a ét renomé sur le SVN vous devrez faire des modifications additionnelles:
- Ajoutez une entrez pour le nouveau nom de fichier dans includes/cpg15x.files.xml. Les détails peuvent être trouvés dans la section Vérificateur de version : structure XML
- Si un ancien nom de fichier a déjà été inclu dans une précédent publication publique, vous devrez vous assurez que l'utilisateur n'auras pas une version obsolète laissée avec l'ancien nom lors de la mise à jour. Pour cela, vous devrez ouvrir update.php, trouver la définition du tableau $delete_file_array et y ajouter l'ancien nom de fichier.
En plus, vous devrez ouvrir includes/cpg15x.files.xml et assigner à l'ancien nom le status "remove".
- Si l'ancien nom de fichier n'a pas été utilisé dans une précédente version publique, il suffit d'ouvrir includes/cpg15x.files.xml et d'effacer l'enregistrement se référant à l'ancien nom de fichier.
- Vous devrez chercher dans tous les fichiers (aussi bien les fichiers PHP que ceux HTML de la doc) la référence à l'ancien nom et la changer avec celle du nouveau nom.
Effacer des fichiers
Ce qui a été dit plus haut à propos du renomage de fichier s'applique aussi à l'effacement de fichiers: après avoir effacé le ficheir du SVN, assurez vous de modifier le fichier XML utilisé par le vérificateur de version et le tableau des fichiers prévus à l'effacement par le script de mise à jour.
Rappelez vous qu'avant d'effacer un ficheir PHP du noyau de Coppermine, il faut impérativement en discuter avant avec les autres développeurs sur le forum dédié uniquement aux développeurs.