Contribuer
Atomsk utilise la bibliothèque LAPACK, dont les auteurs sont vivement remerciés.
J'adresse des remerciements particuliers aux personnes suivantes, pour leurs contibutions significatives à Atomsk (les affiliations correspondent au moment de la première contribution) :
- Juri Barthel, RWTH Aachen, Allemagne, pour avoir implémenté les groupes d'espace, ajouté le support des fichiers au format CEL, pour avoir amélioré le support des fichiers au format CIF, et pour avoir traduit les messages du programme en allemand.
- Philippe Carrez, University of Lille, France, pour avoir implémenté un mode calculant le tenseur de Nye.
- Emmanuel Clouet, CEA, France, pour avoir partagé son programme Babel pour la construction de boucles de dislocation.
- Adham Hashibon, Fraunhofer-IWM, Freiburg, Allemagne, pour les échanges d'idées et les discussions sur l'implémentation de plusieurs méthodes.
- Eva Marie Kalivoda, Fraunhofer-IWM, Freiburg, Allemagne, pour avoir implémenté le support des fichiers au format XV de SIESTA.
- Srinivasan Mahendran, Université de Lille, France, pour son aide dans l'implémentation d'un algorithme de décomposition en cellules rendant la recherche de voisins plus rapide.
- Matous Mrovec, Fraunhofer-IWM, Freiburg, Allemagne, pour son aide dans l'implémentation de l'élasticité anisotrope pour construire les dislocations.
Enfin, je remercie les chasseurs de bogues, dont les messages ont aidé à améliorer la fiabilité et la précision du programme :
- Jonathan Amodeo, MATEIS, Univ. Lyon 1, France.
- Pietro Bonfa', Uni. Parma, Italy.
- Marion Borde, MATEIS, Univ. Lyon 1, France.
- Peixin Chen, Shanghai Jiao Tong University, China.
- Sen Chen, The Peac Institute of Multiscale Sciences (PIMS), Chengdu, China.
- Jaroslaw Czernek, IMC, Prague, Czech Republic.
- Valentin Delbecq, UMET, Univ. Lille, France.
- Jérôme Dequeker, UMET, Univ. Lille, France.
- Davide Di Stefano, Fraunhofer-IWM, Freiburg, Germany.
- Yann Even, MATEIS, Lyon, France.
- Jan Fikar, Institute of Physics of Materials ASCR, Brno, Czech Republic.
- Jean Furstoss, UMET, Univ. Lille, France.
- Nils Garvik, UMET, Univ. Lille, France.
- Alexandra Goryaeva, INSA Lyon, France.
- Karine Gouriet, University of Lille, France.
- Roman Gröger, Institute of Physics of Materials, Czech Academy of Sciences, Czech Republic.
- Julien Guénolé, IPMP, RWTH Aachen, Germany.
- Ling-Ju Guo, National Center for Nanoscience and Technology, Beijing, China.
- Lubin Huo, Ningbo Institute of Materials Technology and Engineering, China.
- Yaron Kauffmann, Technion, Israel.
- Vasiliy Krasnikov, South-Ural State University, Chelyabinsk, Russia.
- Antoine Kraych, CEA, France.
- Wei Li, University of Hong-Kong, China.
- Hui Liu, McGill University, Montreal, Canada.
- Dario Marrocchelli, MIT, Boston, USA.
- Marcin Minkowsky, Tampere University, Finland.
- Samaneh Nasiri, Friedrich-Alexander-University Erlangen-Nürnberg, Germany.
- Raoul Aurelien Ngayam Happy, Paul Sherrer Institute, Switzerland.
- Dongho Nguimdo Moise, AIMS, Cameroon.
- Justin Ondry, UC Berkeley, USA.
- Anirban Pal, Rensselaer Polytechnic Institute, Troy (NY), USA.
- Sebastian Ritterbex, UMET, Univ. Lille, France.
- Davide Sangiovanni, Linköping University, Sweden.
- Min Shi, University of Minnesotta, USA.
- Eerik Voimanen, Tampere University, Finland.
- Yanzhou Wang, Aalto University, Finland.
- Michael Wolloch, University of Modena and Reggio Emilia, Italy.
- Jianyang Wu, Xiamen University, China.
- Zhuocheng Xie, RWTH Aachen, Germany.
- Zheyuan Xing, Southwest Jiaotong University, China.
- Jian-Hui Zhai, UMET, Univ. Lille, France.
- Yong Zhang, Monash University, Clayton, Australia.
- Benedikt Ziebarth, Fraunhofer-IWM, Freiburg, Germany.
Vous voulez contribuer ?
Atomsk peut encore être amélioré de bien des façons. Si vous souhaitez contribuer, alors vous pouvez modifier le code source afin de corriger un bogue, optimiser une routine, ajouter une nouvelle fonctionnalité, ou bien modifier ou ajouter des traductions des messages. Vous pouvez aussi traduire la documentation de Atomsk, afin que les utilisateurs puissent la lire dans leur langue maternelle. Vos contributions sont bienvenues !
Rapporter un bogue
Si vous avez trouvé un bogue en exécutant Atomsk, vous pouvez ouvrir un rapport sur GitHub, ou bien contacter directement l'auteur par email.
Un "bogue" peut être n'importe que type de comportement non désiré : un résultat incorrect ou incohérent, une mauvaise traduction, un plantage ou une erreur de segmentation. Lorsque vous soumettez un rapport de bogue, veuillez indiquer quelle version d'Atomsk vous utilisez, et la commande qui produit ce bogue. Aussi, si possible, expliquez quel résultat vous vous attendez à obtenir, et pourquoi vous pensez que le résultat produit par Atomsk est faux.
Utiliser Git et Github
Atomsk est développé en utilisant Git, et le développement est rendu public sur le site GitHub. Pour apprendre à utiliser git (le gestionnaire de version en lui-même), et comment utiliser Github (la plate-forme qui héberge Atomsk), les liens suivants peuvent être un bon début :
N'hésitez pas également à demander d'autres informations et tutoriels à votre moteur de recherche préféré.
Comment contribuer à Atomsk
Si vous souhaitez contribuer à Atomsk, suivez les étapes suivantes :
- Créez votre propre compte sur GitHub.com. Veuillez utiliser vos vrais nom et prénom (et non pas un pseudonyme).
- Rendez-vous sur la page GitHub de Atomsk, et cliquez sur le bouton "Fork" ; ceci va créer une copie de Atomsk sur votre compte GitHub.
- Récupérez votre copie sur votre ordinateur local, comme vous le feriez avec n'importe quel dépôt GitHub :
git clone https://github.com/mon_nom/mon_depot
- Maintenant, au lieu de travailler directement sur votre branche principale "master" (ce qui pourrait créer des conflits), il est plus sûr de créer votre propre branche séparée :
git checkout -b ma_branche
- Travaillez sur votre propre copie de Atomsk, modifiez les fichiers à votre guise. Compilez votre version pour vérifier que vos modifications fonctionnent bien. N'oubliez pas d'insérer des commentaires dans votre code source.
- Une fois votre travail terminé, validez vos modifications (avec des commentaires !) :
git commit -a
Puis poussez-les vers votre dépôt GitHub :
git push origin ma_branche
Git demande alors vos identifiants GitHub.
- Ouvrez votre navigateur Web, rendez-vous sur la page GitHub de votre dépôt, et cliquez sur le bouton "Pull request".
Vos modifications apparaîtront à l'auteur principal comme une demande de tirage ("Pull request"). Après avoir vérifié vos modifications, l'auteur principal peut les accepter et les fusionner ("merge") dans la version principale de Atomsk (ou pas).
Envoyer une version modifiée par email
Si vous ne pouvez ou ne souhaitez pas utiliser GiHub, vous pouvez envoyer votre version modifiée directement par email. Dans ce cas, veuillez archiver la totalité de votre version modifiée de Atomsk (au format zip ou tar.gz) avant de l'envoyer. Si possible ou si c'est pertinent, vous pouvez également envoyer des scripts illustrant les changements que vous avez effectués.
Important : règles d'utilisation et bonne conduite
Les contributions sont bienvenues. Les contributions sont très bien. Mais pour éviter qu'elles soient chaotiques, veuillez respecter les quelques règles de bienséance ci-dessous lorsque vous contribuez à Atomsk.
- Utilisez votre vrai nom et affiliation sur GitHub. En tant qu'auteur principal, j'ai davantage confiance dans une contribution si je sais d'où elle provient. Mieux encore : envoyez-moi un email depuis votre adresse professionnelle lorsque vous faites une demande de tirage ("Pull request"). Les emails sont toujours appréciés (voir la page de contact). Si vous utilisez un pseudonyme ou une adresse non professionnelle, votre contribution aura l'air louche, il faudra plus de temps pour la vérifier, et il y a plus de risques qu'elle soit rejetée.
- Contactez le développeur principal avant de commencer à programmer. Cela permet au développeur principal de savoir quelles parties du code sont travaillées, de façon à éviter que plusieurs personnes ne travaillent sur la même chose. Vous devriez soit décrire vos intentions en cliquant sur le bouton "Issues" sur la page GitHub du projet, soit envoyer un email au développeur principal (voir la page de contact).
- Commentez, et commentez. Commentez votre code source. Commentez vos commits. Cela aide beaucoup à comprendre ce qui a été fait, et la vérification de votre contribution s'en trouvera accélérée. Lorsqu'il n'y a pas de commentaire (ou des commentaires inutiles ou mal formulés), alors l'auteur principal doit passer davantage de temps à comprendre les modifications dans le code source, pourquoi cela a été modifié, et comment cela affecte le comportement du programme.
- Assurez-vous que votre version compile avant de demander un tirage. Si votre version ne compile pas, alors c'est que votre travail n'est pas terminé : inutile d'envoyer vos modifications, elles ne seront pas acceptées !
- Assurez-vous que la documentation est en accord avec vos modifications. Les corrections de bogues ne requièrent pas de modifier la documentation. Cependant si vous modifiez certaines fonctionnalités, ou en ajoutez de nouvelles, alors veuillez aussi modifier la documentation (dans le dossier /doc/) de manière à ce qu'elle intègre vos modifications. Si vos ajouts ne sont pas décrits dans la documentation, alors virtuellement personne ne connaîtra cette fonctionnalité et personne ne l'utilisera.