package package

Submodules

package.DBG module

class package.DBG.DBG(database: str)[source]

Bases : Connection

Connexion à une base de données SQLite.

Cette classe hérite de la classe sqlite3.Connection et ajoute des méthodes pour insérer, sélectionner et supprimer des enregistrements dans une table spécifique de la base de données.

Args:

database (str): Le nom de la base de données.

Attributes:

_dataBase (str): Le chemin vers la base de données.

Methods:
__init__(self, database: str) -> None:

Initialise une nouvelle connexion à la base de données spécifiée.

insert(self, date: str, heur: str, orienter: str, pondere: str, sommet: str, arc: str) -> bool:

Insère un nouveau enregistrement dans la table « graphe ».

selectAll(self) -> list|bool:

Sélectionne tous les enregistrements de la table « graphe ».

nbrData(self) -> int:

Récupère le nombre total d’enregistrements dans la table « graphe ».

delete(self, id: int) -> bool:

Supprime un enregistrement spécifié de la table « graphe ».

deleteAll(self) -> bool:

Supprime tous les enregistrements de la table « graphe ».

delete(id: int) bool[source]

Supprime l’enregistrement correspondant à l’ID spécifié de la table « graphe ».

Args:

id (int): L’ID de l’enregistrement à supprimer.

Returns:

bool: True si l’enregistrement a été supprimé avec succès, False sinon.

deleteAll() bool[source]

Supprime tous les enregistrements de la table « graphe ».

Returns:

bool: True si tous les enregistrements ont été supprimés avec succès, False sinon.

insert(date: str, heur: str, orienter: str, pondere: str, sommet: str, arc: str) bool[source]

Insère un nouveau enregistrement dans la table « graphe ».

Args:

date (str): La date de l’enregistrement.

heur (str): L’heure de l’enregistrement.

orienter (str): La direction de « graphe ».

pondere (str): La pondération de « graphe ».

sommet (str): Liste des sommets de « graphe ».

arc (str): Liste des arretes(arcs) de « graphe ».

Returns:

bool: True si l’enregistrement a été inséré avec succès, False sinon.

nbrData() int[source]

Récupère le nombre total d’enregistrements dans la table « graphe ».

Returns:

int: Le nombre total d’enregistrements dans la table.

int: -1 si une erreur s’est produite lors de l’exécution de la requête.

selectAll() list | bool[source]

Sélectionne tous les enregistrements de la table « graphe ».

Returns:

list: Une liste contenant tous les enregistrements de la table.

bool: False si une erreur s’est produite lors de l’exécution de la requête.

package.Graphe module

class package.Graphe.Graph(directed: bool, pondere: bool)[source]

Bases : object

Classe singleton qui représente un graphe orienté ou non orienté avec ou sans pondération.

Attributes:

directed (bool): True si le graphe est orienté, False sinon.

pondere (bool): True si le graphe est pondéré, False sinon.

instance (Graph): Instance unique de la classe Graph.

graphe (nx.Graph|nx.DiGraph): Graphe du réseau créé avec la bibliothèque NetworkX.

Methods:
get_instance(cls, directed: bool, pondere: bool) -> nx.Graph|nx.DiGraph:

Crée une instance de la classe Graph s’il n’en existe pas déjà une et la retourne.

init(self) -> None:

Réinitialise le graphe.

add_vertex(self, vertex) -> None:

Ajoute un sommet au graphe.

add_edge(self, vertex1: str, vertex2: str) -> None:

Ajoute une arête non pondérée entre deux sommets au graphe.

add_edge_value(self, vertex1: str, vertex2: str, value: float) -> None:

Ajoute une arête pondérée entre deux sommets au graphe.

get_neighbors(self, vertex: str) -> list:

Retourne une liste des voisins du sommet donné en argument.

remove_vertex(self, vertex: str) -> None:

Retire un sommet du graphe.

remove_edge(self, vertex1: str, vertex2: str) -> None:

Retire une arête entre deux sommets du graphe.

getVertex(self) -> list:

