FR 3044440 A1 20170602 FR 1561588 A 20151130 1 Domaine Technique [0001] De manière générale, l'invention concerne des outils informatiques de modélisation de constructions, notamment de constructions complexes demandant la collaboration de plusieurs intervenants. Arrière-plan technologique [0002] Les logiciels de conception assistée par ordinateur (CAO) permettent de créer des modèles tridimensionnels des constructions les plus complexes, de les visualiser sous tous les angles, de simuler l'interaction de pièces mobiles, de générer des plans de construction, etc. Ces programmes (p.ex. AutoCADTM, SolidWorksTM, CATIATm, SketchUpTM, etc.) visent principalement la création de maquettes (ou modèles) numériques dans le but de les visualiser. Certains logiciels offrent des fonctionnalités dépassant le cadre purement graphique, comme les simulations mécaniques, les calculs de stabilité, les calculs thermiques, etc. Ces outils s'appuient alors sur les modèles tridimensionnels qui doivent être préalablement définis. [0003] On connaît également les logiciels de BIM (acronyme du terme anglais « Building Information Model » - modèle d'information unique du bâtiment) qui mettent à disposition des outils de gestion et de visualisation des données d'un bâtiment, dont le but est de répertorier la totalité des informations concernant un bâtiment de manière centralisée. Une base de données ou un ensemble de bases de données accessibles à l'aide du logiciel BIM regroupe la géométrie du bâtiment, les informations géographiques, les éléments de la construction, et de manière générale tous les résultats des travaux des personnes impliquées. Certains logiciels réunissent les fonctionnalités CAO et BIM. Problème technique [0004] Il existe aujourd'hui un besoin d'outils informatiques facilitant, en particulier, les premières étapes de la conception de constructions, p.ex. dans le cadre d'études de faisabilité. Une difficulté principale réside dans le fait que les logiciels CAO et/ou BIM existants requièrent normalement des formations soutenues pour atteindre le niveau de compétence nécessaire à la modélisation de constructions complexes et permettant de réaliser des calculs plus poussés. Dans des projets réunissant des experts dans différents domaines techniques, il est donc rare que l'on trouve un logiciel 3044440 2 bien maîtrisé par toutes les personnes impliquées et dans lequel la collaboration peut dès lors être organisée de manière efficace. [0005] Un objectif de la présente invention est de surmonter ou au moins pallier certains inconvénients des solutions actuelles. 5 Description générale de l'invention [0006] Un premier aspect de l'invention concerne un produit de programme d'ordinateur, comprenant un module d'extension (en anglais « plugin » ou « addin » ; c.-à-d. un logiciel ou un paquet destiné à compléter un logiciel hôte pour lui conférer des fonctionnalités supplémentaires) pour un tableur (p.ex. ExcelTM, OpenOfficeTM 10 Calc, ou autre). Le module d'extension est configuré, lorsqu'il est exécuté dans le tableur, de sorte à : o mettre à disposition de l'utilisateur du tableur des outils de gestion d'un modèle de construction organisé sous la forme d'une base de données, le modèle comprenant des objets et des propriétés associées aux objets, en particulier 15 des propriétés géométriques ; o lier au moins certaines des propriétés à respectivement une cellule du tableur, de sorte à permettre à l'utilisateur de modifier une propriété en modifiant le contenu de la cellule liée respective ; o sur demande de l'utilisateur, lancer une application de conception assistée par 20 ordinateur (CAO) et transmettre le modèle à l'application CAO pour l'affichage du modèle en tenant compte des propriétés géométriques des objets, ou, si l'application CAO est déjà lancée, transmettre en temps réel ou presque réel des modifications du modèle à l'application CAO pour mettre à jour le modèle affiché. 25 [0007] Un avantage notable de l'invention réside dans le fait que le tableur peut être employé comme l'outil principal du travail de conception de la construction (qui peut être une construction mécanique, un bâtiment, un satellite, une machine, etc.). La plupart des personnes travaillant dans des professions d'ingénieur ou d'architecte maîtrisent cet outil informatique, ce qui fait qu'il représente une plateforme de choix 30 pour le travail collaboratif de conception. Grâce au fait que le module d'extension 3044440 3 assure la liaison vers l'application CAO, des connaissances approfondies de celle-ci ne sont pas requises. [0008] De préférence, le module d'extension est configuré pour gérer les droits du ou des utilisateurs. Le module d'extension permet ainsi à plusieurs utilisateurs de 5 travailler sur le modèle de construction en même temps. L'original du modèle de construction peut, p.ex. se trouver sur un serveur auquel les différents utilisateurs peuvent accéder avec leur ordinateur. De préférence, le module d'extension est configuré pour copier le modèle de construction, respectivement la base de données, dans la mémoire mise à disposition du tableur. Chaque utilisateur travaille ainsi sur 10 une copie du modèle de construction et c'est également cette copie qui est synchronisée avec l'application CAO. De préférence, le module d'extension comprend une commande par laquelle un utilisateur peut synchroniser sa copie du modèle avec l'original du modèle de construction. Il peut injecter les modifications qu'il a faites dans son tableur dans l'original du modèle de construction (le modèle de construction 15 partagé) et/ou importer les données mises à jour par les autres utilisateurs. Afin d'éviter les conflits (plusieurs utilisateurs travaillant sur les mêmes parties du modèle en même temps) le module d'extension peut être configuré pour demander à l'utilisateur de se réserver les droits d'écriture pour les objets et les propriétés qu'il souhaite modifier et d'enregistrer cette réservation dans le modèle de construction partagé. De préférence, 20 le module d'extension est configuré de sorte à bloquer la modification d'objets et de propriétés pour lesquelles l'utilisateur n'a pas réservé les droits d'écriture (ouverture du modèle de construction en lecture seule). [0009] Dans le cadre de ce document, on entend par « produit de programme d'ordinateur » notamment un support de stockage physique (disque dur, mémoire 25 flash, clé USB, CD-ROM, DVD, etc.) ou un programme d'ordinateur sous une autre forme, p. ex. encapsulé dans une archive (compressée ou non), sous forme d'un flux (en anglais « stream »), ou encore sous forme d'un logiciel en tant que service (en anglais « software as a service » ou « SaaS »). Par « tableur », on entend un logiciel capable de manipuler des feuilles de calcul organisées en colonnes et lignes, 30 l'intersection d'une colonne et d'une ligne correspondant à une cellule (identifié par son numéro de colonne et de ligne.) Dans le contexte de ce document, une « cellule liée » est une cellule d'une feuille de calcul qui est rattachée à une propriété définie dans la base de données et qui contient soit la valeur de cette propriété, soit une 3044440 4 formule interprétable par le tableur qui permet de calculer la valeur. Une cellule contenant une formule avec une référence vers une autre cellule n'est donc pas, de ce seul fait, une « cellule liée » au sens de ce document. Une telle cellule sera appelée « cellule dépendante » et on notera qu'une cellule dépendante peut en même temps 5 être une cellule liée. Un « objet » du modèle peut être la représentation d'un objet physique de la construction à modéliser dans la base de données ou une entité qui vient compléter le modèle (p.ex. un périmètre ou espace de sécurité autour d'un appareil, un cône d'émission ou de réception d'une source de lumière ou d'une antenne, etc.) On note qu'un objet peut comprendre d'autres objets en tant que 10 composants ou autres propriétés. Le terme « en temps réel », tel qu'employé dans le contexte de ce document, implique qu'un processus informatique est exécuté dans des contraintes temporelles strictes, choisies de telle sorte que l'utilisateur ne ressente pas de délai. Le terme « en temps presque réel » signifie qu'une tâche est exécutée le plus rapidement possible mais les contraintes temporelles sont moins strictes. Dans 15 certaines situations, l'utilisateur peut donc remarquer un temps d'attente. [0010] De préférence, les modifications du modèle transmises à l'application CAO comprennent : o l'ajout d'un objet au modèle, o la suppression d'un objet du modèle, et 20 o la modification d'une propriété. On note que l'application CAO maintient de préférence une propre copie du modèle de construction. A son lancement, l'application CAO reçoit les données du modèle entier qu'elle tient à jour en fonction des modifications transmises par le module d'extension du tableur. 25 [0011] Le module d'extension est de préférence configuré pour mettre des outils spécifiques à disposition de l'utilisateur afin de lui permettre d'ajouter et/ou de supprimer un objet. Un outil pour ajouter un objet peut comprendre, p.ex. un bouton-commande et/ou un raccourci clavier et/ou une option dans un menu déroulant. Un outil pour ajouter un objet est de préférence placé dans un contexte qui indique à 30 l'utilisateur quel type d'objet est rajouté, et/ou où l'objet est inséré dans le modèle, et/ou quelles seront les propriétés du nouvel objet, etc. Additionnellement ou alternativement, la commande d'un outil rajoutant un nouvel objet démarre un ou 3044440 5 plusieurs dialogues permettant à l'utilisateur d'entrer toute information nécessaire à la création de l'objet dans le modèle. La modification d'une propriété (p.ex. le changement d'une valeur par l'utilisateur, la réévaluation d'une formule, etc.) peut être faite directement dans le tableur. Quand celui-ci réévalue une feuille de calcul suite à 5 la saisie d'une nouvelle entrée par l'utilisateur, la mise à jour d'une cellule liée entraîne la mise à jour de la propriété correspondante dans le modèle et la transmission de la modification à l'application CAO. [0012] Le module d'extension comprend de préférence des outils permettant à l'utilisateur de contrôler comment le modèle est affiché par l'application CAO. Un tel 10 outil pourrait être, p.ex. une fenêtre dans laquelle l'utilisateur peut sélectionner les objets du modèle de construction qu'il souhaite voir affichés ou non. De préférence, ces outils sont conçus de manière à permettre l'affichage ou le masquage de groupes d'objets (p.ex. par couches). [0013] Selon un mode de réalisation préféré de l'invention, chaque objet et chaque 15 propriété du modèle est identifié dans la base de données par un chemin d'accès (adresse encodée selon un format convenu) et le module d'extension est configuré de sorte à convertir une formule contenue dans une cellule liée et contenant une référence vers au moins une autre cellule liée en une formule (équivalente) contenant les chemins d'accès de l'au moins une propriété liée à l'au moins une autre cellule liée. 20 En conséquence, la base de données ne contiendra pas de formule utilisant des identifiants de cellules liées mais remplace ces identifiants par des renvois aux propriétés correspondantes. De cette manière, il est garanti que les formules sont stockées dans la base de données dans un format exploitable sans le tableur. Si une formule qui est entrée dans une cellule contient un identifiant d'une cellule qui n'est 25 pas liée à une propriété dans la base de données, le module d'extension peut, lors de la conversion, remplacer cet identifiant par la valeur de la cellule concernée. Cette solution présente toutefois le désavantage d'une perte potentielle d'informations. Alternativement, le module d'extension peut être configuré pour détecter si une formule renvoie vers une cellule non liée et proposer à l'utilisateur de déclarer une nouvelle 30 propriété dans la base de données et la lier à cette cellule. De préférence, la base de données contient pour chaque propriété au moins un champ « valeur » dans lequel est sauvegardée la valeur la plus récente de la propriété en question. Au cas où l'utilisateur entre une formule dans une cellule liée, le module d'extension peut rajouter à cette 3044440 6 propriété un champ « formule » dans lequel est stockée la formule convertie. Il convient de noter que le terme « champ » a été utilisé ici pour faciliter la lecture « valeur » et « formule » sont ici des (sous) propriétés d'une propriété. [0014] De préférence, le module d'extension est configuré pour sauvegarder le 5 modèle tel que modifié dans le tableur dans le format de la base de données. Additionnellement, le fichier dans le format utilisé par le tableur peut être sauvegardé comme un objet accessoire. Au démarrage, le module d'extension charge de préférence les données à partir de la base de données. Optionnellement, il peut être configuré de sorte à détecter la présence d'un fichier dans le format utilisé par le 10 tableur et proposer à l'utilisateur de charger les données en mémoire à partir de ce fichier. [0015] De préférence, des modifications réalisées sur le modèle de construction dans l'application CAO sont répercutées dans le tableur. En d'autres mots, le module d'extension écoute quelles modifications sont communiquées de l'application CAO et 15 met à jour le modèle ainsi que les feuilles de calcul. Il est possible que des modifications faites par l'utilisateur au niveau de l'application CAO soient incompatibles avec des contraintes paramétrées dans le tableur. Admettons qu'un objet a été paramétré dans le tableur comme un cube, au moyen des contraintes « largeur = longueur » et « hauteur = longueur », exprimées par des formules 20 impliquant des cellules dépendantes. Dans l'environnement de l'application CAO, l'utilisateur est libre de déformer l'objet. Il se pose alors la question comment de telles modifications doivent être traitées par le module d'extension. Selon une première option, le module d'extension est configuré de sorte à écraser le contenu de cellules dépendantes par la nouvelle valeur numérique transmise par l'application CAO. Cette 25 option a l'avantage d'être simple et d'accorder une grande liberté de travail dans l'environnement CAO. Par contre, le risque d'une perte d'information ou de rendre la feuille de calcul incohérente est réel. Selon une deuxième option, le module d'extension interdit toutes ou certaines modifications dans l'application CAO. Cette option limiterait toutefois l'utilité de l'application CAO. Selon une troisième option, le 30 module d'extension serait configuré de sorte à détecter des modifications issues de l'application CAO qui écraseraient le contenu d'une cellule dépendante, à afficher un message de mise en garde qui demande à l'utilisateur s'il veut écraser la ou les formules dans le tableur ou la/les garder. Le module d'extension agirait ensuite en 3044440 7 fonction du choix de l'utilisateur. Le module d'extension pourrait également offrir l'option de sauvegarder le choix de l'utilisateur et de l'appliquer pour les événements similaires subséquents. [0016] Un des avantages les plus importants d'un logiciel tableur est la possibilité de 5 travailler avec des cellules dépendantes les unes des autres. De ce fait, il est par exemple possible d'étudier comment le changement d'une seule variable affecte le comportement d'un système complexe. Une seule modification entrée manuellement par l'utilisateur peut ainsi entraîner un nombre important de modifications en raison des dépendances de cellules. De préférence, le module d'extension est configuré de 10 sorte à retenir des modifications survenant en cascade ou en rafale (en particulier en cas de modification par l'utilisateur d'une cellule dont d'autres dépendent) dans un tampon et de les transmettre à l'application CAO sous forme d'un paquet de modifications. En d'autres mots, des modifications trop rapprochées dans le temps ne sont pas transmises à l'application CAO de manière individuelle, afin d'éviter que 15 l'application CAO ne doive réafficher le modèle pour chaque infime modification. Par contre, un paquet de modifications est formé et transmis à l'application CAO qui rafraîchira l'affichage une seule fois pour l'ensemble des modifications du paquet. [0017] Le module d'extension peut notamment être configuré de sorte à former le paquet de modifications en ne gardant, pour chaque objet ou propriété, que la plus 20 récente modification survenue dans la cascade. Si, par exemple, une propriété est modifiée plusieurs fois rapidement de suite (ce qui peut arriver p.ex. dans le cadre de calculs par itérations), l'application CAO n'affichera pas les étapes intermédiaires mais seulement l'état final du modèle. [0018] De préférence, le module d'extension est configuré de sorte à retenir dans le 25 tampon toutes les modifications jusqu'à ce que pendant un temps d'attente défini, compris dans la plage de 1 ps à 500 ms, aucune modification ne soit détectée. De préférence, le temps d'attente est de 250 ms ou moins, p.ex. 100 ms. [0019] De préférence, les propriétés géométriques associées aux objets comprennent les dimensions dans l'espace, la position dans l'espace, et/ou 30 l'orientation dans l'espace. Optionnellement, les propriétés géométriques associées aux objets comprennent également des opérations topologiques et des contraintes cinématiques entre les objets. 3044440 8 [0020] Les propriétés associées aux objets peuvent comprendre, outre les propriétés géométriques, une ou plusieurs des suivantes : la dénomination (le nom de la propriété), la couleur, la transparence ou l'opacité, la masse, la masse volumique, la capacité thermique, la capacité thermique massique ou volumique, la conductivité 5 thermique, la conductivité électrique, la composition chimique, le constituant chimique principal, le prix, la puissance électrique absorbée, le temps moyen de fonctionnement correct avant panne, une plage de fonctionnement, une formule de calcul, une image, un lien URL, un autre objet de la construction. Il convient de noter que cette liste d'exemples n'est pas exhaustive. 10 [0021] De préférence, le modèle de construction, respectivement la base de données, est organisée en tant qu'arborescence. Les outils de gestion du modèle de construction mis à disposition de l'utilisateur par le module d'extension peuvent dans ce cas comprendre au moins une feuille de calcul du tableur avec une ébauche (le schéma ou le méta-modèle) d'un modèle de construction reflétant l'arborescence et 15 des commandes dont l'activation crée des objets et/ou des propriétés aux différents niveaux de l'arborescence ainsi que les cellules du tableur liées à ces objets et/ou propriétés. Le fait de présenter à l'utilisateur le schéma du modèle sur une feuille de calcul facilite la navigation dans les données. [0022] De préférence le modèle de construction, respectivement la base de données, 20 comprend ou consiste en un fichier XML. [0023] Avantageusement, le modèle de construction comprend des couches (en anglais « layers ») auxquelles les objets et/ou les propriétés sont attribuées. Dans le contexte de ce document, une « couche » est une classe d'appartenance des objets et/ou des propriétés (autre que la parenté ou descendance). Cette notion permet de 25 gérer différents points de vue d'un modèle : Par exemple, une couche « ébauche » représentative des volumes grossiers des divers équipements, une couche « définition » représentative des volumes détaillés des différentes parties du modèle et une couche « thermique » représentative d'un modèle géométrique et des caractéristiques permettant la réalisation de calculs d'analyse thermique. Les couches 30 peuvent être définies de sorte à ce que chaque objet et/ou propriété ne puisse être affecté qu'à une seule couche à la fois. Il est toutefois possible de concevoir les couches autrement, de sorte à ce que des appartenances multiples soient autorisées. 3044440 9 De préférence, le module d'extension comprend un menu permettant à l'utilisateur de sélectionner la ou les couches qu'il souhaite voir affichées par l'application CAO. [0024] Selon un mode de réalisation particulièrement préféré de l'invention, le modèle de construction représente un satellite. Dans ce cas, l'ébauche de modèle de 5 construction consiste de préférence en un schéma contenant les parties génériques d'un satellite. [0025] Un deuxième aspect de l'invention concerne le pendant, pour ainsi dire, du module d'extension décrit ci-dessus au niveau de l'application CAO. Il s'agit d'un produit de programme d'ordinateur qui comprend un module d'extension pour une 10 application CAO. Pour distinguer les modules d'extension, le module d'extension du tableur sera appelé « premier module d'extension » alors que le module d'extension de l'application CAO sera appelé « deuxième module d'extension » par la suite. Le deuxième module d'extension est configuré, lorsqu'il est exécuté dans l'application CAO, de sorte à communiquer avec le premier module d'extension, en particulier pour 15 recevoir et charger dans la mémoire affectée à l'application CAO une copie du modèle de construction ainsi que ses modifications en vue d'afficher le modèle en tenant compte des propriétés géométriques des objets. [0026] De préférence, le deuxième module d'extension de l'application CAO est configuré de sorte à suspendre le calcul de rendu (en anglais « rendering ») du modèle 20 dans la mémoire affectée à l'application CAO à partir de la réception d'un paquet de modifications affectant des dimensions et/ou des positions et/ou des orientations d'objets jusqu'à ce que les opérations de mise à jour de la copie du modèle dans la mémoire affectée à l'application CAO soient terminées pour toutes les modifications du paquet. Les calculs de rendu étant très avides de ressources, il est avantageux de 25 les mettre en attente jusqu'à ce que les opérations en cours sur la copie du modèle soient terminées. [0027] Un troisième aspect de l'invention concerne un procédé de modélisation d'une construction par ordinateur, le procédé comprenant : o la gestion d'un modèle de la construction au moyen d'un tableur équipé du 30 premier module d'extension ; et o la visualisation du modèle de la construction au moyen d'une application de conception assistée par ordinateur (CAO), l'application CAO recevant en 3044440 10 temps réel ou presque réel des modifications du modèle transmises par le module d'extension du tableur. [0028] L'application CAO utilisée dans le procédé peut être équipée du deuxième module d'extension. Si l'application CAO est capable d'interagir directement avec le 5 tableur et/ou le premier module d'extension, le deuxième module d'extension n'est pas nécessaire. [0029] Le procédé peut notamment être utilisé dans le cadre d'un projet de conception collaboratif. Le modèle de construction (c.-à-d. la base de données) peut être mise à disposition sur un serveur accessible depuis un réseau local (p.ex. de type Ethernet) 10 et/ou depuis Internet (le cas échéant au moyen d'un réseau privé virtuel). Les différents collaborateurs peuvent ainsi accéder au modèle par l'intermédiaire de leur tableur et le manipuler depuis leur poste. Brève description des dessins [0030] D'autres particularités et caractéristiques de l'invention ressortiront de la 15 description détaillée d'un mode de réalisation avantageux présenté ci-dessous, à titre d'illustration, avec référence aux dessins annexés qui montrent : Fig. 1: un schéma d'un exemple d'une application selon un mode de réalisation préféré de l'invention ; Fig. 2: une capture d'écran d'une feuille de calcul partiellement pré-remplie pour 20 gérer un modèle de construction ; Fig. 3: une capture d'écran d'une feuille de calcul conçu pour la gestion d'un sous-système ; Fig. 4: une collection de formes mises à disposition de l'utilisateur ; Fig. 5: une capture d'écran d'une fenêtre d'une application CAO montrant une vue 25 en perspective d'un satellite ; Fig. 6: une fenêtre permettant à l'utilisateur de sélectionner les objets du modèle de construction qu'il souhaite se faire afficher par l'application CAO ; Fig. 7: une illustration d'un premier mode d'utilisation de l'invention pour organiser du travail collaboratif ; 3044440 11 Fig. 8: Une illustration d'un deuxième mode d'utilisation de l'invention utile notamment dans le cadre d'une session de travail collaborative en ligne. Description détaillée d'un mode de réalisation de l'invention à titre d'exemple [0031] L'invention sera illustrée, par la suite, sur la base de l'application « IDM CIC » 5 (désignation se composant des acronymes de « Integrated Design Model », modèle de conception intégré, et de « Centre d'Ingénierie Concourante »), primairement conçue pour organiser le travail collaboratif sur des projets d'ingénierie spatiale. A titre d'illustration, on considère que la construction modélisée est un satellite. L'application IDM CIC utilise le dictionnaire des paramètres référencés dans le document ECSS-ETM-E-10-25A (20/10/2010) publié par l'ECSS (« European Cooperation for Space Standardization », coopération européenne pour la standardisation de l'espace). [0032] Selon le méta-modèle, une construction spatiale est grossièrement structurée de la façon suivante : o Une entité « System » (système) constitue la racine de l'arborescence. 15 o Au prochain niveau, un système peut comprendre un ou plusieurs « Elements » (éléments) correspondant à différentes parties de la construction (un satellite est souvent constitué d'une plate-forme et de plusieurs instruments). o Chaque élément peut comprendre un ou plusieurs « Subsystem » (sous- 20 système). Un sous-système correspond à l'ensemble des équipements qui réalisent une fonction de la construction (Structure, thermique, contrôle d'attitude...). o Chaque sous-système peut comprendre un ou plusieurs « Equipment » (équipements) et éventuellement un ou plusieurs « Assembly » 25 (assemblages) qui correspond à un groupe d'équipements. Un équipement ou un assemblage ne peut avoir qu'un élément comme parent direct et n'appartenir qu'à un seul sous-système. o Un sous-système peut être défini pour un ou plusieurs éléments. [0033] Chacune des entités peut être considérée comme un objet. Un objet peut avoir 30 les propriétés initialement prévues par le méta-modèle mais il est également possible de rattacher d'autres propriétés aux objets au cours de la modélisation d'une 3044440 12 construction concrète, dans le respect des contraintes imposées par le méta-modèle. Un objet peut être une propriété (enfant) d'un autre objet. [0034] Un type d'objet particulièrement utile pour la représentation graphique est la « shape » (forme), ayant comme propriétés géométriques notamment les dimensions, 5 les coordonnées d'un point de référence (p.ex. l'origine du repère local) dans le repère de la forme parente (ou de l'entité physique parente) ainsi que l'orientation de la forme dans le repère de la forme parente (ou de l'entité physique parente). On appelle « forme élémentaire » (ou primitive) une forme géométrique définie dans le langage de programmation de l'application CAO, c.-à-d. contenue dans la bibliothèque de 10 formes connues par l'application CAO. Les propriétés associées à une forme élémentaire sont les paramètres nécessaires à définir les dimensions, la position et l'orientation de la forme dans l'espace. A partir des formes élémentaires, il est possible de définir des formes complexes à l'aide d'opérations topologiques. De cette manière, on peut par exemple définir un cube traversé par un trou cylindrique. Au besoin, les 15 formes complexes peuvent également être utilisées dans la définition de formes encore plus complexes. De manière générale, une forme complexe est une forme comprenant comme propriétés des formes enfants (primitives ou complexes) ainsi que les règles ou opérations topologiques définissant comment les formes enfants sont combinées. 20 [0035] Outre les formes élémentaires et celles qui en sont dérivées, il est possible d'utiliser d'autres objets servant à la représentation graphique et à l'affichage. Un objet peut, p.ex., comprendre comme propriété une représentation dans le format COLLADA (abréviation du terme anglais « Collaborative Design Activity », activité de conception collaborative) ou dans un autre format accepté par l'application CAO. Un 25 exemple d'objet COLLADA 60 est montré à la figure 4. [0036] Chaque forme ou tout objet physique du modèle est défini dans un repère local qui décrit une position et une orientation nominales de la forme. Des repères complémentaires, associés à la forme, peuvent être définis dans ce repère local et servir de point d'ancrage à d'autres entités dont la position peut être indiquée par 30 rapport ces repères (p.ex. dans le repère d'une forme parente ou d'une forme voisine). Il est également possible de définir l'orientation du repère local dans cet autre repère. Selon un mode de réalisation préféré de l'invention, pour une forme ayant un ou plusieurs degrés de liberté par rapport à une autre forme, la position du repère local et 3044440 13 son orientation par rapport au repère de l'autre forme sont définies par des équations cinématiques exprimant la position et l'orientation du repère local à l'aide d'un ou de plusieurs paramètres de mouvement (p.ex. angle(s), chemin, temps). De cette manière il est possible de visualiser et d'étudier la cinématique d'un système (p.ex. le 5 déploiement de panneaux solaires, la rotation d'une pièce, l'ouverture d'une porte, une pièce coulissante sur une autre, l'ouverture d'un parasol, etc.) [0037] La figure 1 montre le schéma de communication de l'application IDM-CIC. Celle-ci se comprend les composantes suivantes : o Le module d'extension 10 du tableur 12 (ExcelTM dans l'exemple), p.ex. basé sur VSTO (Visual Studio Tools for Office). Ce premier module d'extension 10 interagit avec le tableur 12. Il sert de frontal (en anglais « front end ») de la base de données contenant le modèle de construction. o L'API 14 (acronyme du terme anglais « application programming interface », interface de programmation) qui contient le méta-modèle ainsi que toutes les 15 fonctions utiles pour la communication, notamment les classes client 14a et serveur 14b. L'API 14 de l'exemple est basée sur l'architecture .NET et possède une exposition (visibilité) COM (« Component Object Model ») et est donc accessible, entre autres, depuis les langages de programmation Ruby ou VBA. 20 o Un module d'extension 16 de l'application CAO 18 (SketchupTM dans l'exemple). Ce deuxième module d'extension assure l'interaction avec l'API et prend en charge la création des formes à afficher par l'application CAO, la réception des mises à jour de données venant du tableur, et la réception des actions utilisateurs sous forme d'évènements. Dans l'exemple illustré, 25 deuxième module d'extension a été développé en Ruby. [0038] Le premier module d'extension rajoute dans l'interface utilisateur du tableur des outils de gestion du modèle de construction. Dans le mode de réalisation illustré, le premier module d'extension rajoute un onglet (intitulé « IDM-CIC ») 30 (voir figure 2) dans le ruban 32 d'ExcelTM. En sélectionnant cet onglet, l'utilisateur accède aux outils 30 mis à disposition par le module d'extension, qui assure également la génération d'ébauches (templates) de feuilles calcul reflétant différents aspects du méta-modèle. 3044440 14 [0039] La figure 2 montre une première feuille de calcul 20 d'un classeur ébauche ExcelTM intitulée « system management » (gestion du système). Sur cette feuille, l'utilisateur peut voir des informations concernant le système global, en particulier les propriétés du système 22. Certaines de ces propriétés doivent être renseignées par 5 l'utilisateur, comme p.ex. le nom du projet, le numéro de version, le nom du lanceur, etc. D'autres propriétés pourraient se calculer automatiquement en fonction des entrées de l'utilisateur dans des cellules dans d'autres endroits du classeur. P.ex. il pourrait y avoir une propriété « masse totale », qui se calculerait en tant que la somme de tous les composants du système. 10 [0040] La première feuille de calcul 20 donne également une vue globale de la structure du système 24. Les cellules du tableur sont programmées de sorte à faciliter la navigation dans l'arborescence et de modifier le modèle. P.ex. dans le bloc « structure du système », on voit que le système comprend actuellement deux éléments, une « plateforme » (élément 2) et un « instrument » (élément 1). Chaque 15 élément comprend divers sous-systèmes 25 (« STR » (structure), « PWR » (puissance), etc.). Un nouvel élément peut être facilement ajouté au système en cliquant la cellule-commande « + » (numéro de référence 26) à droite de la liste des éléments. Ensuite on associe à cet élément des sous-systèmes en cliquant la cellule dans l'intersection de la ligne comprenant le sous-système et la colonne associée à 20 l'élément. Pour ajouter un sous-système, l'utilisateur peut cliquer la cellule-commande « + » (numéro de référence 28) en haut à gauche des sous-systèmes 25 et définir un nouveau sous-système générique. [0041] La figure 3 montre la feuille de calcul rattachée au sous-système STR du système (cf. figure 2). Le sous-système STR comprend divers équipements 34, dont 25 chacun est constitué d'une ou de plusieurs formes (shapes) 36. Chaque forme 36 est d'un certain type de forme 38 (parallélépipède, cylindre, tronc de cône, etc.) et possède diverses propriétés comme la couleur 40, l'opacité 42, les dimensions et la position 44, etc. La figure 4 montre une collection d'exemples de formes élémentaires 54 prédéfinies et sélectionnables par l'utilisateur. Il est possible d'ajouter un nouvel 30 équipement au sous-système par la cellule-commande « + » 46 ou une nouvelle forme 36 à un équipement 34 par la cellule-commande « + » 48 respective. [0042] Tout nouvel objet qui est créé par utilisateur est enregistré dans la base de données (c.-à-d. dans le modèle de construction), ce qui n'est pas immédiatement 3044440 15 visible par l'utilisateur, et des cellules décrivant cet objet sont créées dans le tableur. L'objet peut être manipulé par modification des cellules liées aux propriétés de l'objet. A chaque fois qu'un nouvel objet est créé, une cellule est transformée en commande « X » 50 permettant de supprimer l'objet du modèle (cf. également figure 2). Il faut 5 noter que la suppression d'un objet entraînera la suppression de toutes ses propriétés, y inclus ses objets enfants. De préférence, le fait de cliquer sur une cellule « X » 50 amène le premier module d'extension à afficher un message d'alerte demandant la confirmation de la suppression de l'objet, faute de laquelle l'action de supprimer sera annulée. 10 [0043] De manière générale, le frontal de la base de données est conçu de manière à permettre d'ajouter ou de supprimer des objets de manière intuitive, en respectant les contraintes imposées par le méta-modèle et de sorte à assurer la cohérence de la structure du modèle du point de vue du méta-modèle. [0044] De préférence, le premier module d'extension est configuré pour charger une 15 copie d'un modèle de construction sauvegardé sous forme d'un fichier XML et de travailler sur cette copie. La synchronisation de cette copie avec l'original peut être automatique, p.ex. à des intervalles de temps réguliers ou suite à des événements du tableur. De préférence, le premier module d'extension comprend une commande permettant à l'utilisateur de manuellement synchroniser l'original du modèle sur la 20 copie de travail. De cette manière, un utilisateur peut travailler plus librement sans devoir craindre la corruption du modèle de construction original. De préférence, le module d'extension comprend un processus de sauvegarde automatique, qui établit également des points de restauration du modèle de construction partagé. [0045] Le premier module d'extension comprend en outre une ou plusieurs 25 commandes « visualisation » 52 qui, suite à l'activation par l'utilisateur, lancent l'application CAO et amènent le premier module d'extension à lui transmettre la copie de travail du modèle pour l'affichage en tenant compte des propriétés géométriques des objets, ou, si l'application CAO est déjà lancée et possède déjà sa copie du modèle de construction, placent le module dans un mode de travail dans lequel il transmet en 30 temps réel ou presque réel des modifications sur la copie du modèle à l'application CAO pour mettre à jour le modèle affiché. En outre, le tableur, respectivement le premier module d'extension, s'abonne aux évènements de modifications. La figure 5 3044440 16 montre un exemple d'une fenêtre de l'application CAO dans le cas où la construction modélisée est un satellite 56. [0046] De préférence, l'activation d'une de ces commandes 52 entraîne également l'ouverture d'une fenêtre 58 (figure 6) ou d'un menu qui permet à l'utilisateur de choisir 5 les objets qu'il désire faire afficher. De préférence, cette fenêtre 58 ou ce menu permet à l'utilisateur de sélectionner et/ou de désélectionner des groupes d'objets (p.ex. un objet parent avec ses enfants, ou tous les objets faisant partie d'une même couche, ou tous les objets ayant une propriété en commun (comme p.ex. tous les objets affichables mais virtuels comme des axes auxiliaires, des champs de vision, des 10 caractéristiques d'antenne, etc.)). [0047] Au lancement de l'application CAO, le deuxième module d'extension est démarré, et il lance automatiquement un serveur IDM-CIC 14b en utilisant l'API IDMCIC et son exposition COM. A partir de ce moment, l'application CAO attend des instructions du tableur, respectivement du premier module d'extension. 15 [0048] A partir du moment où l'application CAO et le tableur sont tous les deux exécutés, une synchronisation bidirectionnelle est mise en oeuvre : o toute action côté tableur est transmise en temps réel ou presque réel vers l'application CAO. o toute action de modification dans l'application CAO est transmise également 20 en temps réel ou presque réel vers le tableur. [0049] Le module API 14 est instancié deux fois : o une fois au sein de l'application CAO (dans le cas illustré : au sein de Sketchup via COM), et o une fois au sein du tableur (dans le cas illustré : au sein d'ExcelTM via VSTO). 25 Chaque instance possède une représentation des données de la construction. En cas d'une séance collaborative, il est possible de récupérer les modifications faites par tous les intervenants dans une instance du tableur et d'afficher ainsi la construction en temps réel ou presque réel au moyen de l'application CAO. [0050] Du côté de l'application CAO, chaque modification de l'utilisateur est capturée 30 par le deuxième module d'extension, la modification est répercutée au niveau des données dans le module API coté serveur 14b. Cette modification est ensuite 3044440 17 transmise du serveur vers le client (mécanisme « callback ») et transposée dans le modèle de donnée coté clientl4a. Celui-ci déclenche à son tour un évènement de mise à jour de la feuille de calcul (ou du classeur entier). [0051] Au du premier click de l'utilisateur sur une des commandes de visualisation 5 52, le modèle de construction est intégralement copié vers l'application CAO. Les évènements de modification sont ensuite transmis de deux façons : o Lorsqu'une propriété simple est modifiée, l'information transmise est le chemin d'accès (l'adresse, l'identifiant) de la propriété (p.ex. \ \Subsystem_A \ \ ) ainsi que la nouvelle valeur. o Lorsqu'un objet est ajouté au modèle ou supprimé du modèle, l'information transmise est l'identifiant de l'objet concerné. [0052] Lorsqu'une modification par l'utilisateur impacte un grand nombre de données (via des formules dans les feuilles de calcul, l'utilisateur pourrait en une action modifier 15 un grand nombre de cellules dépendantes) un mécanisme de tampon permet de générer un envoi groupé de l'ensemble des modifications en un seul appel serveur (ou client en cas de callback) ce qui optimise grandement les temps de réponse dans ce cas. [0053] Dès qu'une modification de propriété est détectée, trois queues (le tampon) 20 sont remplies : o celle des propriétés modifiées, o celle des objets ajoutés, et o celle des objets supprimés. [0054] A chaque modification, une minuterie (ou « timer ») est lancée de façon 25 asynchrone et découle pendant un temps configurable dans un fichier de configuration (p.ex. 100 ms). Si entretemps une nouvelle modification de propriété est détectée, le processus se répète et la minuterie est réinitialisée. Le transfert des modifications est suspendu pendant que la minuterie est exécutée, mais dès que le temps programmé est écoulé sans qu'une autre modification ne fût détectée, toutes les queues sont 30 envoyées à l'application CAO qui les traite. Si une ou plusieurs modifications sont supplantées par une autre modification plus récente, uniquement cette dernière est 3044440 18 retenue. Les modifications supplantées sont écartés des queues. P.ex. si une propriété est modifiée plusieurs fois, uniquement la dernière valeur de la propriété est transférée. Pareillement, si une première modification concerne (directement ou indirectement) un objet qui est supprimé lors d'une deuxième modification, la première 5 modification est supprimée de la queue respective. [0055] De son côté, le deuxième module d'extension est configuré de sorte à suspendre le calcul de rendu par l'application CAO jusqu'à ce que toutes les modifications arrivant de manière groupée soient répercutées dans la copie du modèle du côté de l'application CAO. Il s'agit d'une précaution qui est prise afin d'éviter que 10 des calculs de rendu soient réalisés sur la base d'un modèle de construction qui n'est plus à jour. Le mécanisme peut comprendre un ou plusieurs tampons basés sur une minuterie qui empêche un nouveau calcul du rendu pendant un certain temps minimal (configurable) après la dernière modification affectant l'affichage. [0056] Dans l'exemple illustré à la figure 1, la technologie de communication entre 15 client et serveur se base sur WCF (« Windows Communication Foundation »). La communication peut être implémentée sur tous les protocoles supportés par WCF : http, SOAP (« Simple Object Access Protocol »), etc. [0057] La figure 7 est une illustration d'une première utilisation possible de l'invention. Le modèle de construction 62 est stocké, p.ex. sous la forme d'un fichier XML, sur un 20 serveur 64 auquel les différents utilisateurs 66-1, 66-2, ... , 66-n peuvent accéder via un réseau. Le réseau peut être local et/ou global (symbolisé par le globe 69). Chaque utilisateur dispose de sa propre instance du tableur 68 et de l'application CAO 70. Au démarrage du premier module d'extension, le modèle de construction 62 est copié dans la mémoire affectée au tableur 68. Chaque utilisateur travaille dès lors sur sa 25 propre copie. S'il veut pouvoir sauvegarder ses modifications dans le modèle partagé 62, un utilisateur doit se réserver des droits d'écriture pour tout ou une partie du modèle de construction. Les parties concernées du modèle ne peuvent alors pas être simultanément modifiées par d'autres utilisateurs. De préférence, la synchronisation entre le modèle partagé et la copie locale requiert une action ponctuelle de la part de 30 l'utilisation (p.ex. la confirmation explicite que des modifications doivent être répercutées dans le modèle partagé 62). Entre le tableur et l'application CAO, la synchronisation est de préférence automatique, c.-à-d. la copie locale de l'application CAO est maintenue à jour avec la copie locale du tableur. 3044440 19 [0058] La figure 8 montre une autre utilisation possible de l'invention. Outre les éléments déjà décrits avec référence à la figure 7, une instance du tableur 72 est exécutée qui se trouve en mode lecture seule mais maintient sa copie locale synchronisée en temps réel ou presque réel avec le modèle partagé 62. Une instance 5 de l'application CAO 74 sert à visualiser le modèle partagé en temps réel ou presque réel. Les utilisateurs 66-1, ... , 66-n peuvent accéder à l'image générée par l'instance de l'application CAO 74 p.ex. par l'intermédiaire d'un logiciel de réunion ou de conférence en ligne 76. On notera que les instances « maîtres » du tableur et de l'application CAO n'ont pas besoin de tourner sur le serveur 62 mais peuvent être 10 exécutés sur n'importe quel poste du réseau. [0059] Le mode d'utilisation de la figure 8 est de préférence employé dans le cadre d'une session de travail collaborative, pendant laquelle il est important que tous les utilisateurs voient tous la même image du modèle et qu'ils voient également les dernières modifications du modèle partagé en temps réel ou presque réel. 15 [0060] Alors qu'un mode de réalisation particulier vient d'être décrit en détail, l'homme du métier appréciera que diverses modifications et alternatives à celui-là puissent être développées à la lumière de l'enseignement global apporté par la présente divulgation de l'invention. Par conséquent, les agencements et/ou procédés spécifiques décrits ci-dedans sont censés être donnés uniquement à titre d'illustration, sans intention de 20 limiter la portée de l'invention. REVENDICATIONS1. Procédé de modélisation d'une construction par ordinateur, caractérisé en ce qu'il comprend : o la mise à disposition de l'utilisateur d'un tableur d'outils de gestion d'un modèle de construction organisé sous la forme d'une base de données, le modèle comprenant des objets et des propriétés associées aux objets, en particulier des propriétés géométriques ; o la liaison d'au moins certaines des propriétés à respectivement une cellule du tableur, de sorte à permettre à l'utilisateur de modifier une propriété en modifiant le contenu de la cellule liée respective ; o le lancement d'une application de conception assistée par ordinateur (CAO) et la transmission du modèle à l'application CAO pour l'affichage du modèle en tenant compte des propriétés géométriques des objets, ou, si l'application CAO est déjà lancée, la transmission en temps réel ou presque réel de modifications du modèle à l'application CAO pour mettre à jour le modèle affiché. 2. Procédé de modélisation d'une construction par ordinateur selon la revendication 1, comprenant la visualisation du modèle de la construction au moyen de l'application CAO, l'application CAO recevant en temps réel ou presque réel des modifications du modèle transmises. 3. Produit de programme d'ordinateur, caractérisé par un module d'extension pour un tableur, le module d'extension étant configuré, lorsqu'il est exécuté dans le tableur par un ordinateur, de sorte à exécuter le procédé de la revendication 1. 4. Produit de programme d'ordinateur selon la revendication 3, caractérisé en ce que les modifications du modèle transmises à l'application CAO comprennent : o l'ajout d'un objet au modèle, o la suppression d'un objet du modèle, et o la modification d'une propriété. Produit de programme d'ordinateur selon la revendication 3 ou 4, caractérisé en ce que chaque objet et chaque propriété du modèle est identifié dans la base de données par un chemin d'accès, le module d'extension étant configuré de sorte 3044440 21 à convertir une formule contenue dans une cellule liée et contenant une référence vers au moins une autre cellule liée, en une formule contenant les chemins d'accès de l'au moins une propriété liée à l'au moins une autre cellule liée. 6. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 5, caractérisé en ce que le module d'extension est configuré de sorte à retenir des modifications survenant en cascade dans un tampon et de les transmettre à l'application CAO sous forme d'un paquet de modifications. 7. Produit de programme d'ordinateur selon la revendication 6, caractérisé en ce que le module d'extension est configuré de sorte à former le paquet de modifications en ne gardant, pour chaque objet ou propriété, que la plus récente modification survenue dans la cascade. 8. Produit de programme d'ordinateur selon la revendication 6 ou 7, caractérisé en ce que le module d'extension est configuré de sorte à retenir dans le tampon toutes les modifications jusqu'à ce que pendant un temps d'attente défini, compris dans la plage de 1 ps à 500 ms, aucune modification ne soit détectée. 9. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 8, caractérisé en ce que les propriétés géométriques associées aux objets comprennent les dimensions dans l'espace, la position dans l'espace, et l'orientation dans l'espace, ainsi qu'optionnellement des opérations topologiques et des contraintes cinématiques entre les objets. 10. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 9, caractérisé en ce que les propriétés associées aux objets comprennent, outre les propriétés géométriques, une ou plusieurs des suivantes : la couleur, la transparence ou l'opacité, la masse, la masse volumique, la capacité thermique, la capacité thermique massique ou volumique, la conductivité thermique, la conductivité électrique, la composition chimique, le constituant chimique principal, le prix, la puissance électrique absorbée, le temps moyen de fonctionnement correct avant panne, une plage de fonctionnement, une formule de calcul, une image, un lien URL, un autre objet de la construction. 11. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 10, caractérisé en ce que le modèle de construction, respectivement la base de données, est organisée en tant qu'arborescence. 3044440 22 12. Produit de programme d'ordinateur selon la revendication 11, caractérisé en ce que les outils de gestion du modèle de construction mis à disposition de l'utilisateur par le module d'extension comprennent au moins une feuille de calcul du tableur comprenant une ébauche d'un modèle de construction reflétant l'arborescence et des commandes dont l'activation crée des objets et/ou des propriétés aux différents niveaux de l'arborescence ainsi que les cellules du tableur liées à ces objets et/ou propriétés. 13. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 12, caractérisé en ce que le modèle de construction, respectivement la base de données, comprend un fichier XML. 14. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 13, caractérisé en ce que le modèle de construction comprend des couches auxquelles les objets et/ou les propriétés sont attribuées. 15. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 14, caractérisé en ce que le modèle de construction représente un satellite. 16. Produit de programme d'ordinateur selon l'une quelconque des revendications 3 à 15, caractérisé en outre par un module d'extension pour une application CAO, le module d'extension étant configuré, lorsqu'il est exécuté dans l'application CAO par un ordinateur, de sorte à: o communiquer avec un module d'extension pour un tableur tel que défini dans l'une quelconque des revendications 3 à 15, en particulier pour recevoir et charger dans la mémoire affectée à l'application CAO une copie du modèle de construction ainsi que ses modifications en vue d'afficher le modèle en tenant compte des propriétés géométriques des objets. 17. Produit de programme d'ordinateur selon la revendication 16, caractérisé en ce que le module d'extension de l'application CAO est configuré de sorte à suspendre le calcul de rendu du modèle dans la mémoire affectée à l'application CAO à partir de la réception d'un paquet de modifications affectant des dimensions et/ou des positions et/ou des orientations d'objets jusqu'à ce que les opérations de mise à jour de la copie du modèle dans la mémoire affectée à l'application CAO soient terminées pour toutes les modifications du paquet.