Overview

Artifact ID: d91d390f1b3f4fb3482c5f28dfdf52513f6f4e77
Page Name:Documentation développeur
Date: 2014-10-22 23:17:32
Original User: bohwaz
Parent: 38a4ec35c7623f4bd57eacec097ece109a4ed4e1 (diff)
Next dd467d2dfac807b3e55edc53a15c70da97ceb91d
Content

Informations sur le projet

  • Licence utilisée : Affero GPL v3 (basiquement identique à la GPL mais rajoute une obligation de distribuer le code pour une utilisation sur un serveur même si pas de distribution de binaire)
  • Langage utilisé : PHP 5.4 (passage à PHP 5.5 prévu avec la sortie de Debian Jessie)
  • Base de donnée utilisée : SQLite 3

Pourquoi SQLite seulement ?

Parce que c'est une manière simple d'avoir toutes les données de l'application regroupées au même endroit, et que l'application puisse gérer ses propres imports / exports et sauvegardes. De même cela simplifie grandement l'installation pour les débutants : rien à configurer de technique.

SQLite est une base de données très puissante et rapide qui offre de nombreuses possibilités avancées. L'avantage principal est que la base de données est comprise en un seul fichier, simplifiant sa gestion et réplication. Enfin, sa résilience et ses performances ne sont plus à prouver, d'autant plus maintenant qu'elle est la base de données la plus utilisée au monde. En se concentrant sur une seule base de données il est possible d'obtenir des améliorations et simplifications qu'il ne serait pas possible d'avoir en devant rester générique pour fonctionner avec plusieurs bases de données.

De fait il n'est pas prévu de permettre d'utiliser une autre base de données, les avantages à une telle possibilité sont bien moindres comparés à tous les inconvénients.

Comment installer une copie de la version de développement ?

  • Télécharger le ZIP du trunk
  • Dé-zipper le fichier
  • Exécuter le script setup-dependencies.sh pour télécharger les dépendances (SVN est requis pour cette tâche)
  • Suivre les instructions classiques : Installation

Obtenir une copie du repository de développement

  • Installer Fossil, l'outil de versionnement utilisé pour le développement (sur Debian et Ubuntu : apt-get install fossil)
  • Se placer dans un répertoire où l'on souhaite copier le fichier contenant le repository (il contiendra l'intégralité du code, mais aussi toutes les modifications réalisées, les tickets, le wiki, etc.) : par exemple ~/fossil/
  • Lancer : fossil clone https://fossil.kd2.org/garradin/ garradin.fossil
  • Créer un nouveau répertoire où l'on veut récupérer le code et s'y placer : par exemple ~/fossil/garradin/
  • Lancer : fossil open ~/fossil/garradin.fossil
  • Exécuter le script setup-dependencies.sh pour télécharger les dépendances

Pourquoi Fossil et pas Git ?

Fossil est un gestionnaire de projet décentralisé complet. Ce n'est pas juste un DVCS comme Git mais un véritable gestionnaire de projet incluant un wiki, une gestion de tickets, une interface web, une gestion d'utilisateurs, etc etc. Git, SVN, Mercurial et autres ne sont que des DVCS : ils ne permettent de versionner que le code.

De plus Fossil est bâti sur SQLite et est l'œuvre de l'auteur de SQLite, cela fait de lui le gestionnaire de version le plus robuste qui soit, et le stockage de ses données est simplissime !