Ancestris - Développement

From Arvernes Wiki

Jump to: navigation, search
Bannière Ancestris


Retour au Sommaire d'Ancestris Accueil   -   Copies écrans   -   Prérequis   -   Télécharger   -   Guide utilisateur   -   Les Plugins   -   F.A.Q.   -   Discuter   -   Liens



Une information Vous êtes les bienvenus
Vous êtes intéressé par aider au développement d'Ancestris, et/ou de modules complémentaires, n'hésitez pas. Nous serons très heureux de vous accueillir dans l'équipe. Toute aide est la bienvenue.



Pour pouvoir commencer à participer au développement d'Ancestris, il vous faut le code source du logiciel.

Vous pouvez l'obtenir de deux manières :

  • soit vous êtes développeur, alors il vous faut un accès "privilégié" pour pouvoir reprendre le dépôt, mais aussi écrire dans le dépôt.
  • soit vous êtes simplement intéressé par le source, sans vouloir participer. Alors il vous suffit de le reprendre en tant qu'utilisateur "anonyme". On vous donnera ci-après les modalités pour le faire.

Ancestris est un logiciel Open Source, donc le core de l'application est disponible sous licence GPL. Plusieurs explications vous sont données sur ce qu'est la licence GPL. Une traduction est également à votre disposition.



Contents

Accès développeur

En résumé, mais on va l'expliquer après, de quoi a t'on besoin ?

  • de Java (le JDK), mais ça, à priori, vous devez l'avoir,
  • d'un moyen d'accéder au code source d'Ancestris, donc un logiciel svn (subversion),
  • d'un environnement intégré de développement, à savoir Netbeans.

Simple non? Regardons ça plus en détail.

N.B.: Prenez vraiment les numéros de versions qui sont indiqués. Si vous ne le faites pas vous allez vous retrouver devant des problèmes de compilation et de paramètrage.


L'accés SVN

Un site vous donne une bonne vision de ce qu'est subversion (SVN)

Un dépôt SVN permet à plusieurs personnes de collaborer à un même projet. Ce qui est intéressant, ce n'est pas l'importance du projet, mais plus l'aspect collaboratif. Un dépôt SVN peut très bien s'imaginer pour des gens qui décident de travailler sur un projet de logiciel, mais aussi un projet de revue, où certains vont faire un article, d'autres un autre, d'autres encore vont travailler à un sommaire, etc.

Pour avoir l'accès SVN en tant que développeur, vous devez :

  • Mettre un petit mot à Daniel pour qu'il vous donne accès en écriture sur le dépôt. De cette manière vous pourrez bien sûr reprendre le code, mais aussi remonter sur le dépôt vos développements, modifications, etc...
  • Ensuite, il faut télécharger subversion (SVN) pour votre système :
  • Enfin, il faut installer subversion (SVN) sur votre ordinateur. Voilà quelques liens :

(N'hésitez pas à mettre d'autres liens, ou de meilleurs liens)

Si vous aimez la ligne de commande et êtes sous Linux, voilà quelques explications complémentaires. [1]

A priori, vous devriez être en possession de tout le code d'Ancestris, vous allez pouvoir commencer à travailler sur le code.

IDE - Environnement de Développement Intégré

Un IDE (Integrated Development Environment) va vous permettre de développer votre application java dans un environnement convivial et puissant. Nous utiliserons Netbeans comme IDE.

Trois choses sont nécessaires et obligatoires :

  • Java. Normalement vous l'avez sûrement, mais il vous faut le JDK java de Sun et pas l'OpenJDK.
  • Apache Ant
  • Et enfin l'IDE, à savoir Netbeans.


JDK

Avant d'installer Netbeans, il convient de vérifier que vous avez bien java d'installé. Java mais surtout le bon java (donc le java de Sun - maintenant Oracle, et surtout pas le OpenJDK), et que ce soit le JDK (Java Development Kit).

Pour vérifier votre version si vous êtes sous Linux, ouvrez un terminal, et tapez :

java -version

Vous devriez voir quelque chose comme ça :

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

(votre numéro de version peut être différent bien sûr)

Installation manuelle (Windows, Linux...) :

