Skip to content

Latest commit

 

History

History
239 lines (186 loc) · 16.4 KB

README.md

File metadata and controls

239 lines (186 loc) · 16.4 KB

pyÉtude

                 ███████╗████████╗██╗   ██╗██████╗ ███████╗
                 ██╔════╝╚══██╔══╝██║   ██║██╔══██╗██╔════╝
██████╗ ██╗   ██╗█████╗     ██║   ██║   ██║██║  ██║█████╗  
██╔══██╗╚██╗ ██╔╝██╔══╝     ██║   ██║   ██║██║  ██║██╔══╝  
██████╔╝ ╚████╔╝ ███████╗   ██║   ╚██████╔╝██████╔╝███████╗
██╔═══╝   ╚██╔╝  ╚══════╝   ╚═╝    ╚═════╝ ╚═════╝ ╚══════╝
██║        ██║   MIT © Laurent Bourgon 2019
╚═╝        ╚═╝   v2.0.0

Releases Languages License

GitHub Issues GitHub Pull Requests

Programme Python3 qui permet de créer un document Microsoft Word pré-configuré afin de réaliser un Document de Révision.


📝 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 le dossier temporaire et le supprimer
  4. 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.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)
  • Télécharger le modèle à distance afin de ne faire qu'un seul fichier à télécharger manuellement
  • Ajout dans PyPI afin de pouvoir le télécharger avec une simple commande (ex. pip install pyEtude)
  • Avoir plusieurs types de documents (page de présentation, devoirs, etc
  • Avoir un configurateur de modèles afin de créer un modèle personnalisé
  • Avoir plusieurs modèles qui peuvent être choisis.
  • Transformer ce programme en interface web pour faciliter la tâche
  • Transformer ce programme en application mobile pour faciliter l'utilisation sur tablettes

🏁 Bien Démarrer

Configuration requise

Catégorie Valeur Notes additionnelles Installation
OS: N'importe lequel
Python: Python 3 Développé sous Python 3.7.4, 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
re 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
tkinter Fait parti des paquets par défaut, pas besoin de l'installer
webbrowser 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

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.
$ cd Users/Laurent/Documents/GitHub/pyEtude
$ python pyEtude.pyw

🎈 Utilisation

Exécuter le programme avec le terminal/invite de commande ou selon votre système d'exploitation.

$ cd Users/Laurent/Documents/GitHub/pyEtude
$ python 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 ou « Modifier les options »):

Configurateur

  • Création:

Création

Résultats

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
Secondaire 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
Secondaire Secondaire 4 - 2018-2019
Nom du fichier STE-CHP1.docx

⁉️ Foire Aux Questions

  • L'application est horrible sous macOS!: Ceci est dû au moyen dont macOS gère les applications, ceci devrait être réglé lorsque le nouveau GUI pour tablettes/mobiles arrivera puisqu'il permettra de transférer cette application pour macOS.
  • 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 peut 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 le supprimer 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 128Ko, le modèle fait 28Ko, pourquoi?: Ceci est dû à un problème dans le calcul de taille, Word va automatiquement régler ce problème (réduire la taille du fichier) lorsque le fichier sera enregistré pour la première fois.
  • J'ai l'erreur suivante ERREUR LOCALE La langue "fr_CA" n'est pas trouvée: pyÉtude a besoin du module de langue français pour fonctionner correctement, celui-ci est fourni par votre système d'exploitation, si vous ne pouvez pas installer la langue française et que vous souhaitez enlever le message, ajoutez un # devant les lignes 19 à 26.
  • J'ai l'erreur suivante:
    Traceback (most recent call last):
      File "./pyETUDE.pyw", line 13, in <module>
      from tkinter import *
    ModuleNotFoundError: No module named 'tkinter'

Ceci est dû à certaines distributions de Linux qui n'incluent pas tkinter, le module qui s'occupe du GUI. tkinter est un module officiel et installé par défaut, il est alors déjà préinstallé avec Windows et macOS, mais certaines distributions de Linux (dont Ubuntu), ne l'incluent pas. Afin de l'installer, utiliser votre gestionnaire de paquet et installer-le, sur Ubuntu: sudo apt-get install python3-tk  

⛏️ Créé avec

✍️ Contributeurs

🔏 Licence

Ce projet est sous licence MIT.

Cet extrait provient de LICENSE:

MIT License

Copyright © 2019 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.