Skip to content

Latest commit

 

History

History
264 lines (195 loc) · 17.5 KB

README.md

File metadata and controls

264 lines (195 loc) · 17.5 KB

DEV


                 ███████╗████████╗██╗   ██╗██████╗ ███████╗
                 ██╔════╝╚══██╔══╝██║   ██║██╔══██╗██╔════╝
██████╗ ██╗   ██╗█████╗     ██║   ██║   ██║██║  ██║█████╗  
██╔══██╗╚██╗ ██╔╝██╔══╝     ██║   ██║   ██║██║  ██║██╔══╝  
██████╔╝ ╚████╔╝ ███████╗   ██║   ╚██████╔╝██████╔╝███████╗
██╔═══╝   ╚██╔╝  ╚══════╝   ╚═╝    ╚═════╝ ╚═════╝ ╚══════╝
██║        ██║   MIT © Laurent Bourgon 2020
╚═╝        ╚═╝   
Ce document est relatif à la version v2.4.0

Releases Languages License

GitHub Issues GitHub Pull Requests


📝 Table des Matières

🧐 Problème encontré

La création d'un document de révision est un outil majeur à l'apprentissage de nouveaux concepts, que ce soit au profil académique ou pour un loisir. Dans un monde idéal, nous n'aurions qu'à taper les informations et cela nous aiderait à les mémoriser. Cependant, les outils de traitement de texte ne permettent pas une telle facilité. Afin d'avoir un document potable pour l'étudier, il faut un modèle précis qui permet l'organisation de sujets peu importe leur champ. La création d'un tel document prend beaucoup de temps et, malheureusement, Microsoft Word ne permet aucun moyen efficace pour réutiliser ce modèle (les fichiers modèles .dotx ont beaucoup de problèmes). Ce problème réduit le temps qui peut être utilisé au remplissage du document.

Pour régler ce problème, j'ai commencé un projet qui permet de remplir un document modèle en quelques secondes et ce, sans problème de formattage.

💡 Solution