Celui-ci (le JDK) est disponible pour une installation manuelle. Si vous allez sur la page de téléchargement de java, vous pourrez voir qu'il existe une possibilité de télécharger et d'installer, et le jdk, et netbeans. Je vous déconseille cette solution. Certains ont eu des problèmes. J'ai tendance à privilégier, et l'installation de java et l'installation de Netbeans séparemment. Pour télécharger le JDK, allez sur la page du site web vous permettant un tel téléchargement.

En fonction de votre système d'exploitation, Windows, Linux, .... choisissez la version qui vous convient.


Installation par synaptic sous Linux :

Synaptic vous permet de choisir les paquets à installer si vous êtes sous Linux Ubuntu. Lancez Synaptic, et choisissez d'installer :

  • sun-java6-jdk
  • java-common
  • sun-java6-bin
  • sun-java6-jre
  • rhino
  • libxerces2-java
  • libjaxp1.3-java
  • libaccess-bridge-java
  • sun-java6-plugin
  • unixodbc

Attention, si vous êtes sous Ubuntu 10.04, pour pouvoir choisir le jdk6.0, il vous faut activer le dépôt "http://archive.canonical.com/ubuntu/ lucid partner" que vous trouvez dans l'onglet "Autres logiciels" du menu "Dépôts" de Synaptic.

Je vous conseille très très très fortement de désinstaller le openjdk qui est installé par défaut. A vous de voir, mais je le conseille vivement. Ne commencez pas l'installation de Netbeans avant d'avoir désinstallé le OpenJDK et installé le JDK de Sun. Vous gagnerez du temps.....


Vous pouvez aussi faire cela dans un terminal, en tapant :

  • sudo apt-get install sun-java6-jdk java-common sun-java6-bin sun-java6-jre
  • sudo apt-get install rhino libxerces2-java libjaxp1.3-java libaccess-bridge-java
  • sudo apt-get install sun-java6-plugin unixodbc

Apache Ant

Maintenant, il est nécessaire d'installer "Ant" (Apache Ant). Rendez-vous sur le site de Apache Ant, et téléchargez la dernière version disponible. Il est nécessaire pour Netbeans d'avoir une version supérieure à la 1.7.0, donc la 1.8.0 qui est sortie lorsque j'écris ces lignes, et celle qu'il vous faut.

Allez sur la page "Binary distributions", et reprenez le fichier au format que vous préférez.

Il semblerait que l'installation de Ant ne soit pas nécessaire avec les dernières versions de Netbeans, donc en installant Netbeans 6.9.1, Ant est facultatif.

Netbeans

Installation

Pour que cela fonctionne du premier coup, suivez vraiment les conseils qui vous sont donnés ci-après, car certains ont eu des difficultés en voulant installer les choses de manière différente.

N'oubliez pas, il vous faut le jdk6.0. Ne tentez pas autre chose, ça risque de ne pas marcher.

  • Tout d'abord il faut télécharger l'environnement NetBeans à cette adresse: http://netbeans.org/downloads/index.html. Prenez la version 6.9.1 (et non pas la version 7.0), et en français (c'est le petit menu déroulant "Langue de l'IDE"), afin d'avoir tout ce qu'il faut. Seul le premier package est nécessaire (Java SE soit 66M avec le support du français). Il est même déconseillé, car certains ont connu des problèmes d'installation, de mettre un autre package, genre le plus gros pack (celui dénommé "java"). Celui de 66M, le Java SE, est celui qu'il faut mettre.[2]
  • Lancez ensuite l'installation en exécutant le programme juste téléchargé; laissez-vous ensuite guider. Tout ce qu'il faut pour développer pour Ancestris sera alors installé correctement.
    IMPORTANT: Installez Netbeans 6.9.1 dans un répertoire avec les droits en écriture pour pouvoir faire des mises à jour.
    Dans le cas ou vous installlez Netbeans dans un répertoire pour lequel vous n'avez pas les droits en écriture, les mises à jour de l'ide pourront être faites correctement car celles-ci seront placées dans le répertoire .netbeans (donc dans votre répertoire personnel). Par contre les différents modules ainsi téléchargés ne seront pas utilisés dans le développement d'ancestris et donc vous ne pourrez pas compiler correctement.
  • Il faut impérativement mettre à jour Netbeans 6.9.1 sinon les extensions ne peuvent pas être compilées. Avec le menu Outils > Plugins , installez toutes les mises à jour disponibles dans le premier onglet "Mise à jour" . Attention: il faut faire plusieurs passes car certaines mises à jour indispensables ne sont visibles qu'après l'installation d'autres mises à jour. Remarque: Il n'est pas utile d'installer les plugins qui sont dans l'onglet "Plugins disponibles".
  • Voici les plugins qu'il faut que vous ayez. A priori, ils sont de base, mais ça ne mange pas de pain de vérifier. Donc dans "Outils - Plug-ins - Installés" vous devriez en avoir au moins 23 qui sont:
  • Ant
  • Base de données
  • Compilateur d'interface graphique
  • CVS
  • Débogueur Java
  • Développement de plug-ins Netbeans
  • Equipe
  • Hibernate
  • Historique local
  • Hudson
  • Java
  • Java persistence
  • Java Profiler
  • Maven
  • Mercurial
  • Personnalisation de l'EDI
  • Plate-forme de l'IDE
  • Plate-forme RCP (celui là est grisé)
  • Software as a Service
  • Spellchecker
  • Spellchecker English Dictionaries
  • Spring Beans
  • Subversion