Retourne une liste des sommets du graphe.

bfs(self, start: str) -> list:

Parcours en largeur du graphe à partir du sommet de départ donné en argument.

dfs(self, start: str) -> list:

Parcours en profondeur du graphe à partir du sommet de départ donné en argument.

isDirected(self) -> bool:

Retourne True si le graphe est orienté, False sinon.

isPondere(self) -> bool:

Retourne True si le graphe est pondéré, False sinon.

isEulerian(self) -> bool:

Retourne True si le graphe est eulérien, False sinon.

isPlanaire(self) -> bool:

Retourne True si le graphe est planaire, False sinon.

isConnexe(self) -> bool:

Retourne True si le graphe est connexe, False sinon.

toDirectedPondere(self) -> None:

Transforme le graphe en graphe orienté pondéré.

toUnDirectedPondere(self) -> None:

Transforme le graphe en graphe non orienté pondéré.

toDirected(self) -> None:

Transforme le graphe en graphe orienté non pondéré.

toUnDirected(self) -> None:

Transforme le graphe en graphe non orienté non pondéré.

isVide(self) -> bool:

Retourne True si le graphe est vide, False sinon

Raises:

Exception: Si une deuxième instance de la classe Graph est créée.

add_edge(vertex1: str, vertex2: str) None[source]

Ajoute une arête non pondérée entre deux sommets au graphe.

Args:

vertex1 (str): Nom du premier sommet.

vertex2 (str): Nom du deuxième sommet.

add_edge_value(vertex1: str, vertex2: str, value: float) None[source]

Ajoute une arête pondérée entre deux sommets au graphe.

Args:

vertex1 (str): Nom du premier sommet.

vertex2 (str): Nom du deuxième sommet.

value (float): Poids de l’arête à ajouter.

add_vertex(vertex) None[source]

Ajoute un sommet au graphe.

Args:

vertex (str): Nom du sommet à ajouter.

bfs(start: str)[source]

Parcours en largeur du graphe à partir du sommet de départ donné en argument.

Args:

start (str): Nom du sommet de départ.

Returns:

list: Liste des noms des sommets visités lors du parcours en largeur.

dfs(start: str)[source]

Effectue une recherche en profondeur (DFS) à partir du nœud start.

Args:

start (str): Le nœud de départ de la recherche en profondeur.

Returns:

Une liste de nœuds dans l’ordre où ils ont été visités par la recherche en profondeur.

getBfsGraphe(source: str) DiGraph[source]

Retourne l’arbre de parcours en largeur (BFS) à partir du sommet source.

Args:

source (str): Le sommet source pour le parcours en largeur.

Returns:

nx.DiGraph: L’arbre de parcours en largeur à partir du sommet source.

getDegreeSommets() dict[source]

Retourne un dictionnaire contenant les degrés de chaque sommet du graphe.

Returns:

dict: Dictionnaire contenant les degrés des sommets.

getDensite() float[source]

Calcule la densité du graphe.

Returns:

float : La densité du graphe.

getDfsGraphe(source: str) DiGraph[source]

Retourne l’arbre de parcours en profondeur (DFS) à partir du sommet source.

Args:

source (str): Le sommet source pour le parcours en profondeur.

Returns:

nx.DiGraph: L’arbre de parcours en profondeur à partir du sommet source.

getKruskalGraphe(source: str)[source]

Retourne l’arbre de poids minimum (MST) du sous-graphe connexe de self.__graphe contenant le nœud source, calculé en utilisant l’algorithme de Kruskal.

Args:

source (str) : Le nom du nœud de départ.

Returns:

mst (nx.Graph) : L’arbre de poids minimum (MST) du sous-graphe connexe de self.__graphe contenant le nœud source, calculé en utilisant l’algorithme de Kruskal.

getListeArrete() dict[source]

Retourne un dictionnaire contenant les arêtes du graphe.

Returns:

dict: Dictionnaire contenant les arêtes du graphe.

