Distribuer des cartes sur un CD

Depuis Christine-SIG Viewer 1.2 (build 1.050628), il est possible de distibuer des cartes et leurs données associées sur un CD en utilisant Christine-SIG Viewer. Les utilisateurs peuvent ainsi travailler avec les cartes sans installer de logiciel sur leur ordinateur. Cet article décrit comment faire cela.

Avant de commencer à élaborer la présentation cartographique, créer un répertoire sur le disque dur. Le contenu du CD sera stocké dans ce répertoire. A la fin il suffira de graver son contenu sur un CD. Dans l’article, ce répertoire est nommé cdrom.

Résumé des cinq étapes de fabrication du CD

  • Copier le répertoire d’installation de Christine-SIG Viewer dans le répertoire cdrom
  • Copier les données dans le répertoire cdrom
  • Créer un projet et préparer la présentation
  • Créer le fichier autorun.inf
  • Graver enfin le contenu du répertoire cdrom sur le CD, puis tester le résultat

    Etape 1
    Installer Christine-SIG Viewer sur le disque dur. Retrouver le répertorie d’installation (par défaut C:\Program Files (x86)\Christine-GIS 1.5) puis le copier dans le répertoire cdrom.

    Etape 2
    Créer dans le répertoire cdrom un sous-répertoire où les données seront stockées. Dans l’article le sous-répertoire est nommé data. Copier toutes les données nécessaires pour la présentation cartographique dans le répertoire data. Pour des jeux de données importants, il est recommandé de créer des index spatiaux (fichiers .six). Une fois que les légendes et les thématisations de données sont paramétrées, il est possible de les sauvegarder dans un fichier de légende (fichier .leg). Enregistrer les fichiers d’index et les fichiers de légende au même endroit que les données.

    Etape 3
    Lancer Christine-SIG Viewer, construire la présentation cartographique, puis l’enregistrer dans un fichier projet (project.cri), en utilisant des chemins relatifs pour les données. Le projet peut encore être amélioré en utilisant les deux scripts ci-dessous.

  • Utiliser le script ci-dessous pour afficher une bannière au démarrage et changer le titre et l’icône de Christine-SIG. Bien sűr il faut d’abord préparer un fichier d’icône (icon.ico) avec une petite (16×16 pixels) et une grande (32×32 pixels) icône, un fichier de bannière de démarrage (banner.bmp). Insérer le code source ci-dessous dans un document script intitulé “a propos de la présentation”, vérifier la syntaxe et spécifier ce script comme script de démarrage (dans la boîte de dialogue des propriétés).

  • App application;
    application.SetName("My Presentation");
    
    MsgBox dlg;
    Number nValue;
    Bool bValue;
    
    ' nom complet du fichier d’icône
    Project proj;
    String sProjDir;
    proj.GetProjDir(sProjDir);
    String sIconFN;
    sIconFN = sProjDir + "\\icon.ico";
    
    ' ouverture de la bibliothèque dynamique
    DLL myDll;
    myDll.Load("user32.dll", bValue);
    if (!(bValue)); exit; endif;
    
    ' recherche de la procédure de chargement d’un fichier d’icône
    NumberList parameters;
    parameters.Add(2);
    parameters.Add(1);
    
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(-1);
    myDll.FindProc("LoadImageA", parameters, bValue);
    if (!(bValue)); exit; endif;
    
    ' appel de la procédure de chargement d’un fichier d’icône
    Number hBigIcon hSmallIcon;
    myDll.CallProcNumInt(hBigIcon, 0, sIconFN, 1, 32, 32, 16);
    if (hBigIcon == 0); exit; endif;
    myDll.CallProcNumInt(hSmallIcon, 0, sIconFN, 1, 16, 16, 16);
    if (hSmallIcon == 0); exit; endif;
    
    ' recherche de la procédure d’envoi de message à windows
    parameters.Empty();
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(-1);
    myDll.FindProc("SendMessageA", parameters, bValue);
    if (!(bValue)); exit; endif;
    
    ' envoi du message pour spécifier le fichier d’icône
    Number hWnd;
    application.GetMainWindowHWND(hWnd);
    myDll.CallProcNumInt(nValue, hWnd, 128, 0, hSmallIcon);
    myDll.CallProcNumInt(nValue, hWnd, 128, 1, hBigIcon);
    
    ' fermeture de la bibliothèque
    myDll.Unload();
    
    ' affichage de la bannière pendant 3 secondes
    String sBannerFN;
    sBannerFN = sProjDir + "\\banner.bmp";
    dlg.ShowBmp(sBannerFN, 3, FALSE, 2);
    application.Sleep(3);
    
  • Si vous souhaitez inclure une description ou des instructions pour les utlisateur de votre projet, créer un fichier RTF contenant ces informations (instructions.rtf) et insérer le code ci-dessous dans un autre document script intitulé “instructions”.

  • ' nom complet du fichier d’instructions
    Project proj;
    String sFN;
    proj.GetProjDir(sFN);
    sFN = sFN + "\\instructions.rtf";
    ' lecture du contenu du fichier
    File myFile;
    myFile.Open(sFN, OPEN_EXISTING);
    String sInstructions;
    myFile.Read(sInstructions);
    myFile.Close();
    ' affichage des instructions
    MsgBox dialog;
    dialog.Report(sInstructions, 640, 480);
    
  • Il est préférable de fermer et de verrouiller les scripts ci-dessus pour éviter que les utilisateurs ne puissent les modifier. L’utilisateur peut exécuter les scripts en double-cliquant sur leur nom dans la liste arborescente du projet. Insérer le code suivant dans un document script, vérifier sa syntaxe puis l’exécuter. Supprimer enfin le document script du projet.

  • Script s;
    s.AttachDoc("About Presentation");
    s.CloseWithLock();
    s.AttachDoc("Instructions");
    s.CloseWithLock();
    
  • Astuce : Il est possible d’affichier une astuce du jour personnalisée. Remplacer le contenu du fichier christine.tip dans le répertoire d’installation de Christine-SIG par les astuces souhaitées. Chaque ligne de ce fichier est une astuce. La longueur maximale de chaque astuce est de 320 caractères.
  • Etape 4
    Créer le fichier aurorun.inf dans le répertoire cdrom. Windows détecte l’insertion d’un CD dans le lecteur et lance l’application spécifiées dans le fichier autorun.inf situé à la racine du CD. Le contenu adéquat du fichier autorun.inf est présenté ci-dessous.

    [autorun]
    open="Christine-GIS\Christine.exe project.cri"
    icon=icon.ico
    

    Etape 5
    Graver enfin le contenu du répertoire cdrom sur le CD puis tester le résultat. Lorsque le CD gravé est inséré dans le lecteur, Christine-SIG démarre et charge le projet. Le script de démarrage du projet affiche la bannière de bienvenue et modifie l’icône de Christine-SIG et son titre.
    Remarque : Windows dispose d’une option permettant de désactiver la fonctionnalités de lancement automatique. Le cas échéant, l’utilisateur doit lancer la présentation en double-cliquant sur le fichier projet.


    Annexe A – Contenu du CD de distribution

    Le schéma ci-dessous montre l’arborescence du CD de distribution. Tous les scripts de cet article s’appuient sur cette arborescence.