Le code source Ancestris

Pour pouvoir travailler, vous devez avoir le code source d'Ancestris. Deux cas, ou vous l'avez, ou vous ne l'avez pas.

1°) vous avez le code source

  • Les sources d'Ancestris sont dans un répertoire de votre disque dur. On va supposer que le répertoire dans lequel vous avez mis les sources s'appelle "ancestris".
  • lancez NetBeans puis faites Fichier/Ouvrir un projet...
  • Sélectionnez dans ancestris/trunk/ les deux projets que sont "AncestrisCore" et "AncestrisExtensions" (ces deux derniers, sont des sous-répertoires de genjf/trunk). Ces deux répertoires doivent être repérés différemment. Dans la partie gauche, vous devriez voir deux projets, Ancestris et AncestrisExtensions.

2°) vous n'avez pas le code source

Dans l'IDE NetBeans, allez dans le menu "Equipe" du menu principal de Netbeans, puis "Subversion" et "Checkout...". Un assistant s'ouvre:

  • Premier écran :
URL du référenciel : http://svn.ancestris.org/fgenj
Utilisateur : Le nom d'utilisateur que vous avez donné à François quand vous avez demandé votre accès en tant que développeur.
Mot de passe : Le mot de passe que vous avez donné à François.
Vous cochez (x) "Enregistrer le nom d'utilisateur et le mot de passe".
Vous faites "Suivant" sauf si vous avez des choses à mettre dans "Configuration du Proxy".
  • Deuxième écran :
Dossier du référentiel : Vous cliquez sur "Parcourir". Dans l'écran qui apparaît vous choisissez "/trunk/ et faites "OK". (sur une des captures d'écran, vous verrez "/trunk/Tools" mais vous vous n'aurez que "trunk" de marqué. Pas d'inquiétude, c'est normal)
Révision du référentiel : Vous ne mettez rien, vu qu'on veut extraire "HEAD".
Dossier local : vous faites "Parcourir" et choisissez le répertoire dans lequel vous souhaitez mettre les sources d'Ancestris.
Cochez la case Sauter "trunk" et n'extraire que son contenu
Cochez "Rechercher des projets Netbeans après le checkout".
Et vous cliquez sur "Terminer". Vous téléchargerez l'ensemble des sources sur votre disque.
Vous aurez ensuite la possibilité de choisir les deux projets "Ancestris" et "AncestrisExtensions" à ouvrir dans NetBeans.

Vous êtes à jour, maintenant, vous allez apporter les modifications que vous voulez au code de Ancestris. C'est fait ? Impeccable, il ne reste qu'à remonter sur le dépôt vos modifications.

