diff --git a/cote-developpeur/commencer-avec-papillon/README.md b/cote-developpeur/commencer-avec-papillon/README.md new file mode 100644 index 0000000..df7e13c --- /dev/null +++ b/cote-developpeur/commencer-avec-papillon/README.md @@ -0,0 +1,31 @@ +--- +description: >- + Afin de pouvoir avoir un projet qui fonctionne et qui puisse perdurer dans le temps, merci de respecter ces quelques règles simples. +--- + +# Commencer avec Papillon + +*** + +{% hint style="danger" %} +L'IA n'est pas autorisée sous peine de sanction. +{% endhint %} + +Voici les règles si vous voulez faire une pull request : + +1. \[ ] Vous avez testé de build le projet avec vos modifications et ce build a réussi +2. \[ ] Vous respectez les conventions de codage et de nommage du projet +3. \[ ] Vous utilisez la tabulation pour l'indentation afin de maintenir un code lisible +4. \[ ] Votre pull request n'est pas un duplicata d'une autre +5. \[ ] Votre pull request est prête à être revue (review) et fusionnée (merge) +6. \[ ] Il n'y a pas de TODO (aka des annotations pour du code manquant) dans vos modifications +7. \[ ] Il n'y a pas d'erreurs de langue dans votre code (grammaire, vocabulaire, conjugaison, orthographe) \[ ] Les détails des changements ont été décrits ci-dessous +8. \[ ] Votre pull request n'est pas une "breaking-change" (des modifications qui vont entraîner la modification du fonctionnement de certaines fonctionnalités déjà existantes) + +Toute pull request sera immédiatement refusée si elle ne respecte pas l'ensemble de ces règles. + +{% hint style="info" %} +Tout code doit respecter les règles de EsLint. + +Si vous n'avez pas EsLint vous pouvez vous en apprendre plus ici : [EsLint](https://eslint.org/docs/latest/use/getting-started) +{% endhint %} diff --git a/cote-developpeur/commencer-avec-papillon/preparer-lenvironnement-de-developpement.md b/cote-developpeur/commencer-avec-papillon/preparer-lenvironnement-de-developpement.md new file mode 100644 index 0000000..62bad89 --- /dev/null +++ b/cote-developpeur/commencer-avec-papillon/preparer-lenvironnement-de-developpement.md @@ -0,0 +1,41 @@ +# Préparer l'environnement de développement + +### Prérequis + +Pour commencer à développer Papillon vous avez besoin des outils suivants: + +* Git ([https://git-scm.com](https://git-scm.com/)) +* NodeJS ([https://nodejs.org/en](https://nodejs.org/en)) +* xCode, si vous comptez compiler pour iOS +* Une fork de Papillon +* Un IDE comme VSCode ([https://code.visualstudio.com](https://code.visualstudio.com)) + +### Installation du repo + +Ce script effectue un clonage du dépôt git de Papillon auquel vous ne pouvez pas effectuer de changements, c'est pour cela qu'il vous faut remplacer l'url après `clone` par celle de votre fork que vous avez créé précédemment. + +{% tabs %} +{% tab title="npm" %} +```sh +git clone git@github.com:PapillonApp/Papillon.git +cd Papillon +npm install +``` +{% endtab %} + +{% tab title="pnpm" %} +```sh +git clone git@github.com:PapillonApp/Papillon.git +cd Papillon +pnpm install +``` +{% endtab %} +{% endtabs %} + +Et voilà vous avez maintenant votre propre version de Papillon + +### Vers l'infini et l'au delà...! + +Voilà! Vous avez une copie locale de Papillon prête à être améliorée par vos soins, pourquoi ne pas jeter un coup d'œuil à comment lancer le serveur de développement ou en apprendre un peu plus sur la structure du code? + +La seule limite est votre imagination! diff --git a/cote-developpeur/commencer-avec-papillon/structure.md b/cote-developpeur/commencer-avec-papillon/structure.md new file mode 100644 index 0000000..8145628 --- /dev/null +++ b/cote-developpeur/commencer-avec-papillon/structure.md @@ -0,0 +1,25 @@ +# Structure + +``` +├── assets (dossier des ressources) +├── ios (dossier natif ios contenant les fichiers liés à xcode et les modules natifs) +├── android (dossier natif android contenant les fichiers liés à Android Studio et les modules natifs) +└── src + ├── addons + ├── background + ├── components (différents composants utilisés dans les vues) + ├── consts + ├── hooks + ├── providers + ├── router (gestion du routage) + ├── services (dossier pour la gestion de la récupération de données) + ├── stores (dossier pour la gestion du stockage de données) + ├── utils (fonctions utilitaires diverses : téléchargement, ouverture de fichiers, formatage) + ├── views + │   ├── account (vues liées au compte : messages, notes, emploi du temps, etc.) + │   ├── addon + │   ├── login (écrans de connexion pour tous les fournisseurs) + │   ├── settings (pages de paramètres) + │   └── welcome (écran des notes de version, écran de première installation, écran de sélection de compte) + └── widgets (utilisé dans la page d’accueil) +``` diff --git a/cote-developpeur/commencer-avec-papillon/tester-avec-expo-go.md b/cote-developpeur/commencer-avec-papillon/tester-avec-expo-go.md new file mode 100644 index 0000000..17a62f9 --- /dev/null +++ b/cote-developpeur/commencer-avec-papillon/tester-avec-expo-go.md @@ -0,0 +1,30 @@ +# Tester avec Expo Go + +{% hint style="warning" %} +Les fonctionnalités natives ne sont pas supportées sur Expo Go et vos appareils doivent être sur le même réseau. +{% endhint %} + +### Prérequis + +* L'application « Expo Go » (disponible sur [Play Store](https://play.google.com/store/apps/details?id=host.exp.exponent) ou sur [l’App Store](https://apps.apple.com/fr/app/expo-go/id982107779)). +* Le dépot git de Papillon. + +### Utilisation + +1. Lancer le serveur de développement + +{% tabs %} +{% tab title="npm" %} +```sh +npm run start +``` +{% endtab %} + +{% tab title="pnpm" %} +```sh +pnpm start +``` +{% endtab %} +{% endtabs %} + +2. Sanner le QR Code qui s'affiche à l'écran qui vous redigera vers l'application Expo Go qui chargera ensuite l'application. diff --git a/cote-developpeur/compiler-avec-papillon/README.md b/cote-developpeur/compiler-avec-papillon/README.md new file mode 100644 index 0000000..100a7f0 --- /dev/null +++ b/cote-developpeur/compiler-avec-papillon/README.md @@ -0,0 +1,2 @@ +# Compiler avec Papillon + diff --git a/cote-developpeur/compiler-avec-papillon/avec-eas.md b/cote-developpeur/compiler-avec-papillon/avec-eas.md new file mode 100644 index 0000000..d60e3c0 --- /dev/null +++ b/cote-developpeur/compiler-avec-papillon/avec-eas.md @@ -0,0 +1,2 @@ +# Avec EAS + diff --git a/cote-developpeur/compiler-avec-papillon/pour-android.md b/cote-developpeur/compiler-avec-papillon/pour-android.md new file mode 100644 index 0000000..7a070fc --- /dev/null +++ b/cote-developpeur/compiler-avec-papillon/pour-android.md @@ -0,0 +1,2 @@ +# Pour Android + diff --git a/cote-developpeur/compiler-avec-papillon/pour-ios.md b/cote-developpeur/compiler-avec-papillon/pour-ios.md new file mode 100644 index 0000000..cb310f4 --- /dev/null +++ b/cote-developpeur/compiler-avec-papillon/pour-ios.md @@ -0,0 +1,24 @@ +# Pour iOS + +{% hint style="danger" %} +Pour compiler Papillon pour iOS, vous devez posséder un Mac. +{% endhint %} + +{% tabs %} {% tab title="npm" %} +```sh +npm run prebuild +``` +{% endtab %} +{% tab title="pnpm" %} +```sh +pnpm prebuild +``` +{% endtab %} {% endtabs %} + +1. Dans la racine du projet, exécuter `pnpm prebuild` +2. Ouvrir `Papillon.xcworkspace` avec xCode (**TRÈS IMPORTANT**) +3. Si vous n'avez pas de compte payant Apple Developer: changer les teams pour le signing et enlever les "Assiocated Domains" +4. Sélectionner `Papillon (release)` au niveau des schemes et votre target (physique ou simulateur) +5. Attendre un peu et c'est tout bon! + +![CleanShot 2024-10-03 at 21 41 06](https://github.com/user-attachments/assets/97efe4bc-526e-45b4-b44c-eb281c25a4cc) ![CleanShot 2024-10-03 at 21 42 24](https://github.com/user-attachments/assets/7642b6d0-f296-4e49-89ee-a2f7e81ef728) ![CleanShot 2024-10-03 at 21 44 13](https://github.com/user-attachments/assets/04a8df53-b33f-4909-8738-da2fb131e87c) diff --git a/develop/getting-started/preparer-lenvironnement-de-developpement.md b/develop/getting-started/preparer-lenvironnement-de-developpement.md index 62bad89..bc637d2 100644 --- a/develop/getting-started/preparer-lenvironnement-de-developpement.md +++ b/develop/getting-started/preparer-lenvironnement-de-developpement.md @@ -7,7 +7,7 @@ Pour commencer à développer Papillon vous avez besoin des outils suivants: * Git ([https://git-scm.com](https://git-scm.com/)) * NodeJS ([https://nodejs.org/en](https://nodejs.org/en)) * xCode, si vous comptez compiler pour iOS -* Une fork de Papillon +* Un fork de Papillon ([https://docs.github.com](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo))) * Un IDE comme VSCode ([https://code.visualstudio.com](https://code.visualstudio.com)) ### Installation du repo diff --git a/kb/averages.md b/kb/averages.md new file mode 100644 index 0000000..8c8fa28 --- /dev/null +++ b/kb/averages.md @@ -0,0 +1,30 @@ +--- +cover: ../.gitbook/assets/Frame 1050.png +coverY: 0 +--- + +# 📊 Moyennes générales + +Papillon récupère automatiquement votre moyenne générale depuis votre service scolaire si celui-ci le fournit. Mais dans le cas ou votre moyenne est indisponible, Papillon va venir automatiquement la calculer. + +{% hint style="warning" %} +Le calcul automatique des moyennes **n'est pas une information exacte**, mais une estimation qui essaye de s'en rapprocher un maximum. +{% endhint %} + +### Le problème + +Nous n'avons pas connaissance des algorithmes de calcul de moyennes des services scolaires. C'est pour cela que la communauté s'investit pour en fournir [une alternative documentée](https://github.com/PapillonApp/Papillon/blob/main/src/utils/grades/getAverages.ts) et la plus efficace possible. Cependant, celle-ci ne fonctionne pas dans toutes les configurations. + +### Ma moyenne est incorrecte, que faire ? + +#### La question de la méthode de calcul + +Lorsque l'on parle de **moyenne générale**, on parle ici de la moyenne pondérée de la moyenne des matières, en prenant donc en compte les coefficients, barèmes, notes bonus et autres variables. Il se peut que selon les paramètres considérés, cela change. + +#### Aidez-nous à mieux comprendre vos notes + +Venez sur le [Discord](https://discord.gg/wVKWBRTbfh) nous partager votre problème ! Cela peut nous aider à améliorer le calcul pour tous les utilisateurs ! + +{% hint style="info" %} +Pour considérer cela comme problématique, il faut une différence **notable** avec votre moyenne réelle, d'au delà de 0.30 points environ. +{% endhint %} diff --git a/kb/etablissement-manquant.md b/kb/etablissement-manquant.md new file mode 100644 index 0000000..2fe55ea --- /dev/null +++ b/kb/etablissement-manquant.md @@ -0,0 +1,25 @@ +# 🏫 Établissement manquant + +Sur les logiciels Pronote et Skolengo, il existe un moyen de rechercher des établissements à proximité. Cependant, il est possible de ne pas trouver le sien. Pourquoi et que faire ? + +### Pourquoi il manque mon établissement, pouvez-vous l'ajouter ? + +Les listes ne sont pas maintenues par Papillon et cela relève de l'établissement si il souhaite être indexé dans l'annuaire ou non. Nous ne pouvons rien y faire.\\ + +{% hint style="info" %} +Ce n'est pas parce que votre établissement n'apparaît pas qu'il est incompatible avec Papillon : **il peut quand même fonctionner.** +{% endhint %} + +Pour palier a ce problème, Papillon a mis en place un système pour compléter cette liste. +https://github.com/PapillonApp/datasets/tree/main/establishment +Malgré ce côté restreint, vous pouvez demander à rajouter vos établissements. + +### **Autres moyens de se connecter** + +#### **Avec un QR-Code sur Pronote** + +Connecte-toi à Pronote via un ordinateur ou un autre appareil, et lie Papillon à l'aide de l'option QR code mobile, cela te permet de ne pas chercher ton établissement + +#### Avec une URL + +Lorsque tu es sur la page de ton établissement via un navigateur web, tu peux copier le lien en barre d'adresse et te connecter via une URL à Papillon ! diff --git a/kb/issue/etablissement-manquant.md b/kb/issue/etablissement-manquant.md index 23af58d..55f3ced 100644 --- a/kb/issue/etablissement-manquant.md +++ b/kb/issue/etablissement-manquant.md @@ -4,8 +4,7 @@ Sur les logiciels Pronote et Skolengo, il existe un moyen de rechercher des éta ### Pourquoi il manque mon établissement, pouvez-vous l'ajouter ? -Les listes ne sont pas maintenues par Papillon et cela relève de l'établissement si il souhaite être indexé dans l'annuaire ou non. Nous ne pouvons rien y faire.\ - +Les listes ne sont pas maintenues par Papillon et cela relève de l'établissement si il souhaite être indexé dans l'annuaire ou non. Cependant, vous pouvez demander a un membre de l'équipe (Exemple : Contributeur) de vous rajouter dans un système fait exprès pour ça créé par nos soins. Pour cela, rendez vous sur le [serveur Discord](https://discord.gg/axdEenaGd9). {% hint style="info" %} Ce n'est pas parce que votre établissement n'apparaît pas qu'il est incompatible avec Papillon : **il peut quand même fonctionner.** diff --git a/kb/privacy.md b/kb/privacy.md new file mode 100644 index 0000000..7b808ef --- /dev/null +++ b/kb/privacy.md @@ -0,0 +1,13 @@ +# ✅ Sécurité des données personnelles + +Papillon est un projet libre et open-source, et pour nous la sécurité de vos données personnelles est un sujet essentiel. C'est pour cela que l'application **ne partage aucune donnée avec des tiers**, et ne communique jamais avec des services étrangers à vos services scolaires, ni même avec des serveurs de Papillon. + +{% hint style="info" %} +L'intégralité des données récupérées sont traitées depuis l'application, et **jamais** sur un serveur dont vous n'aurez pas connaissance. +{% endhint %} + +Vos identifiants ne sont pas conservés par l'application ni transmises à Papillon et vos informations de connexion ne quittent jamais votre appareil. + +### Comment nous faire confiance ? + +Le code de l'application est **open-source**. C'est-à-dire que n'importe qui peut le consulter et vérifier son fonctionnement librement. Cela assure la sécurité de vos données car il est possible pour tous d'examiner le code exécuté sur votre téléphone.