🚀 DAY 5 OF LAUNCH WEEK:Introducing Webhook Events for Alert Changes.Learn more →
Socket
Book a DemoInstallSign in
Socket

@cantoo/cantoo-web

Package Overview
Dependencies
Maintainers
5
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cantoo/cantoo-web

Typed loader and global definitions for Cantoo web

latest
npmnpm
Version
1.0.1
Version published
Maintainers
5
Created
Source

cantoo-web-docs

Documentation for Cantoo Web

Intégration du script Cantoo Web

Ce projet permet d'ajouter facilement les fonctionnalités d'accessibilité de Cantoo Web à vos pages HTML.

🔧 IntĂ©gration

Pour intĂ©grer le script Ă  votre site, ajoutez simplement la balise suivante dans les pages HTML oĂč vous souhaitez l'activer :

<script type="module" src="https://download.cantoo.fr/cantoo-web-xxx.js" defer></script>

Remplacez xxx par le nom de votre projet, qui vous a été communiqué lors de notre collaboration.

📩 Installation via npm

Si vous utilisez un environnement Node.js ou un bundler moderne (Webpack, Vite, etc.), vous pouvez installer la bibliothĂšque via npm :

npm install @cantoo/cantoo-web

ou avec yarn :

yarn add @cantoo/cantoo-web

Utilisation de la fonction loadCantoo

La bibliothĂšque npm expose une fonction loadCantoo qui charge dynamiquement le script Cantoo Web et retourne une promesse avec l'objet global Cantoo :

import { loadCantoo } from "@cantoo/cantoo-web";

// Charger le script Cantoo Web
loadCantoo("https://download.cantoo.fr/cantoo-web-xxx.js")
  .then((Cantoo) => {
    console.log("Cantoo Web chargé avec succÚs");

    // Ou charger des paramÚtres personnalisés
    Cantoo.load({
      "vocal-dictation": {
        lang: "fr-FR",
      },
      "vocal-reading": {
        lang: "fr-FR",
        rate: 1.0,
      },
      "accessibility-options": {
        fontSize: 16,
        lineSpacing: 1.5,
      },
      "plugin-options": {
        language: "fr",
        activeOptions: [
          "vocalRecognition",
          "vocalSynthesis",
          "textCustomization",
        ],
      },
    });
  })
  .catch((error) => {
    console.error("Erreur lors du chargement de Cantoo Web:", error);
  });

Support TypeScript

La bibliothÚque inclut des définitions TypeScript complÚtes pour l'API Cantoo Web. Vous bénéficiez ainsi de l'autocomplétion et de la vérification de types dans votre IDE :

import {
  loadCantoo,
  type Cantoo,
  type CantooWebData,
} from "@cantoo/cantoo-web";

// Types disponibles pour l'objet Cantoo et ses paramĂštres
const params: CantooWebData = {
  "vocal-dictation": { lang: "fr-FR" },
  "vocal-reading": { lang: "fr-FR", rate: 1.0 },
  "accessibility-options": {},
  "plugin-options": {},
};

loadCantoo("https://download.cantoo.fr/cantoo-web-xxx.js").then(
  (cantoo: Cantoo) => {
    cantoo.load(params);
  }
);

Note : Remplacez xxx par le nom de votre projet dans l'URL du script.

🔄 Mises à jour

Les mises à jour du script sont automatiques. Aucune action n'est nécessaire de votre part pour bénéficier des derniÚres fonctionnalités et corrections.

🌐 Options : ÉlĂ©ment global Cantoo

Une fois intégré, vous bénéficiez déjà de l'adaptation offerte par Cantoo Web et vous n'avez rien à faire. Toutefois, si vous souhaitez un niveau d'intégration plus fin, ou mettre à profit les fonctionnalités de Cantoo Web pour améliorer votre produit, le script expose un objet global nommé Cantoo contenant plusieurs fonctionnalités clés, permettant de contrÎler les fonctionnalités de l'outil :

/**
 * Objet global Cantoo exposé par le script Cantoo Web.
 */