getListeBellmanFord(source: str, pointFinal: str) list[source]
getListeDijkstra(source: str, pointFinal: str) list[source]

Retourne une liste contenant le chemin le plus court entre la source et le point final en utilisant l’algorithme de Dijkstra.

Args:

source (str) : Le nœud source du chemin.

pointFinal (str) : Le nœud final du chemin.

Returns:

list : La liste contenant le chemin le plus court.

getListeSommet() list[source]

Retourne une liste contenant tous les sommets du graphe.

Returns:

list: Liste contenant tous les sommets du graphe.

getMatriceAdjacent() list[source]

Retourne une liste représentant la matrice d’adjacence du graphe.

Returns:

list: Liste représentant la matrice d’adjacence du graphe.

getMatriceIncidence() list[source]

Retourne une liste représentant la matrice d’incidence du graphe.

Returns:

list: Liste représentant la matrice d’incidence du graphe.

getNetworkxGraph() Graph | DiGraph[source]

Cette méthode retourne le graphe sous forme d’un objet Networkx Graph ou DiGraph.

Returns:

nx.Graph|nx.DiGraph : le graphe sous forme d’un objet Networkx Graph ou DiGraph.

getNombreArrete() int[source]

Retourne le nombre d’arêtes dans le graphe.

Returns:

int: Le nombre d’arêtes dans le graphe.

getNombreSommet() int[source]

Cette méthode retourne le nombre de sommets dans le graphe.

Returns:

int : le nombre de sommets dans le graphe.

getPrimGraphe(source: str)[source]

Retourne l’arbre de poids minimum (MST) du sous-graphe connexe de self.__graphe contenant le nœud source.

Args:

source (str) : Le nom du nœud de départ.

Returns:

mst (nx.Graph) : L’arbre de poids minimum (MST) du sous-graphe connexe de self.__graphe contenant le nœud source.

getVertex() list[source]

Retourne une liste des sommets du graphe.

Returns:

list: Liste des noms des sommets du graphe.

getVideGraphe() Graph[source]

Retourne un graphe vide.

Returns:

nx.Graph : Un graphe vide.

getWarshallGraphe() DiGraph[source]
classmethod get_instance(directed: bool, pondere: bool) Graph | DiGraph[source]

Renvoie l’instance unique de la classe Graph ou crée une nouvelle instance si elle n’existe pas encore.

Args:

directed (bool) : True si le graphe est orienté, False sinon.

pondere (bool) : True si le graphe est pondéré, False sinon.

Returns:

Graph.__instance : L’instance unique de la classe Graph.

get_neighbors(vertex: str) list[source]

Retourne une liste des voisins du sommet donné en argument.

Args:

vertex (str): Nom du sommet dont on veut connaître les voisins.

Returns:

list: Liste des noms des voisins du sommet donné en argument.

init() None[source]

Réinitialise le graphe.

isAllPositive() bool[source]
isConnexe() bool[source]

Vérifie si le graphe est connexe.

Returns:

True si le graphe est connexe, False sinon.

isDirected() bool[source]

Renvoie True si le graphe est orienté, False sinon.

isEulerian() bool[source]

Vérifie si le graphe est eulérien.

Returns:

True si le graphe est eulérien, False sinon.

isPlanaire() bool[source]

Vérifie si le graphe est planaire.

Returns:

True si le graphe est planaire, False sinon.

isPondere() bool[source]

Renvoie True si le graphe est pondéré, False sinon.

isVide() bool[source]

Cette méthode vérifie si le graphe est vide.

Returns:

bool : True si le graphe est vide, False sinon.

remove_edge(vertex1: str, vertex2: str)[source]

Retire une arête entre deux sommets du graphe.

Args:

vertex1 (str): Nom du premier sommet.

vertex2 (str): Nom du deuxième sommet.

remove_vertex(vertex: str)[source]

Retire un sommet du graphe.

Args:

vertex (str): Nom du sommet à retirer.

toDirected() None[source]

Cette méthode permet de transformer un graphe non orienté et non pondéré en graphe orienté et non pondéré.