Afin de remplir ce document facilement, le programme va faire ceci:

  1. Extraire le fichier modèle dans un dossier temporaire
  2. Remplacer les informations par ce qui a été demandé au niveau du GUI
    • Le programme remplacera des valeurs dans les fichiers .xml du document Word.
  3. Zipper et compresser le dossier temporaire de manière à ce que les normes et spécifications de Microsoft Word soient respectées (indispensable au bon fonctionnement du document dans l'avenir)
  4. Détruire le dossier temporaire
  5. Renommer l'extension du fichier créé pour qu'il soit reconnu par Microsoft Word

⛓️ Ce qu'il faut et les limites du projet

  • Ce problème nécessite (pour l'instant) Python3. À cause de l'ajout d'un GUI, pyÉtude ne fonctionne que sous Windows, macOS et Linux (pour l'instant). Pour les autres périphériques, veuillez utiliser la version (obsolète) qui est en ligne de commande (pyETUDE_cli.py)
  • Ce projet utilise un document Word manuellement configuré et le modifie à l'intérieur. Pour avoir un modèle différent, il faut modifier ce document avec les bonnes balises.
  • Ce projet n'utilise pas le module python-docx puisqu'il était trop compliqué d'avoir un résultat correct et sans problème. De plus, cela enlève un élément à télécharger.

🚀 Avenir

  • Transformer ce programme en GUI pour une utilisation plus facile et rapide
  • Fonctionner sous Word on iOS/iPadOS et LibreOffice (logiciels qui ne prennent pas en charge les métadonnées)
  • Mettre en place des chemins de sortie personnalisés selon la matière sélectionnée
  • Télécharger le modèle à distance afin de ne faire qu'un seul fichier à télécharger manuellement
  • Mode sombre (pour le bien des yeux!)
  • Matières Intelligentes qui savent quel document créé selon ceux qui ont déjà été créés
  • Transformer ce programme en interface web pour faciliter la tâche (depuis la version 2.4.0, il existe une version en Jupyter Notebook)
  • Avoir un configurateur de modèles afin de créer un modèle personnalisé
  • Avoir plusieurs modèles qui peuvent être choisis.
  • Avoir plusieurs types de documents (page de présentation, devoirs, etc)
  • Ajout dans PyPI afin de pouvoir le télécharger avec une simple commande (ex. pip install pyEtude)
  • Transformer ce programme en version web OU en application mobile pour faciliter l'utilisation sur tablette et à distance

🏁 Bien Démarrer

Configuration requise

Catégorie Valeur Notes additionnelles Installation
OS: N'importe lequel
Python: Python 3 Développé sous Python 3.8.2, veuillez mettre à jour votre version si vous avez des problèmes Télécharger Python3
Extensions Python: json Fait parti des paquets par défaut, pas besoin de l'installer
locale Fait parti des paquets par défaut, pas besoin de l'installer
os Fait parti des paquets par défaut, pas besoin de l'installer
urllib Fait parti des paquets par défaut, pas besoin de l'installer
sys Fait parti des paquets par défaut, pas besoin de l'installer
zipfile Fait parti des paquets par défaut, pas besoin de l'installer
PyQt5 NE FAIT PAS PARTI DES PAQUETS PAR DÉFAUT, À INSTALLER Télécharger avec PyPi pip install PyQt5 (ou pip3 install PyQt5, selon votre environnement)
  • Pour utiliser la version Jupyter Notebook (web), vous aurez besoin de notebook et de ipywidgets (pip install notebook ipywidgets)

Installation

  1. Assurez-vous que vous respectez la Configuration requise.
  2. Télécharger la version la plus récente de pyEtude-vX.X.X.pyw dans les releases.
  3. (optionnel, mais recommandé) Déplacer pyEtude-vX.X.X.pyw dans un dossier vide.
  4. Exécuter le programme avec le terminal/invite de commande ou en double-cliquant dessus, selon votre système d'exploitation.

Avec le terminal:

$ cd Users/Laurent/Documents/GitHub/pyEtude
$ python3 pyEtude.pyw

🎈 Utilisation

Exécuter le programme avec le terminal/invite de commande ou en double-cliquant dessus, selon votre système d'exploitation.

$ cd Users/Laurent/Documents/GitHub/pyEtude
$ python3 pyEtude.pyw
  • Si c'est la première fois que vous lancez le programme vous devrez passer par le configurateur

🖼 Captures d'écran

pyÉtude

  • Configurateur (premier lancement):

Configurateur

  • Générateur:

Générateur

pyÉtude-notebook

Configurateur

Exemple fictif

Réglage Valeur
Titre Chapitre 5
Sous-Titre Les Lois de Newton
Matière PHY
Numéro 1607
Premier titre La Première Loi
Auteur Laurent Bourgon
Niveau Secondaire 5 - 2019-2020
Nom du fichier PHY-1607.docx

Exemple réel

Réglage Valeur
Titre Chapitre 1
Sous-Titre La Structure de la Matière
Matière STE
Numéro CHP1
Premier titre La nature de la structure de la matière
Auteur Laurent Bourgon
Niveau Secondaire 4 - 2018-2019
Nom du fichier STE-CHP1.docx

⁉️ Foire Aux Questions

  • OSError: [WinError 123] La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte: Le nom de matière et le numéro/chapitre ne peuvent pas contenir de caractères spéciaux, cela empêche la création du dossier temporaire et du fichier final. Si vous devez absolument en avoir un, veuillez mettre une valeur sans caractères spéciaux et modifiez-le manuellement.

  • Mes caractères & (esperluette) sont tous enlevés et n'apparaissent pas dans mon document: Word a de la difficulté avec l'esperluette. Si vous voulez que j'ajoute un mode de compatibilité pour l'esperluette, veuillez faire un ticket de demande de fonctionnalité.  

  • Word a rencontré une erreur lors de l'ouverture du fichier: Cela est surement dû aux valeurs qui contiennent des caractères spéciaux. Si ce n'est pas le cas, veuillez faire un ticket d'aide.

  • Le modèle que j'ai choisi est corrompu!: Veuillez supprimer le modèle (le fichier .docx) et relancer pyÉtude, celui-ci le téléchargera automatiquement. Si le problème persiste, veuillez faire un ticket d'aide.

  • Mon nouveau document fait 24Ko, le modèle fait 28Ko, pourquoi?: Ceci est dû à un problème dans la compression du fichier, Word utilise une compression propre à lui et c'est pour cela que le document montera de 4Ko dès la première sauvegarde.

  • Mes matières ne sont pas ordonnées correctement dans le menu du Générateur! Ceci est dû au fait que l'ordinateur pense que é, à, ... sont des lettres complètement différentes de e et a: pour résoudre cela, j'utilise un dictionnaire créé par le système d'exploitation au lancement du logiciel. Cependant, quelques systèmes d'exploitation n'ont pas cette fonctionnalité (ex macOS). Si vous souhaitez vraiment cette fonctionnalité, veuillez faire un ticket de demande de fonctionnalité.

  • J'ai l'erreur suivante:

Erreur PyQt5

Ceci est dû au fait que PyQt5 n'a pas été trouvé (Voir la Configuration requise). Assurez-vous de l'avoir installé avec la même version de Python3 que vous utilisez. Les modules sont indépendants et sont propres à chaque version.

⛏️ Créé avec

✍️ Contributeurs

🔏 Licence

Ce projet est sous licence MIT.

Cet extrait provient de LICENSE:

MIT License

Copyright © 2020 Laurent Bourgon

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.