declare const Cantoo: {
  speech2text: Speech2Text;
  text2speech: Text2Speech;
  writeTextOnInput: (spokenText: string, inputTarget?: HTMLElement) => void;
  openCantooWebConfig: () => void;
  formatText: (html: string) => string;
  login: (login: string, password: string) => Promise<void>;
  logout: () => void;
  activate: () => void;
  deactivate: () => void;
  load: (params: CantooWebData) => void;
  addParameterChangeListener: (listener: (params: CantooWebData) => void) => void;
  removeParameterChangeListener: (listener: (params: CantooWebData) => void) => void;
  addUsageEventListener: (listener: (event: UsageEvent) => void) => void;
  removeUsageEventListener: (listener: (event: UsageEvent) => void) => void;
};

/**
 * Types de données pour la dictée vocale.
 */
type VocalDictationData = {
  lang?: string;
};

/**
 * Types de données pour la lecture vocale.
 */
type VocalReadingData = {
  lang?: string;
  voice?: string;
  rate?: number;
  delay?: number;
};

/**
 * Types de données pour les options de plugin.
 */
type PluginOptionsData = {
  textExtractionOnModal?: boolean;
  activeOptions?: Array<'vocalRecognition' | 'vocalSynthesis' | 'textCustomization' | 'translator' | 'dictionary' | 'visualAssistance' | 'floatingBar'>;
  language?: string;
};

/**
 * Interface définissant la structure des données de configuration Cantoo Web.
 * Cette interface est un enregistrement (Record) avec des clés spécifiques.
 */
interface CantooWebData {
  'vocal-dictation': VocalDictationData;
  'vocal-reading': VocalReadingData;
  'accessibility-options': AccessibilityOptions;
  'plugin-options': PluginOptionsData;
}

/**
 * Options d'accessibilité.
 */
interface AccessibilityOptions {
  wordSpacing?: number;
  syllableSpacing?: number;
  lineSpacing?: number;
  letterSpacing?: number;
  fontSize?: number;
  fontFamily?: string;

  syllableSeparator?: '|' | '-' | '/' | '+' | '·';
  colorByMode?: 'word' | 'syllable' | 'sound';
  colorSet?: string[];
  soundsColors?: { [sound: string]: string };
  soundsBackgroundColors?: Record<string, string>;
  specialStrategy?: {
    type?: 'bionic' | 'bounds' | 'sounds' | 'silent';
    bold?: boolean;
    color?: string;
  };

  vocalSynthesis?: boolean;
  vocalSynthesisSpeed?: number;
  vocalSynthesisFeedbackDelay?: number;
  vocalSynthesisKeyboardFeedback?: boolean;
  vocalSynthesisButtonFeedback?: boolean;
  vocalSynthesisLabelFeedback?: boolean;
  vocalSynthesisWritingFeedback?: boolean;

  magnifier?: boolean;
  magnifierZoom?: number;
  dictionary?: boolean;
  translator?: boolean;
  contrastMode?: 'highContrast' | 'darkMode';
  invertImages?: boolean;
  readBand?: boolean;
  bandWidth?: number;
  bandOpacity?: number;
}

đŸ—Łïž speech2text — Reconnaissance vocale (dictĂ©e)

/**
 * Gestion de la dictée vocale (reconnaissance vocale).
 */
interface Speech2Text {
  /**
   * Indique si la dictée est actuellement en cours.
   */
  isListening: boolean;

  /**
   * Démarre la reconnaissance vocale.
   *
   * @param onResult - Fonction appelée avec les résultats de la dictée.
   * @param localeProp - (optionnel) Code de langue à utiliser (ex: "fr-FR"). Si non fourni, la langue est déduite automatiquement.
   * @param onStartDownloadModel - (optionnel) Callback appelĂ© au dĂ©but du tĂ©lĂ©chargement d’un modĂšle vocal si nĂ©cessaire.
   * @param onEndDownloadModel - (optionnel) Callback appelĂ© Ă  la fin du tĂ©lĂ©chargement d’un modĂšle vocal.
   * @returns Une promesse qui se résout lorsque la dictée démarre.
   * @throws Une erreur si aucun locale n’est fourni ou dĂ©tectable, si la Speech API n’est pas disponible ou si les permissions sont refusĂ©es.
   */
  start: (
    onResult: (results?: string[]) => void,
    localeProp?: string,
    onStartDownloadModel?: () => void,
    onEndDownloadModel?: () => void
  ) => Promise<void>;

  /**
   * ArrĂȘte la reconnaissance vocale.
   * @returns Une promesse qui se rĂ©sout lorsque la dictĂ©e est arrĂȘtĂ©e.
   */
  stop: () => Promise<void>;
}

🔊 text2speech — Synthùse vocale (lecture de texte)