toDirectedPondere() None[source]

Cette méthode permet de transformer un graphe non orienté et pondéré en graphe orienté et pondéré.

toUnDirected() None[source]

Cette méthode permet de transformer un graphe orienté et non pondéré en graphe non orienté et non pondéré.

toUnDirectedPondere() None[source]

Cette méthode permet de transformer un graphe orienté et pondéré en graphe non orienté et pondéré.

package.UI module

class package.UI.Fram(window: Window | QWidget, left: int, top: int, wwith: int, wheigth: int, bakgroundImage: str | None, styleCSS: str | None)[source]

Bases : QFrame

Classe Frame personnalisée basée sur QFrame qui peut contenir des widgets et qui prend en charge la personnalisation de la feuille de style CSS, la création de boutons, de libellés et d’entrées de texte avec des propriétés spécifiques.

Args:

window (Union[Window, QWidget]): Une référence à la fenêtre parente.

left (int): La position horizontale du cadre par rapport à la fenêtre parente.

top (int): La position verticale du cadre par rapport à la fenêtre parente.

width (int): La largeur du cadre.

height (int): La hauteur du cadre.

background_image (str|None): Le chemin d’accès de l’image d’arrière-plan du cadre. None par défaut.

style_css (str|None): Les styles CSS à appliquer au cadre. None par défaut.

Methods:
__init__(self, window: Union[Window, QWidget], left: int, top: int, width: int, height: int, background_image: Optional[str] = None, style_css: Optional[str] = None) -> None:

Initialise une instance de la classe Frame.

newButton(self, left: int, top: int, width: int, height: int, styleCSS: str, hoverStyleCss: str, title: str, icon: str, event: Optional[Callable[…, Any]] = None) -> QPushButton:

Crée et retourne un bouton avec des styles CSS et des actions personnalisées.

newLabel(self, left: int, top: int, width: int, height: int, styleCSS: str, titleHTML: str, textCenter: Union[bool, int]) -> QLabel:

Créer et retourne un QLabel avec des propriétés spécifiques.

newInput(self, left: int, top: int, width: int, height: int, style: str, placeholder: str, textCenter: Union[bool, int], passwordInput: Union[bool, int]) -> QLineEdit:

Créer et retourne un QLineEdit avec des propriétés spécifiques.

newComboBox(self, left: int, top: int, iwith: int, iheight: int, firstItem: str, styleCSS: str, hoverStyleCss: str) -> QComboBox:

Crée et retourne un nouveau QComboBox.

newFram(self, left: int, top: int, wwith: int, wheigth: int, backgroundImage: str, styleCSS: str) -> QFrame:

Crée un nouveau QFrame avec les propriétés spécifiées.

newLogo(self, left: int, top: int, wwith: int, wheigth: int, icon: str) -> QLabel:

Crée et retourne un nouveau QLabel avec une icône spécifiée.

closeFrame(self) -> bool:

Ferme la fenêtre Frame.

showFrame(self) -> None:

Affiche la fenêtre Frame.

newTable(self, left:int, top:int, lwith:int, lheigth:int, styleCSS:str, row:int|None, col:int|None) -> QTableWidget:

Crée une nouvelle instance de QTableWidget.

closeFrame() bool[source]

Ferme la fenêtre Frame.

Returns:

bool: True si la fenêtre est fermée, False sinon.

newButton(left: int, top: int, lwith: int, lheigth: int, styleCSS: str, hoverStyleCss: str, title: str, icon: str, event) QPushButton[source]

Crée et retourne un bouton avec des styles CSS et des actions personnalisées.

Args:

left (int): Position horizontale du bouton.

top (int): Position verticale du bouton.

lwith (int): Largeur du bouton.

lheigth (int): Hauteur du bouton.

styleCSS (str): Feuille de style CSS pour le bouton.

hoverStyleCss (str): Feuille de style CSS pour le survol du bouton.

title (str): Titre du bouton.

icon (str): Chemin d’accès à l’icône du bouton.

