objet — Classe de base¶
Module contenant la classe Objet, classe racine dont héritent toutes les classes du package.
objet ¶
SerializationMixin ¶
Mixin fournissant la sérialisation/désérialisation avec gestion des unités physiques.
Méthodes : - _physical_to_dict / _dict_to_physical : conversion Physical ↔ dict - _resolve_unit_expr : parsing sécurisé d'expressions d'unité - save_data / load_data : sauvegarde/chargement JSON/CSV - save_object / _save_muliple_objects : pickle .oco - _open_object / _open_multiple_objects : lecture pickle .oco
save_data ¶
Sauvegarde les données dans un fichier JSON ou CSV via boîte de dialogue.
Convertit automatiquement les unités physiques (Physical) en valeurs sérialisables avant la sauvegarde.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
dict
|
Données à sauvegarder sous forme de dictionnaire. Les valeurs Physical sont automatiquement converties. |
required |
type_data
|
str
|
Format de sauvegarde : "JSON" ou "CSV". |
('JSON', 'CSV')
|
path
|
str
|
Chemin du fichier à créer. Si None, une boîte de dialogue Qt s'ouvre pour choisir l'emplacement. |
None
|
Note
Pour JSON : sauvegarde indentée avec encodage UTF-8. Pour CSV : format simple avec une ligne d'en-tête.
load_data ¶
Charge les données depuis un fichier JSON ou CSV via boîte de dialogue.
Reconstruit automatiquement les unités physiques (Physical) à partir des données sérialisées.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_data
|
str
|
Format du fichier : "JSON" ou "CSV". |
('JSON', 'CSV')
|
path
|
str
|
Chemin du fichier à charger. Si None, une boîte de dialogue Qt s'ouvre pour sélectionner le fichier. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
dict |
Dictionnaire contenant les données chargées avec les unités physiques restaurées. |
DataLoaderMixin ¶
Mixin fournissant le chargement des données normatives (CSV, JSON).
Attributs de classe : - PATH_CATALOG : chemin racine du package ourocode - _csv_cache / _json_cache : caches partagés
Méthodes : - _data_from_csv : charge un CSV avec cache - _data_from_json : charge un JSON en DataFrame - _load_json : charge un JSON en dict avec cache
MathUtilsMixin ¶
Mixin fournissant les utilitaires mathématiques et de conversion d'unités.
Méthodes : - abs_value, max, min : wrappers arithmétiques - _extract_numbers, max_list, min_list : extraction récursive de valeurs numériques - get_trigonometric_value : fonctions trigonométriques en degrés - _convert_unit_physical : conversion entre unités SI - _reset_physical_dictionnary / _reset_physical_object : réinitialisation des Physical
abs_value ¶
Retourne la valeur absolue (module) d'un nombre.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
float
|
Valeur dont on veut la valeur absolue. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
Valeur absolue (toujours positive ou nulle). |
max ¶
Retourne la valeur maximale entre deux nombres.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value1
|
float
|
Première valeur à comparer. |
required |
value2
|
float
|
Deuxième valeur à comparer. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
La plus grande des deux valeurs. |
min ¶
Retourne la valeur minimale entre deux nombres.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value1
|
float
|
Première valeur à comparer. |
required |
value2
|
float
|
Deuxième valeur à comparer. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
La plus petite des deux valeurs. |
max_list ¶
Retourne la valeur maximale d'une liste ou d'un dictionnaire.
Cette méthode parcourt récursivement la structure pour extraire toutes les valeurs numériques et retourne la maximum.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
iterable
|
dict | list | tuple
|
Structure de données contenant des valeurs numériques. |
required |
absolute
|
bool
|
Si True, compare les valeurs absolues. Defaults to False. |
('False', 'True')
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
La valeur maximale trouvée. |
Exemple
obj.max_list([1, -5, 3], absolute=True) 5 obj.max_list({"a": 10, "b": [20, 5]}) 20
min_list ¶
Retourne la valeur minimale d'une liste ou d'un dictionnaire.
Cette méthode parcourt récursivement la structure pour extraire toutes les valeurs numériques et retourne le minimum.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
iterable
|
dict | list | tuple | str
|
Structure de données contenant des valeurs numériques. |
required |
absolute
|
bool
|
Si True, compare les valeurs absolues. Defaults to False. |
('False', 'True')
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
La valeur minimale trouvée. |
Exemple
obj.min_list([1, -5, 3], absolute=True) 1 obj.min_list({"a": 10, "b": [20, 5]}) 5
operation_between_values ¶
Effectue une opération arithmétique entre deux valeurs. Opérateurs supportés : "+" (addition), "-" (soustraction), "x" (multiplication), "/" (division). Args: value1 (float): Première opérande. value2 (float): Deuxième opérande. operator (str): Opérateur à appliquer. Defaults to "+". Returns: float: Résultat de l'opération. Raises: ValueError: Si l'opérateur n'est pas reconnu.
get_trigonometric_value ¶
get_trigonometric_value(value: float, operator: str = ('COS', 'SIN', 'TAN', 'ACOS', 'ASIN', 'ATAN'))
Calcule une fonction trigonométrique avec un angle exprimé en degrés.
Convertit automatiquement l'angle de degrés en radians avant le calcul.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
float
|
Angle en degrés. |
required |
operator
|
str
|
Fonction trigonométrique à appliquer. Choix possibles : "COS", "SIN", "TAN", "ACOS", "ASIN", "ATAN" |
('COS', 'SIN', 'TAN', 'ACOS', 'ASIN', 'ATAN')
|
Returns:
| Name | Type | Description |
|---|---|---|
float |
Résultat de la fonction trigonométrique. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Si la fonction trigonométrique n'est pas reconnue. |
Exemple
obj.get_trigonometric_value(90, "SIN") 1.0 obj.get_trigonometric_value(0, "COS") 1.0
SyntheseMixin ¶
Mixin fournissant la synthèse des taux de travail.
Méthodes : - _add_synthese_taux_travail : agrège les taux dans un DataFrame cumulatif - synthese_taux_travail : finalise le tableau avec la ligne des maximums
synthese_taux_travail ¶
Construit un tableau pandas de synthèse des taux de travail.
Cette méthode agrège les résultats de vérification (taux de travail) pour la situation normale et la situation d'incendie dans un DataFrame partagé entre toutes les méthodes de vérification.
Returns:
| Type | Description |
|---|---|
|
pd.DataFrame: Tableau de synthèse final avec la ligne des maximums. |
Note
Le DataFrame est partagé entre toutes les méthodes de vérification d'une même instance via l'attribut _synthese_taux_df.
Objet ¶
Bases: SerializationMixin, DataLoaderMixin, MathUtilsMixin, SyntheseMixin
Classe de base du package ourocode.
Cette classe fournit les fonctionnalités essentielles pour : - La sérialisation/désérialisation des objets avec gestion des unités physiques (via SerializationMixin) - L'accès aux données normatives CSV/JSON (via DataLoaderMixin) - Les opérations mathématiques et de conversion d'unités (via MathUtilsMixin) - La synthèse des taux de travail (via SyntheseMixin)
Toutes les classes du package ourocode héritent de cette classe.
set_value ¶
Retourne une valeur typee avec une unite physique optionnelle.
Equivalent inverse de get_value : permet a l'utilisateur de
saisir une valeur numerique brute et de l'encapsuler dans un objet
Physical (forallpeople) avec l'unite choisie parmi la liste
definie dans _PHYSICAL_UNITS (m, mm, cm, km, m2, N, kN, daN,
N.m, kN/m, Pa, MPa, etc.).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
float | int | str
|
la valeur numerique a encapsuler. Les chaines numeriques ("5", "5,3") sont converties. |
None
|
unit
|
str
|
unite cible. La valeur
speciale |
_SET_VALUE_UNITS
|
Returns:
| Type | Description |
|---|---|
|
|
|
Exemple
obj.set_value(5, unit="m") 5.000 m obj.set_value("5,3", unit="kN") 5.300 kN obj.set_value(42, unit="Aucune") 42
get_value ¶
get_value(value: dict | list | str, index: int = None, key: str = None, get_keys: bool = ('False', 'True'))
Extrait et retourne une valeur depuis une structure de données complexe.
Cette méthode utilitaire permet de naviguer dans les dictionnaires, listes, ou chaînes JSON pour extraire des valeurs spécifiques.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
value
|
dict | list | str
|
La structure de données source. |
required |
index
|
int
|
Index à extraire dans une liste Python. Note : sous Python, le premier élément est à l'index 0. |
None
|
key
|
str
|
Clé à extraire d'un dictionnaire Python, ou clé JSON à extraire d'une chaîne. |
None
|
get_keys
|
bool
|
Si True, retourne la liste des clés d'un dictionnaire au lieu d'une valeur. |
('False', 'True')
|
Returns:
| Type | Description |
|---|---|
|
La valeur extraite selon les critères spécifiés. |
Exemple
obj.get_value({"a": 1, "b": 2}, key="a") 1 obj.get_value([10, 20, 30], index=1) 20 obj.get_value({"x": 1, "y": 2}, get_keys=True) ["x", "y"]