Skip to content

📝 Programme Python qui permet de crĂ©er des documents personalisĂ©s.

License

Notifications You must be signed in to change notification settings

BourgonLaurent/pyEtude

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)
  • Utiliser Qt for Python au lieu de PyQt5
  • 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
PySide2 NE FAIT PAS PARTI DES PAQUETS PAR DÉFAUT, À INSTALLER TĂ©lĂ©charger avec PyPi python3 -m pip install PySide2
  • 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 PySide2

Ceci est dĂ» au fait que PySide2 (Qt for Python) 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.