event (Optional[Callable[…, Any]], optional): Fonction de rappel pour l’action personnalisée du bouton. Defaults to None.

Returns:

QPushButton: Instance du bouton créé.

newComboBox(left: int, top: int, iwith: int, iheight: int, firstItem: str, styleCSS: str, hoverStyleCss: str) QComboBox[source]

Crée et retourne un nouveau QComboBox.

Args:

left (int): La position X du coin supérieur gauche de la liste déroulante.

top (int): La position Y du coin supérieur gauche de la liste déroulante.

iwith (int): La largeur de la liste déroulante.

iheight (int): La hauteur de la liste déroulante.

firstItem (str): Le premier élément de la liste déroulante.

styleCSS (str): La feuille de style CSS appliquée à la liste déroulante.

hoverStyleCss (str): La feuille de style CSS appliquée à la liste déroulante lorsqu’elle est survolée.

Returns:

QComboBox: Le nouveau QComboBox créé.

newFram(left: int, top: int, wwith: int, wheigth: int, bakgroundImage: str, styleCSS: str) QFrame[source]

Crée un nouveau QFrame avec les propriétés spécifiées.

Args:

left (int): La position horizontale du coin supérieur gauche du QFrame.

top (int): La position verticale du coin supérieur gauche du QFrame.

wwith (int): La largeur du QFrame.

wheigth (int): La hauteur du QFrame.

backgroundImage (str): Le chemin de l’image de fond à utiliser pour le QFrame.

styleCSS (str): La feuille de style CSS à utiliser pour le QFrame.

Returns:

QFrame: Un nouveau QFrame avec les propriétés spécifiées.

newFrameGraphe(left: int, top: int, width: int, height: int, graphe: Graph | DiGraph, flag: str, listDijikstra: list | None, grapheHelper: Graph | DiGraph | None = None) QFrame[source]

Crée et retourne un nouveau cadre qui contient un graphe dessiné à l’aide de la bibliothèque NetworkX. Args:

left (int): La position en pixels à partir de la gauche de la fenêtre parente où le cadre sera dessiné.

top (int): La position en pixels à partir du haut de la fenêtre parente où le cadre sera dessiné.

width (int): La largeur en pixels du cadre.

height (int): La hauteur en pixels du cadre.

graphe (nx.Graph | nx.DiGraph): Le graphe NetworkX à dessiner. Peut être soit un graphe non-dirigé, soit un graphe dirigé.

flag (str): Un indicateur qui spécifie quelle méthode a été utilisée pour dessiner le graphe. Les valeurs possibles sont : “graphe”, “prim”, “kruskal”, “dijkstra”, “default”.

listDijikstra (list | None): Une liste optionnelle de nœuds qui seront colorés en vert si la méthode de dessin est “dijkstra”. Sinon, doit être None.

Returns:

QFrame: Un nouveau cadre qui contient le graphe dessiné.

newInput(left: int, top: int, iwith: int, iheight: int, style: str, placeholder: str, textCenter: bool | int, passwordInput: bool | int) QLineEdit[source]

Créer et retourne un QLineEdit avec des propriétés spécifiques.

Args:

left (int): la position horizontale du coin supérieur gauche du QLineEdit.

top (int): la position verticale du coin supérieur gauche du QLineEdit.

iwith (int): la largeur du QLineEdit.

iheight (int): la hauteur du QLineEdit.

style (str): les propriétés CSS à appliquer au QLineEdit.

placeholder (str): le texte à afficher dans le QLineEdit tant que l’utilisateur n’a pas entré de valeur.

textCenter (bool|int): si True ou 1, le texte est centré dans le QLineEdit.

passwordInput (bool|int): si True ou 1, le QLineEdit est affiché comme champ de saisie de mot de passe.

Returns:

QLineEdit: le QLineEdit créé.

newLabel(left: int, top: int, lwith: int, lheight: int, styleCSS: str, titleHTML: str, textCenter: bool | int) QLabel[source]

Créer et retourne un QLabel avec des propriétés spécifiques.