/**
 * Gestion de la synthĂšse vocale (text-to-speech).
 */
interface Text2Speech {
  /**
   * Liste toutes les voix disponibles sur le systĂšme.
   * @returns Un tableau de voix utilisables.
   */
  readVoices: () => Voice[];

  /**
   * Retourne une voix Ă  partir de son identifiant.
   * @param voiceId - Identifiant de la voix.
   * @returns L’objet SpeechSynthesisVoice correspondant.
   */
  getVoice: (voiceId: string) => SpeechSynthesisVoice;

  /**
   * Utterance en cours, si applicable.
   */
  utter: SpeechSynthesisUtterance;

  /**
   * Instance native de synthĂšse vocale, ou undefined si non disponible.
   */
  synth: SpeechSynthesis | undefined;

  /**
   * Lit un texte Ă  haute voix.
   * @param readText - Le texte Ă  lire.
   */
  readText: (readText: string) => void;

  /**
   * Configure les paramĂštres de synthĂšse vocale.
   * @param config - Objet de configuration.
   */
  setConfig: (config: {
    voice: string;
    lang: string;
    volume?: number;
    rate?: number;
    pitch?: number;
  }) => void;

  /**
   * RécupÚre la configuration actuelle de synthÚse vocale.
   * @returns Les paramÚtres configurés.
   */
  getConfig: () => {
    voice: string | undefined;
    lang: string;
    volume: number;
    rate: number;
    pitch: number;
  };
}

🧠 writeTextOnInput — Insertion de texte dictĂ©

/**
 * InsÚre un texte dicté dans un champ de saisie HTML.
 * 
 * @param spokenText - Le texte à insérer.
 * @param inputTarget - (optionnel) L'élément HTML cible. Si non défini, le focus actuel est utilisé.
 */
declare function writeTextOnInput(spokenText: string, inputTarget?: HTMLElement): void;

⚙ openCantooWebConfig — Ouverture de l’interface de configuration

/**
 * Ouvre l’interface de configuration utilisateur Cantoo Web.
 */
declare function openCantooWebConfig(): void;

🎹 formatText — Application des prĂ©fĂ©rences d’accessibilitĂ©

/**
 * Applique les prĂ©fĂ©rences d’accessibilitĂ© de l’utilisateur Ă  un contenu HTML.
 *
 * @param html - Le HTML d’origine.
 * @returns Le HTML transformé avec les préférences appliquées.
 */
declare function formatText(html: string): string;

🔐 login — Connexion utilisateur

/**
 * Connecte un utilisateur à la base de données Cantoo.
 *
 * ⚠ Un protocole doit ĂȘtre mis en place avec l’équipe Cantoo pour permettre l’enregistrement.
 *
 * @param login - Identifiant de l'utilisateur.
 * @param password - Mot de passe de l'utilisateur.
 * @returns Une promesse résolue à la fin de la connexion.
 */
declare function login(login: string, password: string): Promise<void>;

/**
 * DĂ©connecte l’utilisateur actuellement connectĂ©.
 */
declare function logout(): void;

🟱 activate — Activer Cantoo Web

/**
 * Active toutes les fonctionnalités de Cantoo Web sur la page.
 */
declare function activate(): void;

🔮 deactivate — DĂ©sactiver Cantoo Web

/**
 * Désactive toutes les fonctionnalités de Cantoo Web sur la page.
 */
declare function deactivate(): void;

đŸ“„ load — Charger les paramĂštres de configuration

/**
 * Charge les paramĂštres de configuration de Cantoo Web.
 *
 * @param params - Les paramĂštres de configuration Ă  charger.
 */
declare function load(params: CantooWebData): void;

👂 addParameterChangeListener — Ajouter un Ă©couteur de changement de paramĂštres

/**
 * Ajoute un écouteur pour les changements de paramÚtres de configuration.
 *
 * @param listener - Fonction appelée lors des changements de paramÚtres.
 */
declare function addParameterChangeListener(
  listener: (params: CantooWebData) => void
): void;

đŸ—‘ïž removeParameterChangeListener — Supprimer un Ă©couteur de changement de paramĂštres

/**
 * Supprime un écouteur de changement de paramÚtres précédemment ajouté.
 *
 * @param listener - L'écouteur à supprimer.
 */
declare function removeParameterChangeListener(
  listener: (params: CantooWebData) => void
): void;

