Historique de développement de la version 3.0.0 d'APSC

Daté du 05/07/2022

Je suis extrêmement content de vous annoncer qu'une nouvelle version 3.0.0 du logiciel voit le jour officiellement aujourd'hui !

Cela fait plusieurs mois que je travaillais de façon active sur cette nouvelle version (depuis à peu près le début de l'année 2022). J'ai implémenté le Composeur, mais qu'est ce que c'est me direz-vous ?, et bien c'est un éditeur qui va vous permettre de créer des documentations, dossiers pédagogiques, séquences de cours, ... dans lequel vous pouvez incorporer du texte, des images et divers éléments graphiques. L'export de ce document se fait sous la forme d'un fichier PDF. Avec le Composeur vous avez la possibilité de créer des documents multipages (et jusqu'à 999 pages, hé oui !).

Comme vous le savez certainement APSC permet de créer des séquences pédagogiques en arts plastiques (pour le niveau école primaire, collège et lycée). Dans le Composeur vous pouvez aussi importer des séquences et par la suite apposer dans chaque page les constituants (rubriques/blocs) de ces séquences ; par exemple l'incitation, ... le questionnement/problématique, ... le vocabulaire plastique, ... les références (images des oeuvres et les commentaires), ... les éléments de l'évaluation.

Ce Composeur s'accompagne d'une documentation que je vous encourage vivement à consulter.

Voici une vue rapide de ce Composeur en production :

image

Il est à noter que j'ai inséré des raccourcis claviers pour piloter le Composeur et le rendre encore plus ergonomique.

Vous pouvez télécharger cette nouvelle version d'APSC :

Les procédures d'installation sont décrites point par point (vous ne devriez pas rencontrer trop de difficultés à ce niveau).

Pour finir je voudrais vous faire part du travail accompli (depuis fin 2017) et concernant le développement de cette application, voici quelques statistiques concernant le code source d'APSC :

