-
Laurent authored1aa18503
- Contribuer au code source
- Contenu
- Prérequis
- Créer sa copie du projet
- Créer un compte gitlab
- Cloner le projet
- Installer l'accès SSH
- Créer et déclarer sa clé
- Configurer l'accès SSH
- Contribuer au code
- Installer sa copie de l'OPAC
- Faire des modifications et les pousser vers gitlab
- Proposer les modifications aux mainteneurs de la version officielle
- Récupérer les dernières modifications de la version officielle
- Créer un nouveau skin
- Création
- Sauvegarde sur GitLab
- Description des répertoires
Contribuer au code source
Contenu
Prérequis
Les équipes de développement AFI et Biblibre utilisent le sytème de gestion de développement libre GitLab et le système de gestion de version Git. Ce document décrit l'utilisation minimale nécessaire de ces deux outils pour pouvoir contribuer au code des projets maintenus par AFI et Biblibre. Néanmoins nous vous invitons à lire le livre Pro Git.
Nous hébergeons les codes sources des projets sur une instance de GitLab accessible à l'URL https://git.afi-sa.fr. Les projets publics sont accessibles sans compte à l'URL https://git.afi-sa.fr/public.
Créer sa copie du projet
Créer un compte gitlab
Depuis la page Sign Up vous pouvez créer votre compte. Un mail sera automatiqument envoyé pour vous confirmer l'accès.
Cloner le projet
Une fois connecté, depuis la page du project OPACCE, cliquez sur le bouton Fork repository.
Cela vous créera une copie intégrale du projet, accessible publiquement à l'adresse http://git.afi-sa.fr/mon_compte/opacce.
L'accès SSH au dépôt git est donné sur la page d'accueil de votre projet. Par exemple git@git.afi-sa.fr:mon_compte/opacce.git
Installer l'accès SSH
Le poussage de modifications sur gitlab requiert un accès ssh. Sur la page de modification de votre profil, à l'onglet SSH Keys, le lien Add SSH Key permet d'ajouter une clé.
Créer et déclarer sa clé
Si vous posséder déjà une clé sur votre poste de travail dans ~/.ssh/id_rsa.pub, copiez le contenu.
Sinon pour générer une clé SSH sur votre poste de travail, utilisez la commande suivante:
ssh-keygen -t rsa -C "addresse_email@domaine.ext"
et pour afficher le contenu:
cat ~/.ssh/id_rsa.pub
Configurer l'accès SSH
L'accès SSH passe par le port 2950. Créez ou modifiez le fichier ~/.ssh/config pour y ajouter les lignes suivantes:
Host git.afi-sa.fr
Hostname git.afi-sa.fr
Port 2950
User git
IdentityFile ~/.ssh/id_rsa
Contribuer au code
Installer sa copie de l'OPAC
L'installation se déroule comme décrit dans la procédure d'installation, excepté que la commande pour cloner le projet décrite dans la section Récupération des sources utilise votre propre dépôt:
cd /var/www
git clone git@git.afi-sa.fr:mon_compte/opacce.git
Faire des modifications et les pousser vers gitlab
Une fois quelques modifications effectuées, l'envoi des données se fait en deux temps.
- Commit des modifications sur votre machine en local
git commit -a -m "Commentaires des modifications"
- Pousser les modifications de votre branche master vers gitlab (origin):
git push origin master
Pour plus de détails, consultez Pro Git
Proposer les modifications aux mainteneurs de la version officielle
Sur la page de votre projet GitLab, onglet Merge Requests, cliquez sur le lien + New Merge Request et remplissez les différents champs pour décrire vos modifications.
Récupérer les dernières modifications de la version officielle
Tout d'abord, il faut déclarer le dépôt de la version officielle (upstream) dans votre projet local:
git remote add upstream git@git.afi-sa.fr:afi/opacce.git
Ceci fait, vous pouvez fusionner les modifications dans votre branche:
# Télécharge toutes les nouvelles modifications du dépôt distant
git fetch upstream master
# Fusionne les nouvelles modifications dans votre répertoire
git merge upstream/master
# Pousse la fusion sur gitlab
git push origin master
Créer un nouveau skin
Création
Se placer dans le répertoire skins à la racine de l'OPAC et recopier le skin modele
cd skins
cp -a ../public/opac/skins/modele mon_skin
Aller dans la configuration d'un profil de l'OPAC, le nouveau skin devrait être disponible dans le sélecteur de thème.
Sauvegarde sur GitLab
Créer le projet sur GitLab pour stocker les sources. Par exemple https://git.afi-sa.fr/mon_compte/mon_skin.
Aller dans le répertoire mon_skin et initialiser le dépôt:
cd mon_skin
git init
git remote add origin -t master git@git.afi-sa.fr:mon_compte/mon_skin.git
git add *
git commit -m "Premier commit"
git push origin master
Ceci fait, les nouveaux fichiers devraient être accessibles sur https://git.afi-sa.fr/mon_compte/mon_skin/files
Description des répertoires
- css/ contient le fichier global.css sur lequel travailler. Les autres fichiers sont destinés à devenir obsolètes.
- images/ les icônes, dont images/support/ pour les types de support. Les fichiers doivent être nommés comme suit: support_id_.png, par exemple support_1.png pour les livres.
- templates/ les modèles de rendu boite de la page d'accueil. Les fichiers doivent êtres nommés en séparant les mots par des tirets bas _, qui seront dans la configuration des boîtes Style de boîte. Chaque modèle de boîte peut inclure les tags {TITRE}, {RSS}, {CONTENU}. Pour avoir un rendu conditionnel, le fichier peut inclure les conditions {IF-TITRE}, {IF-RSS}, {IF-CONTENU} suivi de la balise {ENDIF}
<div class="right-box">
<div class="right-box-inner">
{IF-TITRE}
<div class="header">
<div><h1>{TITRE}</h1></div>
<div class="rss">{RSS}</div>
</div>
{ENDIF}
<div class="content">
{CONTENU}
</div>
</div>
</div>
Tous les fichiers de vue du répertoire application/modules/opac/views/scripts peuvent être redéfinis dans un répertoire html. Les principaux sont:
- footer.phtml pour le pied de page
- banniere.phtml pour l'en-tête
- skin_head.phtml pour rajouter des éléments dans la balise head du site
- accueil.phtml pour la page d'accueil
- contenu.phtml pour les autres pages