Coppermine Photo Gallery - Your Online Photo Gallery

Coppermine Photo Gallery v1.5.18: Documentation et manuel


Table des matiГЁres
Passez votre souris ici pour dГ©rouler

RГЁgles de travail pour le codage

Public ciblГ©

Cette partie de la documentation n'est pas Г  destination des utilisateurs de Coppermine, mais uniquement pour les dГ©veloppeurs. Il n'y a pas d'aide pour ces chapitres, ils sont livrГ©s tels quels.

Les utilisateurs finaux qui veulent modifier leur copie de Coppermine, sont encouragГ©s Г  suivre ces rГЁgles eux aussi.

Objet

Comme Coppermine est un travail d'Г©quipe, les membres de l'Г©quipe qui contribuent doivent s'assurer que le code reste facile Г  lire, Г  comprendre et Г  maintenir. C'est pourquoi il y a ici un certain nombre de rГЁgles qu'il faut respecter lorsque l'on travaille sur le code source de Coppermine. Bien que cette partie de la documentation soit pour les membres de l'Г©quipe de dГ©veloppement de Coppermine, les utilisateurs qui souhaitent contribuer avec leur code de quelque maniГЁre que ce soit sont priГ©s de rГ©pГ©ter ces rГЁgles autant que possible (si vous les comprenez totalement).

Les rГЁgles de codage de cette page ne sont pas gravГ©es dans le marbre - si vous (en tant que membre de l'Г©quipe de dГ©veloppement) trouvez pendant le dГ©veloppement, qu'une de ces rГЁgles doit ГЄtre rГ©visГ©e ou changГ©e, commencez un sujet sur le forum de discussion dГ©diГ© au dГ©veloppement (dev board) pour en discuter.


Indentation


Encodage

L'encodage standart dans Coppermine est UTF-8 sans BOM. Tous les fichiers non-binaires doivent ГЄtre encodГ©s en UTF-8 (Unicode).

RГЁgles gГ©nГ©rales


Code PHP

Formatage

Structures de contrГґle

cela inclue if, for, while, switch.

Appel des fonctions

DГ©finition des fonctions

Balise de code PHP

Imbrication de HTML en PHP

Lorsqu'il y a plus d'une ligne d'HTML Г  afficher, la syntaxe Heredoc doit ГЄtre utilisГ©e au lieu de suspendre le processus PHP pour le rependre ensuite.

Bon:

// PHP content here
if ($foo == $bar) {
	print <<< EOT
	<h1>Hello {$bla}</h1>
EOT;
}

Mauvais:

// PHP content here
if ($foo == $bar) {
	?>
	<h1>Hello <?php echo $bla; ?></h1>
<?php
}

Fin de ligne

Pour afficher une fin de ligne dans la sortie HTML, utilisez la syntaxe heredoc ou utilisez la variable $LINEBREAK au lieu de coder des fins de lignes en dur dans le code.

N'oubliez pas de rendre la variable $LINEBREAK globale dans les fonctions.

Bon:

echo '<h1>Hello world</h1>' . $LINEBREAK;
echo '<p>foo bar</p>';
}

Mauvais:

echo "<h1>Hello world</h1>\n";
echo '<p>foo bar</p>';
}

Convention de nommage

Pour les crГ©ateurs de plugins il y a une section plus dГ©taillГ©e sur les conventions de nommage dГ©crivants aussi les noms de packages.

RequГЄtes dans la base de donnГ©es


Documentation


Sortie HTML

Balises images dans les sorties HTML

Liens dans les sorties HTML

ElГ©ments de formulaires dans les sorties HTML

Balises dГ©prГ©ciГ©es

Les balises HTML dГ©prГ©ciГ©es comme <font> ne doivent pas ГЄtre introduites dans Coppermine sans qu'il n'y ait une raison valide et documentГ©e de faire de la sorte.

Balises prГ©fГ©rГ©es

Les balises populaires comme <b> et <i> sont considГ©rГ©es comme dГ©prГ©ciГ©es. Du fait de leur popularitГ©, les navigateurs les supporteront certainement encore pendant un certain temps. NГ©anmoins, il y a de meilleures alternatives. Pour <b>, la balise de remplacement est <strong>. Pour <i>, la balise de remplacement est <em>. Si possible, utilisez ces balises de remplacement aussi bien pour les sorties gГ©nГ©rГ©es par Coppermine que pour la documentation.


CrГ©dits pour les rГЁgles de codage

Les rГЁgles principales de cette page ont Г©tГ© esquissГ©es par Dr. Tarique Sani comme un sous-ensemble de lignes directrices de codage PEAR. Les sorties HTML et la section concernant la base de donnГ©e sont basГ©es sur un sujet crГ©e par Unknown W. Brackets Simplemachines.


FacilitГ© d'utilisation

Avoir de bonnes connaissances en programmation est important, mais il est tout aussi important de coder correctement en terme de facilitГ© d'utilisation.

Formulaires

Moins il y a de clics, mieux c'est

Les listes dГ©roulantes sont gГ©niales s'il y a beaucoup d'options de choix, mais elles sont moins bonnes si il n'y a que deux ou trois options: l'utilisateur doit cliquer sur la liste pour voir quelles options existent.
Au lieu de venir avec un liste de sГ©lection comme
il est plus intuitif pour l'utilisateur d'afficher les diffГ©rentes options possibles sous forme de boutons radio:
Si vous voulez juste un commutateur pour basculer d'une option Г  l'autre utilisez une boite Г  cocher comme
au lieu de
Afficher le graphique:
ou mГЄme

Une plus grande surface cible pour les clics

Il peut ГЄtre difficile de cliquer sur une simple case Г  cocher ou un bouton radio - c'est la raison pour laquelle la balise HTML <label> a Г©tГ© inventГ©e: si vous l'utilisez judicieusement, le texte correspondant Г  une option particuliГЁre reprГ©sentГ©e par une case Г  cocher ou un bouton radio peut ГЄtre cliquable pour changer l'Г©tat de la case Г  cocher ou du bouton radio.
Mauvais exemple Bon exemple
Sortiet Aller au premier
Restez ou vous ГЄtes
Aller au dernier
Code
<input type="radio" name="option_nolabel" value="0" class="radio" checked="checked" />Aller au premier<br />
<input type="radio" name="option_nolabel" value="1" class="radio" />Restez ou vous ГЄtes<br />
<input type="radio" name="option_nolabel" value="2" class="radio" />Allez au dernier
Sortie

Code
<input type="radio" name="option_label" id="option_label0" value="0" class="radio" checked="checked" />
<label for="option_label0" class="clickable_option">Aller au premier</label><br />
<input type="radio" name="option_label" id="option_label1" value="1" class="radio" />
<label for="option_label1" class="clickable_option">Restez ou vous ГЄtes</label><br />
<input type="radio" name="option_label" id="option_label2" value="2" class="radio" />
<label for="option_label2" class="clickable_option">Allez au dernier</label>
Sortie Display graph
Code
<input type="checkbox" name="display_graph_nolabel" value="1" class="checkbox" />Display graph
Sortie
Code
<input type="checkbox" name="display_graph_label" id="display_graph_label" value="1" class="checkbox" /><label for="display_graph_label" class="clickable_option">Afficher le graphique</label>
Cliquez sur les mots Г  cГґtГ© des boutons radio pour voir la diffГ©rence !