Args:

left (int): la position horizontale du coin supérieur gauche du QLabel.

top (int): la position verticale du coin supérieur gauche du QLabel.

lwith (int): la largeur du QLabel.

lheight (int): la hauteur du QLabel.

styleCSS (str): les propriétés CSS à appliquer au QLabel.

titleHTML (str): le texte HTML à afficher dans le QLabel.

textCenter (bool|int): si True ou 1, le texte est centré dans le QLabel.

Returns:

QLabel: le QLabel créé.

Crée et retourne un nouveau QLabel avec une icône spécifiée.

Args:

left (int): La position horizontale du coin supérieur gauche du QLabel.

top (int): La position verticale du coin supérieur gauche du QLabel.

wwith (int): La largeur du QLabel.

wheigth (int): La hauteur du QLabel.

icon (str): Le chemin de l’image de fond à utiliser pour le QLabel.

Returns:

QLabel: Un nouveau QLabel avec les propriétés spécifiées.

newTable(left: int, top: int, lwith: int, lheigth: int, styleCSS: str, row: int | None, col: int | None) QTableWidget[source]

Crée une nouvelle instance de QTableWidget.

Args:

left (int): Coordonnée horizontale de la table.

top (int): Coordonnée verticale de la table.

lwith (int): Largeur de la table.

lheigth (int): Hauteur de la table.

styleCSS (str): Chaîne de style CSS à appliquer à la table.

row (int|None): Nombre de lignes de la table. Par défaut None.

col (int|None): Nombre de colonnes de la table. Par défaut None.

Returns:

QTableWidget: Nouvelle instance de QTableWidget.

showFrame() None[source]

Affiche la fenêtre Frame.

class package.UI.Window(wwith: int, wheigth: int, title: str, iconImage: str | None, bakgroundImage: str | None, styleCSS: str | None, fixedSize: bool | int, opacity: float | None)[source]

Bases : QWidget

Classe représentant la fenêtre principale de l’application.

Args:

wwith (int): La largeur de la fenêtre.

wheigth (int): La hauteur de la fenêtre.

title (str): Le titre de la fenêtre.

iconImage (str|None): Le chemin vers l’image à utiliser pour l’icône de la fenêtre. None si pas d’image.

bakgroundImage (str|None): Le chemin vers l’image à utiliser pour l’arrière-plan de la fenêtre. None si pas d’image.

styleCSS (str|None): Chaîne de style CSS ou None s’il n’y en a pas.

fixedSize (bool|int): Si la fenêtre doit être de taille fixe. True ou 1 si oui, False ou 0 si non.

opacity (float|None): L’opacité de la fenêtre. None si pas d’opacité.

Methods:

newFram: Crée une nouvelle instance de la classe Fram et la retourne.

keyPressEvent: Méthode de gestionnaire d’événements qui est appelée lorsque l’utilisateur appuie sur la touche « Entrée ».

center: Centre la fenêtre sur l’écran.

center()[source]

Centre la fenêtre sur l’écran.

Returns:

None

keyPressEvent(event)[source]

Gère l’événement de pression de touche du clavier. Cette méthode est appelée chaque fois qu’une touche du clavier est pressée alors que la fenêtre a le focus.

Args:

event (QEvent): L’événement de pression de touche du clavier.

Returns:

Aucune valeur de retour.

newFram(left: int, top: int, wwidth: int, wheigth: int, bakgroundImage: str | None, styleCSS: str | None)[source]

Crée un nouveau cadre (Fram) dans la fenêtre.

Args:

left (int): La position horizontale du cadre en pixels.

top (int): La position verticale du cadre en pixels.

wwidth (int): La largeur du cadre en pixels.

wheigth (int): La hauteur du cadre en pixels.

bakgroundImage (str | None): Le chemin d’accès à l’image de fond du cadre.

styleCSS (str | None): Chaîne de style CSS ou None s’il n’y en a pas.

Returns:

Fram: L’objet créé pour le cadre.

Module contents