Skip to content
Snippets Groups Projects
Forked from afi / opacce
11709 commits behind the upstream repository.

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.

  1. Commit des modifications sur votre machine en local
git commit -a -m "Commentaires des modifications"
  1. 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