Devinci est une application qui a pour but de faciliter l'utilisation du portail étudiant du pôle Léonard De Vinci. Cela passe notamment par la connexion automatique, sans devoir entrer ses identifiants à chaque utilisation, des informations accessibles facilement, des notifications pour prévenir d'une nouvelle note, la possibilité de se marquer présent depuis l'application, un mode nuit ou encore l'accès aux documents importants.
- Installer la dernière version de Flutter.
- Pour Android vous devez avoir installé Android-Studio, pour iOS vous devez avoir un Mac avec Xcode et les Xcode developer tools installés. Normalement tout est très bien détaillé sur le site de Flutter.
Obtenir une clé de license pour le widget de Syncfusion : ici, elle est gratuite.elle n'est plus nécessaire- Ouvrez le projet dans votre IDE (VS Code ou Android Studio), ils doivent être configuré pour supporter Flutter.
- Récupérer les dépendances : ouvrez un terminal de commande au niveau du dossier racine du projet et faites :
pub get
- Pour générer un apk (Android) :
- générer un clé de signature
- créer le fichier
android/key.properties
:storePassword=******** keyPassword=******** keyAlias=key storeFile=C:\\Users\\[VOTRE NOM D'UTILISATEUR]\\key.jks
- Pour un appareil 64 bits:
flutter build apk --target-platform=android-arm64
- Pour un appareil 32 bits:
flutter build apk --target-platform=android-arm
- Pour installer l'app sur iOS :
- Brancher un appareil iOS sur votre Mac puis:
Ou Fn+F5 sur VS Code
flutter run
- Brancher un appareil iOS sur votre Mac puis:
- Ce projet repose en grande partie sur le framework Flutter créé par Google et basé sur le langage Dart afin de proposer une expérience similaire sur Android et iOS. Voir le projet sur GitHub
- Devinci utilise les services de Firebase Crashlytics pour remonter les bugs/erreurs au développeur.
- Il s'agit (à ma connaissance) de la seule dépendance non entièrement open-source puisque elle requiert une clé de license (gratuite pour les projets non commerciaux). Les widgets flutter de Syncfusion sont utilisés pour afficher l'emploi du temps dans l'application. En savoir plus
Vous souhaitez contribuer ? Prenez connaissance des lignes directrices de contribution
Aidez à traduire Devinci dans votre langue.
Si la langue que vous souhaitez traduire n'existe pas encore sous forme de fichier JSON, soumettez-nous une issue afin que nous puissions créer un modèle pour que vous puissiez commencer.
Pour traduire, forkez ce repo et éditez le fichier JSON de votre langue situé dans /assets/translations
. Ensuite, soumettez une pull request.
Notez que vous n'avez pas besoin de cloner votre fork pour faire les modifications; vous pouvez tout faire sur l'interface web de GitHub. Il vous suffit d'ouvrir un fichier dans votre propre fork et de cliquer sur l'icône du crayon pour commencer les modifications.
Le fichier JSON de traduction est constitué de paires de valeurs clés. La clé doit vous donner une bonne idée de l'endroit où se trouve le texte dans l'application.
Pour traduire, il suffit de modifier la valeur. Par exemple, disons que vous voyez
{
"login" : "Connexion"
}
Il suffit de le changer en :
{
"login" : "********"
}
où "********" est l'expression "login" dans la langue cible. J'utilise le bouton de connexion comme exemple ici.
Si vous rencontrez quelque chose comme :
{
"copied":"{} copié"
}
laissez la partie {}
seule et ne la traduisez pas. {}
ne fait pas partie du texte et sera remplacé par la valeur appropriée lorsque l'application sera lancée.
Pareil pour :
{
"unknown_error": "Une erreur inconnue est survenue.\n\nCode : {code}\nInformation: {exception}",
}
{code}
et {exception}
seront remplacés par les valeurs appropriées.
Pour le pluriel : Exemple :
"day": {
"zero":"{} дней",
"one": "{} день",
"two": "{} дня",
"few": "{} дня",
"many": "{} дней",
"other": "{} дней"
},
"money": {
"zero": "You not have money",
"one": "You have {} dollar",
"many": "You have {} dollars",
"other": "You have {} dollars"
}
Pour les genres : Exemple :
{
"greetings":{
"male":"Hi Mr. {}",
"female":"Hello Ms. {}",
"other":"Hello {}"
}
}
Voici un tableau des codes de langue vers nom de langue, dans l'ordre alphabétique. Ces langues ont leurs fichiers modèles prêts, mais ne sont pas nécessairement prêtes à être utilisées dans l'application.
code de langue | nom de la langue | nom natif | État |
---|---|---|---|
fr (default) |
French | Français | ✅ |
en |
English | English | ✅ |
de |
German | Deutsch | ✅ |
Voir dans le fichier pubsec.yaml