📊 addUsageEventListener — Ajouter un Ă©couteur d'Ă©vĂ©nements d'utilisation

/**
 * Type d'événement d'utilisation de Cantoo Web.
 */
type UsageEvent =
  | "CANTOO_READ_TEXT"
  | "CANTOO_ADAPT_TEXT"
  | "CANTOO_DICTATE_TEXT"
  | "CANTOO_TRANSLATED_TEXT"
  | "CANTOO_DEFINED_TEXT";

/**
 * Ajoute un écouteur pour les événements d'utilisation de Cantoo Web.
 * Permet de suivre les actions effectuées par les utilisateurs.
 *
 * @param listener - Fonction appelée lors des événements d'utilisation.
 */
declare function addUsageEventListener(
  listener: (event: UsageEvent) => void
): void;

Exemple d'utilisation :

Cantoo.addUsageEventListener((event) => {
  console.log("ÉvĂ©nement d'utilisation:", event);
  // Exemple: "CANTOO_READ_TEXT" lorsqu'un utilisateur utilise la synthĂšse vocale
});

đŸ—‘ïž removeUsageEventListener — Supprimer un Ă©couteur d'Ă©vĂ©nements d'utilisation

/**
 * Supprime un écouteur d'événements d'utilisation précédemment ajouté.
 *
 * @param listener - L'écouteur à supprimer.
 */
declare function removeUsageEventListener(
  listener: (event: UsageEvent) => void
): void;

🎯 DĂ©sactivation sur certains Ă©lĂ©ments

đŸš« Classe CSS cantoo-ignore-vocal-recognition - DĂ©sactiver la reconnaissance vocale

Si vous souhaitez gĂ©rer manuellement la dictĂ©e vocale dans certains champs de saisie, vous pouvez utiliser la classe CSS cantoo-ignore-vocal-recognition. Vous pourrez alors crĂ©er votre propre bouton pour dĂ©clencher et arrĂȘter la reconnaissance vocale et l'ajouter Ă  votre propre barre d'outils

<!-- Cet input n'aura pas le bouton de dictée vocale inséré automatiquement -->
<input type="text" class="cantoo-ignore-vocal-recognition" />

Cette classe empĂȘche l’insertion automatique du bouton de dictĂ©e vocale dans l’élĂ©ment ciblĂ©. Vous pouvez ainsi utiliser les fonctions de l’API window.Cantoo.speech2text pour implĂ©menter votre propre logique de traitement, et placer le bouton dans votre barre d’outils ou Ă  l’emplacement de votre choix.

đŸš« Classe CSS cantoo-ignore-hover-events - DĂ©sactiver la barre d'outils au survol

Si vous souhaitez empĂȘcher l’affichage du Tooltip Cantoo lors du survol d’un Ă©lĂ©ment ou de ses enfants, ajoutez la classe CSS cantoo-ignore-hover-events Ă  cet Ă©lĂ©ment.

<!-- Aucun Tooltip Cantoo ne sera affiché lors du survol de cet élément ou de ses enfants -->
<div class="cantoo-ignore-hover-events">...</div>

Cette classe dĂ©sactive l’apparition du Tooltip Cantoo sur l’élĂ©ment ciblĂ© ainsi que sur tous ses descendants lors d’un survol avec la souris.

â„č Note : Il reste possible de sĂ©lectionner du texte dans ces Ă©lĂ©ments pour l’adapter, mĂȘme si le Tooltip n’apparaĂźt pas au survol.

đŸš« Classe CSS cantoo-ignore-all - DĂ©sactiver complĂštement Cantoo Web sur un Ă©lĂ©ment

Si vous souhaitez empĂȘcher toute interaction Cantoo Web (barre d'outils au survol et barre d'outils lors de la sĂ©lection) sur un Ă©lĂ©ment, ajoutez la classe CSS cantoo-ignore-all Ă  cet Ă©lĂ©ment.

<!-- Cantoo Web sera totalement désactivé sur cet élément -->
<div class="cantoo-ignore-all">...</div>

Cette classe dĂ©sactive Ă  la fois l’apparition du Tooltip Cantoo au survol et l’apparition de la barre d'outils lors de la sĂ©lection sur l’élĂ©ment ciblĂ© et ses descendants.

❓ Assistance

Pour toute question ou pour obtenir un nom de projet, veuillez contacter notre équipe Cantoo.

© Cantoo - Tous droits réservés.

FAQs

Package last updated on 10 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts