Expliquons maintenant la structure de notre script permettant de générer notre navigauteur:
Nous avons commencé par créer la fenêtre principale du navigateur. Pour cela, nous avons créé une classe MainWindow à l'aide de QtDesigner. Cette classe contient tous les objets présents dans la fenêtre de notre navigateur (les bouttons, le WebView, les barres de menu...). La classe mainWindow sert de matrice à l'application. Cette classe créer avec QtDesigner est ensuite compilée par Eric pour donner le fichier MainWidow.py qui sert à définir la classe en Python. Nous utilisons ensuite cette classe dans tout notre programme.
A l'intérieur de cette classe, nous avons ensuite définit des fonctions s'exécutant lorsque l'on clique sur un boutton. La plupart de nos fonctions s'appuient tout d'abord sur la transformation du site affiché dans le WebView en texte brut. On a donc en entrée le contenu du WebView et en sortie du texte brut. Puis on effectue des transformations sur le texte brut (découpage avec la fonction split, rangement des mots dans une liste...). On affiche ensuite le résultat dans une nouvelle fenêtre. Cette classe Window_Analyze hérite de QMainWindow. Elle permet d'afficher le résultat de nos fonctions proprement dans une nouvelle fenêtre agrémentée de code html pour que l'affichage soit plus esthétique.
L'ouverture d'une nouvelle fenêtre lorsque l'on active une fonction permet de comparer les diverses listes de mots ou classement entre-eux. Il est également possible grâce au menu fenêtre d'ouvrir une deuxième fenêtre navigateur et ainsi de travailler sur plusieurs site en même temps.
Nous avons également ajouté une fonction de synthèse vocale dans le but de rendre la lecture possible à des mals voyants ou des personnes ne lisant pas. Cette fonction prend à nouveau en entrée le texte brut et en sortie du son généré grâce à une application de synthèse vocale à travers le module pyttsx. La seule contrainte de cette fonction est qu'il faut écouter la synthèse. Si on veut arrêter la synthèse en cours de lecture, il n'y a pas d'autre choix que de fermer le navigateur et de le réouvrir.
|