Guide de contribution Comment influencer le développement ? C'est très simple, pas besoin de grandes connaissances ! Comment contribuer ? Tu veux influencer le développement ? C’est très simple ! Tu trouveras une liste de choses à faire sur Github . L'Équipe de développement étudiante de l'Amicale a vocation à maintenir le site de l'Amicale et l' Application Campus . À ce jour elle est dirigée par deux coresponsables Baptiste Rébillard (axé site) et Paul Alnet (axé appli & devops) Le site est développé en php en utilisant le framework Laravel tandis que l'appli repose sur React-Native (Typescript/Javascript). L'application est open-source et tes contributions sont les bienvenues, que ce soit en terme de programmation , traduction , graphisme , test , suggestions ou retours ! L'équipe du site va s'élargir prochainement, rejoins-nous ! Tu peux trouver le code source de l'application sur le Github . Si tu as une question, aimerais contribuer ou veux proposer une idée, n'hésite pas à mettre un message sur le Discord . Si tu veux devenir beta-testeur : - Android : Rejoins la beta sur Google Play et rejoins le Discord pour être averti.e des dernières features à tester ! - IOS : Envoie à Paul un message sur le Discord avec ton Apple ID, installe l'appli Testflight sur ton appareil et rejoins le Discord pour être averti.e des dernières features à tester ! ? Aucune connaissance ? Pas de problème ! Tu peux aider simplement en proposant des améliorations ou en rapportant des bugs par mail ( app@amicale-insat.fr ), sur Discord , ou sur cette page en te connectant avec tes login INSA. ? Bilingue ou plus ? Tu peux aider à traduire l’application ! Le projet existe en français et anglais (mais il peut y avoir des fautes !), et toute autre langue est la bienvenue. Si tu es intéressé, rends-toi sur cette page pour plus de détails. ? Développeur dans l’âme ? Peu importe ton niveau, toutes les propositions de modification sont les bienvenues ! (enfin presque) Pour cela, suis ce guide . ? Motivé mais perdu ? Tu es quand même le bienvenu ! Tu trouveras une liste de liens pour t’aider à comprendre les technologies utilisées dans ce projet. Si tu as plus de questions, tu peux toujours me contacter par mail ( app@amicale-insat.fr ). Contribuer du code Tu veux contribuer au projet ? Mais c’est magnifique ! Ce guide va te montrer comment faire pour contribuer tes modifications. Si tu as des problèmes ou des questions, n’hésite pas à me contacter par mail ( app@amicale-insat.fr ). ⚠️ Avant de commencer, merci de te familiariser avec les bases ! Prérequis Avant toute chose, tu dois installer React Native et git sur ta machine. Pour cela, suis ce guide jusqu’à l’étape 3. Quoi faire ? Tu trouveras une liste de choses à faire sur la feuille de route . Fork du projet Si tu as bien suivi les instructions plus haut, tu devrais pouvoir lancer une application vide sur un appareil. Si ce n’est pas le cas, recommence l’installation depuis le début. Si malgré tout tu n’y arrives pas, envoie-moi un petit mail : app@amicale-insat.fr . Il est maintenant temps de Fork le projet. Le dépôt officiel est protégé pour éviter le vandalisme. Un fork permet de copier le code du dépôt officiel et de le lier à ton compte. Sur cette nouvelle version, tu pourras faire les modifications que tu veux, et ensuite demander de fusionner ces modifications avec le dépôt officiel. Le mainteneur actuel du projet vérifiera alors tes modifications et décidera ou non de les accepter. Plus d’infos sur git ici. Créer un fork est très simple. Pour cela, suis ces instructions : Connecte-toi sur ce site (en haut à droite) avec tes identifiants INSA. Vas sur le dépôt officiel et clique sur ‘Fork’ en haut à droite. Le site te demandera des informations sur ce fork, tu n’as rien besoin de changer et tu peux juste cliquer sur ‘Fork Repository’. Tu arrives ainsi sur la page du dépôt ! Il est exactement comme le dépôt officiel, à quelques détails près. Si tu regardes en haut à gauche, à la place de vergnet/application-amicale, il y a maintenant ton nom ! Tu as donc fait une copie du dépôt officiel que tu as mis sur ton compte. Tu peux maintenant télécharger ce dépôt sur ta machine en utilisant la commande: shell script git clone [LINK] en remplaçant [LINK] par le lien que tu peux copier en haut à droite, au-dessus de la liste des fichiers. Tu as réussi à faire un Fork, bravo ! Création d’une nouvelle branche Comme indiqué sur ce guide , chaque fonctionnalité doit être développée dans sa propre branche puis fusionnée avec le master du dépôt officiel. Pour créer une nouvelle branche, utilise la commande suivante : git checkout -b En remplaçant par le nom souhaité (sans espaces !). Ce nom doit décrire rapidement ce que tu veux faire grâce à tes modifications. Tu es maintenant sur ta nouvelle branche et prêt à faire tes modifications. Réalisation d’une modification Tu peux maintenant modifier ce que tu veux pour corriger un bug ou ajoute une fonctionnalité. Mais avant de faire quoi que ce sois, merci de te signaler ! Cela évitera que plusieurs personnes corrigent le même bug ou de commencer à développer une fonctionnalité non voulue. Pour installer l’appli sur ton téléphone/émulateur, reviens sur le guide d’installation , et reprends à la section 3.2. Avant de passer à l’étape suivante, merci de bien vérifier et tester tes modifications. Création d’une Pull Request Cette étape te permet d’envoyer tes modifications sur le dépôt officiel, pour être intégrées à l’application disponible dans les magasins. Tout se fait simplement sur le site en suivant ces instructions : Connecte-toi sur ce site (en haut à droite) avec tes identifiants INSA. Vas sur le dépôt officiel et clique sur l’onglet ‘Pull Requests’. Cette page t’affiche la liste de toutes les pull requests. Pour en créer une nouvelle, clique sur le bouton ‘New Pull Request’ en haut à droite. Tu arrives maintenant sur la page de création. Choisis master comme branche de destination, et ta branche créée précédemment comme source. Tu devrais voir en bas la liste de toutes tes modifications. Écris alors un titre présentant tes modifications (très court), et une description expliquant pourquoi elles sont nécessaires. Cela permettra d’expliquer au mainteneur pourquoi il devrait accepter tes modifications. Quand tout est bon, clique sur ‘Create Pull Request’ pour l’envoyer en attente de validation. Tu entreras ensuite en dialogue avec le mainteneur ! Il t’expliquera si certaines choses sont à modifier avant de fusionner dans master. Et voilà tu as fait ta première pull request ! Si tu as des problèmes ou des questions, n’hésite pas à me contacter par mail ( app@amicale-insat.fr ). Contribuer des traductions Tu peux traduire l’application sans avoir de connaissance en programmation. Pour cela, suis cette procédure : Télécharge ce fichier . Tu y trouveras un ensemble de couples de la forme “clé”: “valeur”. Les clés servent à identifier les valeurs, il ne faut pas les modifier ! Traduis les valeurs dans ce fichier dans la langue souhaitée. Envoie-moi par mail ( app@amicale-insat.fr ) ce fichier quand tu as terminé, il sera ajouté à la prochaine version de l’application. Envoie-moi un mail avant de commencer pour me prévenir que tu veux travailler sur une traduction. Cela me permettra de te mettre en relation avec d’autres personnes travaillant également sur cette traduction. Tu peux traduire dans la langue que tu veux, sachant que le français et l’anglais sont déjà fait. Organisation du travail ⚠️ Ce projet dépend entièrement sur Git. Si tu n’es pas familier à cette technologie, rends-toi sur cette page avant de lire la suite. La méthode ci-dessous est très fortement recommandée, car son efficacité a été testée et prouvée par de nombreux projets Open Source. Ce qui suit a été inspiré des règles de KDE et largement simplifié. Principes de base La branche Master est toujours prête Cette branche est le centre du projet. Elle ne doit contenir que des fonctionnalités et améliorations achevées. Elle doit être prête pour une release à tout moment . Le code doit donc être testé et validé. Le développement à lieu dans les branches de ‘fonctionnalités’ Pour des corrections de bugs ou l’implémentation de nouvelles fonctionnalités qui demandent du travail, il est nécessaire de créer une nouvelle branche depuis master. Le développeur peut manipuler cette branche comme il le souhaite, mais elle doit être testée et vérifiée avant d’être fusionnée avec master. Mainteneurs vs contributeur externe Les contributeurs externes sont des volontaires qui veulent aider ponctuellement pour corriger des bugs/ajouter des fonctionnalités. Ils doivent suivre la procédure pour créer un fork du projet et faire une pull request pour intégrer leurs changements. Les mainteneurs sont les personnes de confiance ayant un accès en écriture sur le dépôt officiel. C’est eux qui vérifient et acceptent les pull requests. Ils peuvent push et merge directement sur le dépôt officiel pour simplifier le développement. Tu veux devenir contributeur ? Fais un tour par ici pour comprendre comment faire. Tu es motivé et tu veux devenir mainteneur ? Contacte-moi par mail app@amicale-insat.fr .