Ouverture du projet dans Netbeans
  • On va d'abord s'assurer que vous avez le dernier code source, car des modifications ont peut être été apportées par d'autres personnes.
    Pour reprendre le code, vous faites un clic droit sur le projet "Ancestris", puis "subversion", puis "mise à jour", et votre code devrait se mettre à jour tout seul.[3]
  • Vous commencez à vous positionner sur Ancestris, et vous faites en sorte que Ancestris soit le projet principal, donc clic droit sur Ancestris, et choisir "Définir comme projet principal",
  • Pour construire le projet:
  • Clic droit sur Ancestris, "Nettoyer et construire"
  • Clic droit sur AncestrisExtensions, "Tout nettoyer et générer"
  • et pour le lancer, "exécuter projet"
  • Pour créer l'archive zip: Clic droit sur Ancestris, "Générer la distribution des fichiers ZIP"
Problèmes lors de la compilation

La compilation ne marche pas. Voilà un résumé des raisons qui ont fait que certains n'ont pas réussi à compiler :

  • Mauvaise version de java. On avait conservé le OpenJDK au lieu de mettre le java de Sun (maintenant Oracle).
  • Mauvaise version de Netbeans. Malgré qu'on vous recommandé de mettre la version 6.9.1 vous avez mis une version postérieure, genre 7.0 ou 7.0.1. Il faut mettre la 6.9.1
  • Après l'installation de netbeans, vous n'avez pas fait les mises à jour de netbeans avant de reprendre le code source d'Ancestris. Vous devez absolument mettre à jour Netbeans et ses plugins.
  • Vous avez installé netbeans dans un répertoire dans lequel vous n'avez pas les droits en écriture. Les mises à jour de Netbeans et de ses plugins ne peut pas se faire. Il vous faut donc installer Netbeans dans un répertoire dans lequel vous avez en tant qu'utilisateur, les droits en écriture.


Problèmes lors de la mise à jour

Supposons que vous ayez quelques problèmes pour mettre à jour tous les fichiers source quand vous êtes dans Netbeans.

Il faut vous assurer que les informations pour le projet Ancestris sont bien renseignées. Dans Netbeans, regardez dans "Equipe" - "Checkout". Là vous allez vérifiez que vous avez pour :
URL du référentiel : http://arvernes.dyndns.org/fgenj

Utilisateur : le nom d'utilisateur que vous avez donné à François pour accéder au dépôt SVN.
Mot de passe : le mot de passe que vous avez donnée à François pour accéder au dépôt SVN.
(x) Enregistrer le nom d'utilisateur et le mot de passe.
A priori pour proxy, rien de ne devrait être à changer.
Pour l'écran suivant, tout devrait être déjà paramétré comme il faut.

Là vous faites annuler, car si vous faites "Terminer", et que vous avez mis votre dépôt dans un autre endroit, ça va encore tout vous reprendre. Le but de la manoeuvre ci-dessus est de vérifier que l'URL est bonne.


La liste de discussion française de développement

La liste en elle-même

Vous connaissez Ancestris, vous voulez participer à son développement en écrivant du code, en modifiant le code du programme.

Il vous suffit pour cela de vous abonner à la liste de discussion dédiée à cela.

  • Procédure d'Abonnement :

Il vous suffit pour cela de rejoindre le forum de discussion en envoyant un simple message à l'intention de : "ancestris_dev-subscribe@ml.arvernes.com". Ne mettez rien dans le corps du message, mais dans la ligne du "sujet" mettez uniquement le mot subscribe et c'est tout.

