Connecter une appli ionic avec plusieurs pages à Constellation

Bonjour,

Je souhaite connecter mon application ionic à constellation, mais celle ci comporte plusieurs pages et utilisent donc des controllers propres à chacune d’elle.
Cela crée une erreur d’initialisation de SignalR. (le design html est donc fonctionnel, mais les appels vers constellations ne sont pas reconnus)
Comment faire pour initialiser constellation correctement pour pouvoir l’utiliser dans les différents controllers et corriger l’exécution de SignalR ?

Merci d’avance

J’ai réussi à solutionner le problème, en me basant sur le code javascript de la console constellation.
L’idée est de créer le ‘constellationConsumer’ dans le script principal, au niveau de l’appel de la fonction .run dédiée à l’angular, et de faire en sorte que notre consumer soit une variable globale pour tout le projet, en utilisant un $rootScope.

En pratique, on obtient la structure suivante :

Dans l’app.js, avec les fonctions pour récupérer tous les states objects disponible

angular.module('remote', ['ionic', 'ngConstellation', 'remote.controllers', 'remote.constellationScripts'])

.run(['$ionicPlatform', '$rootScope', 'constellationConsumer', function ($ionicPlatform, $rootScope, consumer) {
    $ionicPlatform.ready(function () { 
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        // for form inputs)
        if (cordova.platformId === 'ios' && window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            cordova.plugins.Keyboard.disableScroll(true);

        }
        if (window.StatusBar) {
            // org.apache.cordova.statusbar required
            StatusBar.styleDefault();
        }
    });

    $rootScope.consumer = consumer;
    $rootScope.connectionState = 'Disconnected'; 

    $rootScope.consumer.intializeClient("serrverURL", "serverAccesKey", "consumerFriendlyName");

    $rootScope.consumer.onUpdateStateObject(function (stateobject) {
        $rootScope.$apply(function () {
            if ($rootScope.consumer[stateobject.PackageName] == undefined) {
                $rootScope.consumer[stateobject.PackageName] = {};
            }
            $rootScope.consumer[stateobject.PackageName][stateobject.Name] = stateobject;
        })

    });
    $rootScope.consumer.onConnectionStateChanged(function (change) {

        $rootScope.connectionState = change.newState === $.signalR.connectionState.connected ? "Connected" : "Disconnected";

        if (change.newState === $.signalR.connectionState.connected) {
            $rootScope.consumer.requestSubscribeStateObjects("*", "*", "*", "*");
        }
        $rootScope.$apply();
    });
        $rootScope.consumer.connect();
}])

.config(function ($stateProvider, $urlRouterProvider) {
     //configuration des controllers associés à chaque page
});

Dans remote.controllers.js, j’ai les différents controllers utilisés.
Pour pouvoir exploiter constellation, il faut simplement passer par le $scope (ici, je l’ai appelé consumer, donc $scope.consumer fera référence à ma constellation)

J’espère que ça sera assez clair si quelqu’un cherche la solution au même problème.