STATISTIQUES CONCERNANT LE CODE D'APSC 
# ---------------------------------------------------------------------- # 
Nombre de fichiers .py contenus dans APSC :  31 
# ---------------------------------------------------------------------- # 
* projet_APSC_py3_pyqt5_DEV_CASSE/stats_modules_classes.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 84 
*  projet_APSC_py3_pyqt5_DEV_CASSE/apsc_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 3131 
*  projet_APSC_py3_pyqt5_DEV_CASSE/pyinstaller_creation_executable.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 138 
*  projet_APSC_py3_pyqt5_DEV_CASSE/creation_iss_exe_compil_inno_setup.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 293 
*  projet_APSC_py3_pyqt5_DEV_CASSE/setup_macosx.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 88 
*  projet_APSC_py3_pyqt5_DEV_CASSE/install_apsc_sources_macos.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 236 
*  moteur_apsc/html_fiche_prof.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 456 
*  moteur_apsc/html_fiche_eleve.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 565 
*  moteur_apsc/html_feuille_eval.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 137 
*  moteur_apsc/dictionnaire_des_synonymes.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 20 
*  moteur_apsc/exec_pdfkit_fiche_eval_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 515 
*  moteur_apsc/definitions_vocabulaire_artsplast.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 22 
*  moteur_apsc/exec_pdfkit_seq_eleve_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 1033 
*  moteur_apsc/composeur.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 5326 
*  moteur_apsc/redemarrage_suite_modifs.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 15 
*  moteur_apsc/exec_pdfkit_seq_prof_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 4296 
*  moteur_apsc/__init__.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 1 
*  affichage_apsc/push_button_icone_droite.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 25 
*  affichage_apsc/visionnage_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 181 
*  affichage_apsc/traitement_image_pour_visionnage.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 89 
*  affichage_apsc/fenetre_dialogue_info.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 24 
*  affichage_apsc/console_gui.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 62 
*  affichage_apsc/apsc_print.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 19 
*  affichage_apsc/push_button_icone_gauche.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 27 
*  affichage_apsc/__init__.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 1 
*  config_apsc/config_pickle_seq_prof.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 24 
*  config_apsc/tempo_lecture.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 32 
*  config_apsc/tempo_chemin_plateforme.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 23 
*  config_apsc/chemin_data_ressources.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 5 
*  config_apsc/tempo_ecriture.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 30 
*  config_apsc/__init__.py  Nbre de lignes de code (sans aucun commentaire, ni doctring) : 1 
# ====================================================================== # 
Nombre de lignes de code (tous fichiers) sans les commentaires : 16899 
Nombre de lignes de commentaires # (tous fichiers) :  19480 
Nombre de lignes de docstrings de classe (tous fichiers) :  73 
Nombre de lignes de docstrings de méthodes de classe (tous fichiers) :  384 
Nombre total de lignes de commentaires (# et docstrings tous fichiers) :  19937 
# ====================================================================== # 
Classes convoquées dans APSC (et docstrings correspondants) : 
# ====================================================================== # 
* Classe : APSC_GUI (<class 'apsc_gui.APSC_GUI'>). Docstring de classe : None  
# ------- # 
* Classe : APSC_Print (<class 'affichage_apsc.apsc_print.APSC_Print'>). Docstring de classe : Classe pour gérer les print sous python 2 et 3  
# ------- # 
* Classe : APSC_Sequence_Prof (<class 'moteur_apsc.exec_pdfkit_seq_prof_gui.APSC_Sequence_Prof'>). Docstring de classe : Classe de la séquence prof APSC  
# ------- # 
* Classe : Apparence_Fiches (<class 'apsc_gui.Apparence_Fiches'>). Docstring de classe : Classe principale d'affichage de la fenêtre pour les réglages de l'apparence graphique des fiches (la fiche prof et la fiche élève)  
# ------- # 
* Classe : Chemin_Rep_Tempo (<class 'config_apsc.tempo_chemin_plateforme.Chemin_Rep_Tempo'>). Docstring de classe : Classe qui retourne le chemin du répertoire temp suivant le système d'exploitation sur lequel APSC est exécuté ... sous GNU/Linux ce sera : /home/utilisateur/.apsc ... sous windows ce sera : \Users\utilisateur\appData\Local\temp ... et sous MacOS ce sera : dans le répertoire temporaire ... par contre sous MacOS, ce sera sous : /Users/nom_utilisateur/.apsc. Ce chemin sous MacOS est du au fait qu'il peut y avoir des problèmes (de droits) pour la lecture/écriture dans les chemins des répertoires temporaires du système  
# ------- # 
* Classe : Composeur (<class 'moteur_apsc.composeur.Composeur'>). Docstring de classe : Classe pour mettre en place le composeur  
# ------- # 
* Classe : Configuration_Divers (<class 'apsc_gui.Configuration_Divers'>). Docstring de classe : Classe qui va gérer des paramètres divers ; notamment l'espacement interligne (en pixels)  
# ------- # 
* Classe : Configuration_General (<class 'apsc_gui.Configuration_General'>). Docstring de classe : Classe principale d'affichage de la fenêtre de configuration  
# ------- # 
* Classe : Configuration_Mode_Affichage_Onglets (<class 'apsc_gui.Configuration_Mode_Affichage_Onglets'>). Docstring de classe : Classe qui affiche la config du mode d'affichage des onglets  
# ------- # 
* Classe : Configuration_Nbre_Fich_Artp_Historique (<class 'apsc_gui.Configuration_Nbre_Fich_Artp_Historique'>). Docstring de classe : Classe qui va gérer les nombre de fichiers ARTP conservés dans l'historique (fichiers modifiés dans le temps et conservés dans le répertoire temporaire)  
# ------- # 
* Classe : Configuration_Repertoires_Chargement (<class 'apsc_gui.Configuration_Repertoires_Chargement'>). Docstring de classe : Classe qui affiche la configuration du chargement des répertoires  
# ------- # 
* Classe : Console_Terminal (<class 'affichage_apsc.console_gui.Console_Terminal'>). Docstring de classe : Classe pour afficher aussi bien les messages STDOUT et STDERR (comme un terminal) dans le QTextEdit dédié à cela  
# ------- # 
* Classe : Conversion (<class 'apsc_gui.Conversion'>). Docstring de classe : Classe principale d'affichage de la fenêtre pour les réglages de la conversion dans d'autres formats de fichiers (par exemple en ODT)  
# ------- # 
* Classe : Dictionnaire_des_synonymes (<class 'moteur_apsc.dictionnaire_des_synonymes.Dictionnaire_des_synonymes'>). Docstring de classe : Recherche de mots et les synonymes correspondants  
# ------- # 
* Classe : Discipine_enseignee (<class 'apsc_gui.Discipine_enseignee'>). Docstring de classe : Classe principale pour choisir la discipline enseignée (arts plastiques, français, maths, techno, ...)  
# ------- # 
* Classe : FeuilleEvaluation (<class 'moteur_apsc.exec_pdfkit_fiche_eval_gui.FeuilleEvaluation'>). Docstring de classe : None  
# ------- #
 * Classe : Historique (<class 'apsc_gui.Historique'>). Docstring de classe : Classe principale d'affichage de la fenêtre de l'historique  
# ------- # 
* Classe : Html_feuille_eval (<class 'moteur_apsc.html_feuille_eval.Html_feuille_eval'>). Docstring de classe : None  
# ------- # 
* Classe : Html_fiche_eleve (<class 'moteur_apsc.html_fiche_eleve.Html_fiche_eleve'>). Docstring de classe : classe de construction du fichier HTML final. Ici des conditions sont écrites pour les différents blocs/briques (Incitation, Niveau de classe, Questionnement, Références artistiques, Evaluation, ...) puissent être déployés aux choix de l'utilisateur (en accord avec la classe MiseEnPageSequenceEleve du fichier exec_pdfkit_seq_eleve_gui.py  
# ------- # 
* Classe : Html_fiche_prof (<class 'moteur_apsc.html_fiche_prof.Html_fiche_prof'>). Docstring de classe : classe de construction du fichier HTML final de la séquence du professeur comportant toutes les données renseignées par l'enseignant  
# ------- # 
* Classe : Info (<class 'apsc_gui.Info'>). Docstring de classe : None  
# ------- # 
* Classe : MiseEnPageSequenceEleve (<class 'moteur_apsc.exec_pdfkit_seq_eleve_gui.MiseEnPageSequenceEleve'>). Docstring de classe : Classe Mise EnPage de la Séquence Elève Cette classe sert à faire les réglages des marges gauche, droite, haut et bas du fichier pdf de la fiche élève, mais aussi, du facteur de zoom (pour un bon affichage sous windows), mais aussi de la valeur de dpi du pdf ...  
# ------- # 
* Classe : OutilsTexteSynonymes (<class 'apsc_gui.OutilsTexteSynonymes'>). Docstring de classe : Classe principale de recherche des synonymes  
# ------- # 
* Classe : OutilsTexteVocabPlastique (<class 'apsc_gui.OutilsTexteVocabPlastique'>). Docstring de classe : Classe principale pour chercher un mot de vocabulaire, modifier/écrire ou supprimer des mots de vocabulaire plastique et leurs définitions et exporter/importer la/une liste de mots de vocabulaire  
# ------- # 
* Classe : PushButtonIconeDroite (<class 'affichage_apsc.push_button_icone_droite.PushButtonIconeDroite'>). Docstring de classe
# ------- # 
* Classe : PushButtonIconeGauche (<class 'affichage_apsc.push_button_icone_gauche.PushButtonIconeGauche'>). Docstring de classe
# ------- # 
* Classe : Renommer_Rubriques (<class 'apsc_gui.Renommer_Rubriques'>). Docstring de classe : Classe principale pour renommer les rubriques (les entêtes)  
# ------- # 
* Classe : Tempo_ecriture (<class 'config_apsc.tempo_ecriture.Tempo_ecriture'>). Docstring de classe :  Classe utilisée pour l'écriture des données (par exemple les options pour l'écriture du pdf de la séquence prof avec pdfkit) dans un choix de répertoires temporaires   
# ------- # 
* Classe : Tempo_lecture (<class 'config_apsc.tempo_lecture.Tempo_lecture'>). Docstring de classe :  Classe utilisée pour la lecture des données (par exemple les options pour l'écriture du pdf de la séquence prof avec pdfkit) dans un choix de répertoires temporaires   
# ------- # 
* Classe : Traitement_Image_Pour_Visionnage (<class 'affichage_apsc.traitement_image_pour_visionnage.Traitement_Image_Pour_Visionnage'>). Docstring de classe : Classe pour visionner le résultat (en images PNG de chaque page en PDF) des fiches prof, élève ou évaluation, selon les cas  
# ------- # 
* Classe : Visionnage (<class 'affichage_apsc.visionnage_gui.Visionnage'>). Docstring de classe : Classe pour visionner le résultat (en images PNG de chaque page en PDF) des fiches prof, élève ou évaluation, selon les cas  
# ------- # 
* Classe : Vocabulaire_definitions (<class 'moteur_apsc.definitions_vocabulaire_artsplast.Vocabulaire_definitions'>). Docstring de classe : None 
# ------- #

Petit bilan rapide :

* Le fichier python (oui APSC est codé avec Python3 ... et PyQt5 comme librairie graphique) composeur.py (le Composeur en fait) comprend 5326 lignes de codes et c'est le fichier qui comprend le plus de lignes de code ... et cela pour insister sur le fait que cette version 3.0.0 est une version majeure.
* Que APSC contient (pour l'instant) en tout et pour tout 16899 lignes de code (cela vous donne une idée supplémentaire des heures de labeur !).

Daté du 12/07/2022

Voici une vidéo promotionnelle pour vous présenter le Composeur de la version 3.0.0.