N.B.   (Vous pouvez aussi si vous le souhaitez cliquer sur le nom du destinataire ci-dessous, cela ouvrira automatiquement votre logiciel de courrier et mettra le mot requis dans la ligne "sujet". Vous n'aurez qu'à l'envoyer) : ancestris_dev-subscribe@ml.arvernes.com


  • Procédure de Désabonnement :

Pour vous désabonner de la liste, il suffit de faire un message à l'intention de "ancestris_dev-unsubscribe@ml.arvernes.com" et mettre le mot unsubscribe dans la ligne du sujet. Ou alors cliquez sur l'adresse ci-contre : ancestris_dev-unsubscribe@ml.arvernes.com

Et envoyez le message qui va être généré.


  • Pour envoyer un message à l'Administrateur de la liste :

Il suffit de faire un message à l'intention de : ancestris_dev-owner@ml.arvernes.com


  • Gestionnaire de la liste :

La personne en charge de cette liste est Daniel ANDRÉ.


Les archives de la liste

N'oubliez pas que vous pouvez toujours consulter les archives de la liste de discussion ici.[4]

Possibilité de mettre vos développements sur Arvernes

Vous avez la possibilité de remonter des fichiers (vos réalisations) sur Arvernes dans un répertoire qui vous est dédié. Cela va permettre aux utilisateurs d'Ancestris de les télécharger, et donc de les utiliser/tester.

Toutes les personnes qui ont accés en ftp sur ce site, utilisent toutes le même login et le même password. Cela veut dire que vous pouvez visualiser, et voir même, modifier le ou les fichiers des autres utilisateurs. Il faut donc respecter le travail que les autres ont fait.

Pour bien distinguer votre travail, il est conseillé de mettre vos fichiers dans un sous-répertoire à votre nom. Si je m'appelle Jean Dupont, je vais créer un sous répertoire qui s'appellera "Dupont_Jean". J'ai tendance à mettre le nom avant le prénom pour des raisons de classement alphabétique. Je vous demande aussi de mettre un "underscore" (le petit tiret qui se trouve sous votre touche 8 de votre clavier : "_") pour relier différents mots de votre répertoire. Bien entendu, dans ce sous-répertoire que vous vous êtes attribué, vous pouvez créer autant de sous sous-répertoires que vous avez besoin.

Voilà comment vous devez insérer un lien sur le wiki pour que le fichier puisse être téléchargé :

[http://www.arvernes.com/V1/pages/compteur_dl.php?/files/ftparvernes/Dupont_Jean/le_nom_de_mon_fichier.zip le_nom_de_mon_fichier.zip]

Faites attention à la casse de vos mots. "Dupont_Jean", n'est pas pareil que "Dupont_jean" ou "dupont_jean", ou "dupont_Jean".

Dernière remarque : ne confiez pas vos login et mot de passe à d'autres personnes. Merci.


Site de suivi français

Il existe en plus de ce wiki un site du suivi des bugs, demandes, etc... enfin tout ce qui concerne le développement géré par Daniel André sur le site Trac de Arvernes.

En visitant ce dernier site, vous verrez les différentes demandes qui ont été faites, les développements en cours sur certaines d'entre elles. Promenez-vous dans les pages du site, et vous comprendrez trés facilement comment tout cela fonctionne.

Si vous avez proposé d'aider au développement d'Ancestris, il est certain que vous devez avoir accés au site Trac. Normalement vous avez dû envoyer à François un login et un mot de passe pour pouvoir utiliser toutes les fonctionnalités du Trac. Utilisez ces deux paramètres pour pouvoir vous loguer.

Accès "Contributeur"

Cette section dans le svn est ouverte à tous ceux qui veulent aider dans des domaines ne touchant pas au code, mais à des documents utiles pour Ancestris. Un exemple : l'almanach. Ce document peut être complété par toute personne de bonne volonté, et là il n'est pas besoin de connaitre le langage java ou un autre langage de programmation. Il suffit de savoir utiliser un éditeur de texte, ou par exemple Open Office.

Pour accéder à cette partie du code, il vous suffit de le signaler à francois@ancestris.org, et vous serez rajouté dans la liste des personnes ayant accès à cette zone. Vous n'aurez pas des mega octets de fichiers à reprendre, juste quelques centaines d'octets.

Là encore, vous avez deux moyens d'y accéder. Soit en ligne de commande, soit avec un logiciel type subversion (svn).

  • Si votre truc c'est la ligne de commande, alors il faut faire :
svn co http://arvernes.dyndns.org/fgenj/trunk/contrib
  • Si vous utilisez un client (un logiciel) svn, il suffira de lui mettre votre login (celui que François vous aura donné pour votre accès à "contrib"), ainsi que le mot de passe (que là encore François vous aura fourni) et de demander à reprendre "trunk/contrib" comme je le mets plus haut dans la ligne de commande, donc l'URL du référentiel sera "http://arvernes.dyndns.org/fgenj/trunk/contrib".

Comment cela se passe t'il? Prenons l'exemple de l'almanach (l'almanach se met à jour par un fichier qui s'appelle fr.almanac.ods et que l'on trouve dans le sous répertoire contrib/almanac/) qui se situe dans cette section "contrib".

Première étape : reprendre ce qui existe. Là normalement, ça doit marcher tout seul. Vérifiez bien que vous avez reçu sur votre disque dur le contenu du répertoire "contrib".
Par exemple, sous Linux, il est possible que le contenu (c'est à dire le fichier fr.almanac.ods) se trouve dans votre répertoire personnel dans "/home/votre_nom/Documents/almanac/" (je suis toujours sur l'exemple de l'almanach).

Deuxième étape : vous avez travaillé sur le fichier, et vous voulez le remonter sur le svn. Là, deux cas possibles : ou bien vous avez travaillé directement sur le fichier fr.almanac.ods qui est dans votre "dépot local du svn", donc dans mon exemple dans /home/votre_nom/Documents/almanac/, et là il suffit de dire à votre logiciel de remonter cette nouvelle version sur le svn, donc de faire ce qu'on appelle un "commit".
Ou bien vous avez travaillé sur un fichier fr.almanac.ods mais qui n'est pas celui de votre dépot local du svn, dans ce cas, il faut copier ce fichier sur lequel vous avez travaillé, dans votre dépot local du svn, donc dans mon exemple dans /home/votre_nom/Documents/almanac, et de dire à votre logiciel de le remonter sur le svn, de faire un "commit".

Et voilou.

N'hésitez à modifier/compléter cette aide en fonction de vos déboires, expériences, cela sera utile pour les autres. Merci.

Accès anonyme

Comme je le disais, vous pouvez avoir envie de reprendre le code source d'Ancestris, sans avoir l'intention de participer à son développement, tout au moins au début.

Vous pouvez reprendre ce source, par un accès anonyme.

Pour cela, si vous n'utilisez pas Netbeans, il vous faut un client en ligne de commande du genre : tortoisesvn, rapidsvn, ...

La ligne de commande à utiliser est :

svn co http://arvernes.dyndns.org/fgenj/trunk

Le login pour accéder aux sources est : "anonymous" sans les guillemets. Et le mot de passe à utiliser est : "password" sans les guillemets là aussi.

Une branche "AncestrisExtensions" qui sert de dépôt expérimental à destination des développeurs afin de développer et tester leurs composants additionnels n'est ouverte qu'à ces derniers.

Aucun support ou aide ne sera fourni pour cet accès anonyme. Aucune réponse ne sera apportée aux courriers envoyés concernant l'accès anonyme. Notre énergie doit être consacrée à Ancestris et à l'aide pour ceux qui participent au développement.

Notes

  1. Sous Linux, si vous préférez la ligne de commande, et avez installé svn sur votre système, vous pouvez reprendre le code en tapant dans un terminal : cd mkdir dev_ancestris cd dev_ancestris mkdir trunk svn co http://arvernes.dyndns.org/fgenj/trunk /home/monrepertoire/dev_ancestris (bien sûr vous devez changer le mot "monrepertoire" par le bon nom de votre répertoire personnel. Si en plus vous préférez mettre un autre nom que "dev_ancestris", changez en conséquence.)
  2. Pour ceux qui sont sous linux, j'ai mis un exemplaire du Netbeans adéquat en langue française. Si vous voulez le télécharger à partir d'ici, libre à vous : netbeans-6.9.1-ml-javase-linux.sh
  3. Si vous voulez mettre à jour votre dépôt sans passer par Netbeans, mais faire tout en ligne de commande, vous ouvrez un terminal. Vous allez dans le répertoire contenant vos sources, donc normalement si vous avez fait ce qu'on mettait plus haut, dans /home/monrepertoire/fgenj/trunk. Il vous faut faire "cd" puis "cd /home/monrepertoire/fgenj/trunk"
    Dans ce répertoire vous tapez :
    svn co http://arvernes.dyndns.org/fgenj/trunk
    Et tout devrait se mettre à jour.
    Si vous n'êtes pas dans votre répertoire fgenj/trunk, faites :
    "svn co http://arvernes.dyndns.org/fgenj/trunk /home/monrepertoire/fgenj/trunk"
  4. Elles sont répertoriées depuis le 11 janvier 2008 jusqu'au 30 avril 2010. Depuis cette date nous avons décidé de ne plus les archiver.
Ancestris Plugins
Sunclock Xrmap