Nouveautés
Ce qui est livré chez Canner.
Nous sommes en ligne depuis le début mai 2026 et livrons presque chaque jour. La liste ci-dessous est tenue à la main — extraite des déploiements en production, pas d'un flux automatisé. Abonnement RSS à venir. D'ici là, revenez nous voir, ou suivez hello@canner.ca.
Déployez BoxLang — des applications CFML sur la JVM
- BoxLang (boxlang.io) — le langage JVM moderne compatible CFML — se déploie maintenant directement depuis votre dépôt. Un box.json, un server.json, un Application.bx/.cfc ou un gabarit .bxm/.cfm suffit à Canner pour le détecter.
- Aucune étape de compilation : le MiniServer BoxLang sert votre source et compile à la volée, les modules de box.json s'installent automatiquement depuis ForgeBox, et les en-têtes de proxy sont pris en charge pour que les sources de données et les sessions fonctionnent derrière la périphérie. S'exécute sur Java 21; forfait Live ou plus. Guide à /fr/docs/other-runtimes.
Déployez Java — Spring Boot, Maven et Gradle
- Java se déploie maintenant comme le reste. Poussez un projet Maven ou Gradle — Spring Boot compris — et Canner le détecte, compile le JAR et l'exécute. Sans Dockerfile, sans configuration.
- Le JDK est choisi d'après votre configuration de compilation : déclarez Java 17, 21 ou 25 (via maven.compiler.release, java.version ou une chaîne d'outils Gradle) et Canner utilise un environnement Temurin correspondant de bout en bout — à la compilation comme à l'exécution.
- Offert à partir de Démarrage, sur la même infrastructure canadienne que tous les autres environnements. Guide complet à /fr/docs/other-runtimes.
Choisissez votre version de Postgres — 17 ou 18
- Au moment de provisionner une base, vous pouvez désormais choisir Postgres 17 (par défaut) ou Postgres 18. Les bases existantes restent sur leur version de création; rien ne change à moins que vous ne le choisissiez.
- L'onglet Base de données affiche la version exacte en exécution (par exemple, 17.9), pour que vous sachiez précisément où vous en êtes, pas seulement la version majeure.
Membres d'équipe, permissions détaillées et mode sombre
- Invitez des personnes dans votre organisation. Les membres se connectent avec leur propre compte — clé d'accès, mot de passe ou connexion sociale — et vous décidez, par section et par projet, si chacun peut consulter ou modifier. La gestion des membres demeure réservée aux administrateurs.
- Vous appartenez à plus d'une organisation? Un sélecteur d'organisation dans la barre latérale vous fait passer de l'une à l'autre, et chaque limite de forfait est comptée une fois par organisation, jamais par personne.
- Les sièges sont facturés à mesure que vous les ajoutez : une invitation au-delà des sièges inclus dans votre forfait ajoute des frais de siège calculés au prorata, et retirer un membre le libère. Démarrage et Live incluent un nombre illimité de sièges. Guide complet à /fr/docs/members.
- Également nouveau : le mode sombre dans tout le tableau de bord. Suivez votre système, ou choisissez clair ou sombre depuis la barre supérieure.
Travailleurs en arrière-plan, et PHP 8.3 avec Laravel
- Nouveau : les projets travailleurs. Un robot, un consommateur de file d'attente ou tout processus de longue durée qui n'est pas un serveur web peut maintenant s'exécuter sur Canner sans vérification d'état ni URL publique — il tourne, tout simplement. Marquez un projet comme travailleur dans ses paramètres, ou redéployez-en un existant comme tel.
- PHP 8.3 avec une compilation Laravel + Vite combinée : une application Laravel dont les ressources frontales sont compilées par Vite installe et compile désormais les deux côtés en une seule passe, puis sert par PHP.
Journal d'audit — un registre inaltérable de ce qui s'est passé
- Chaque action significative dans votre organisation — déploiements, changements de membres et de permissions, modifications de domaines et de facturation — est désormais consignée dans un journal d'audit inaltérable, propre à votre organisation, indiquant qui a fait quoi et quand. Les entrées ne peuvent être ni modifiées ni supprimées.
- Inclus sur Studio et Entreprise, conservé 13 mois et exportable — la trace qu'exige une revue interne ou une demande de reddition de comptes au titre de la Loi 25. Guide complet à /fr/docs/audit-log.
Factures TPS/TVQ émises par Canner
- Chaque paiement s'accompagne maintenant d'une véritable facture Canner — numérotée, avec la TPS et la TVQ présentées sur des lignes distinctes et nos numéros d'inscription du Québec. Téléchargez-les toutes, à tout moment, depuis Facturation.
- Les prix sont affichés avant taxes : la TPS et la TVQ s'ajoutent au paiement pour les nouveaux abonnements et ceux qui changent, au taux exigé par votre province (TPS seulement hors Québec, aucune taxe hors du Canada). Les abonnements existants conservent leur total actuel jusqu'à leur prochain changement de forfait.
Nouveaux tarifs : deux échelles claires, et des ressources à la carte
- Les tarifs forment maintenant deux échelles. Pour les créateurs : Démarrage (gratuit) et Live (9 $ CA/mois). Pour les équipes et les entreprises : Studio (149 $ CA/mois) et Entreprise (sur devis). Vous choisissez l'échelle qui correspond à votre raison d'être ici, pas une grille de paliers qui se chevauchent.
- Studio est le forfait d'équipe : 10 applications toujours actives, des membres d'équipe avec permissions détaillées, le journal d'audit et les documents de conformité (entente de traitement des données + attestation de résidence au Québec) inclus.
- Les ressources sont désormais des modules, pas un motif de sauter un palier entier : une application toujours active de plus (4 $ CA/mois), un bloc de performance de 4 Go de RAM + 2 vCPU (69 $ CA/mois), +25 Go de stockage (5 $ CA/mois) et des postes supplémentaires (5 $ CA/mois). Ajoutez ce dont vous avez besoin, là où vous êtes.
- Les abonnés existants conservent le prix auquel ils se sont inscrits. L'ancien palier Dédié devient Studio; rien à votre forfait actuel ne change sans que vous le choisissiez.
Clés d'accès, connexion sociale et Canner Auth
- Connectez-vous à Canner avec une clé d'accès — empreinte, visage ou NIP de l'appareil. Ajoutez-en une depuis Compte; elle devient ensuite la méthode attendue, et nous vous écrivons si quelqu'un entre sans elle.
- Connexion Google et Microsoft, liable depuis votre page de compte.
- Voyez chaque appareil où vous êtes connecté et déconnectez-en n'importe lequel.
- Nouveau : Clé d'accès (Canner Auth) — ajoutez la connexion par clé d'accès à VOTRE application sans base de données d'utilisateurs. Offert sur tous les forfaits, y compris le forfait gratuit.
Node.js 24 est maintenant disponible
- Vous pouvez désormais compiler et exécuter votre application sur Node.js 24 (24.18.0 LTS) en plus de Node.js 22. Choisissez la version sous Version de Node.js dans les paramètres de votre projet; Node 22 demeure la valeur par défaut, donc rien ne change à moins que vous ne changiez.
- La version s'applique à la compilation et à l'application en exécution, donc un projet qui a besoin des fonctionnalités de Node 24 en profite de bout en bout — pas seulement à la compilation.
- Changer de version déclenche une réinstallation complète au prochain déploiement. Les dépendances natives sont compilées pour une version précise de Node et ne peuvent donc pas être réutilisées — après cette première compilation, la mise en cache reprend normalement.
- Si votre package.json définit une plage engines.node, la compilation vous indique désormais précisément quelles versions sont disponibles au lieu d'échouer sur une version que vous ne pouvez pas choisir.
Votre application vit maintenant à votre-projet.canner.app
- Votre application obtient désormais une adresse canner.app plutôt que app.canner.ca — par exemple, mon-projet.canner.app. Le changement se fait à votre prochain déploiement; d'ici là, rien ne change.
- Votre ancienne adresse continue de fonctionner, en permanence. Chaque application répond aux deux, donc les liens, favoris et codes QR existants ne sont pas touchés. Vous n'avez rien à faire.
- Pourquoi : les systèmes de sécurité des navigateurs évaluent un domaine entier d'un coup. Héberger les applications clientes sous canner.ca signifiait qu'une seule page abusive pouvait affecter l'adresse de toutes les autres — et en juillet, c'est arrivé. Les applications clientes vivent maintenant sur leur propre domaine, pour que cela ne puisse plus se reproduire.
Sauvegardez votre app directement depuis votre outil d’IA — MCP distant + jetons limités
- Nouveau : un serveur MCP distant à https://api.canner.ca/mcp. Les outils d’IA qui s’exécutent dans le navigateur — Lovable, Bolt, v0 — se connectent à un serveur Model Context Protocol par URL; vous pouvez donc désormais en pointer un vers Canner, vous authentifier avec un jeton API et dire à votre agent « sauvegarde mon app sur Canner ». Il crée un projet et déploie votre code sur une infrastructure canadienne, depuis la conversation.
- Nouveaux outils : canner_create_project et canner_save_app. L’agent envoie directement le code source complet de votre projet (aucun dépôt requis) et Canner le compile et l’héberge. Treize outils MCP au total; @canner-ca/mcp pour les agents de bureau (Claude Desktop, Cursor, Claude Code) relaie désormais le même point de terminaison.
- Nouveau : jetons API limités. Générez un jeton restreint à l’accès projet + déploiement — ni facturation, ni gestion de jetons — pour qu’un identifiant collé dans un outil tiers ne puisse rien faire de plus que déployer. Les jetons existants sont inchangés et conservent l’accès complet. Voir /fr/mcp pour commencer.
La mise en cache, améliorée : un fournisseur Astro natif, le mode brouillon et « stale-while-revalidate »
- Nouveau : un fournisseur de cache Astro 7 natif. @canner-ca/astro-cache intègre désormais Canner à la mise en cache des routes d'Astro comme fournisseur de première classe — la même API Astro.cache.set() que sur Netlify, Vercel ou Cloudflare, dirigée vers Canner. Configurez-le une fois et mettez en cache par route, avec purge par étiquette et par URL via un seul jeton.
- Nouveau : le mode brouillon. Prévisualisez du contenu CMS non publié sur sa vraie URL sans vider ce que voient les autres — une requête portant le secret de contournement de votre projet est rendue à neuf depuis l'origine pendant que le public garde la page en cache. Transportez le secret dans un témoin, un lien ?__canner_bypass= ou un en-tête X-Canner-Bypass; des utilitaires clé en main sont fournis pour Astro, Next.js et Nuxt.
- Nouveau : « stale-while-revalidate ». Passé le TTL d'une page, Canner sert la copie périmée instantanément et la rafraîchit une fois en arrière-plan — aucun visiteur n'attend jamais un rendu à froid. Ajoutez stale-while-revalidate à votre Cache-Control (ou swr aux utilitaires) pour l'activer.
- Aussi : invalidation par URL (pas seulement par étiquette) — envoyez {"paths":["/blog/post"]} au point de terminaison de purge. La mise en cache est désormais documentée pour ce qu'elle est : indépendante du cadriciel et du CMS, DatoCMS n'étant qu'un exemple parmi d'autres. Guide complet à /fr/docs/caching.
Requêtes SQL planifiées — du SQL sur vos bases selon un cron
- Nouveau : les requêtes SQL planifiées. Écrivez du SQL, définissez une planification cron, et Canner l'exécute sur vos bases de projet à Montréal — en lecture et en écriture, en les nommant (projet.schema.table), en joignant plusieurs projets et en écrivant les résultats directement dans votre Postgres. Sans outil ETL externe, sans que les données quittent le Canada. C'est le pendant SQL des tâches planifiées (qui appellent un webhook). Offert sur tous les forfaits sous Calcul → Requêtes planifiées; guide complet à /fr/docs/scheduled-queries.
- Chaque exécution est isolée : un moteur en mémoire avec plafond de mémoire et délai par requête, l'accès au système de fichiers local désactivé, et un accès limité aux seules bases que votre compte possède. Historique, exécution immédiate, suspension/reprise et annulation sont dans le tableau de bord.
- Renforcement de la sécurité : les requêtes de l'Atelier de données s'exécutent désormais avec le système de fichiers local désactivé partout, fermant tout accès aux fichiers de l'hôte depuis le SQL utilisateur.
Une vraie documentation, et un prix Live à la hauteur de ce qu'il est
- Une documentation complète est en ligne à /fr/docs : guides de démarrage pour chaque cadriciel et environnement pris en charge (Next.js, Vite, Astro, Node, Python, Go, Ruby, PHP, Rust, statique), guides pour les domaines, bases de données et variables d'environnement, et une page de dépannage qui décode les messages d'erreur exacts d'un journal de build. Entièrement bilingue.
- Live passe à 9 $ CA/mois ou 99 $ CA/année. Les abonnés Live existants conservent leur prix d'origine — le changement s'applique aux nouveaux abonnements seulement. Démarrage reste gratuit, Dédié reste dès 29 $ CA.
Tarifs simplifiés : Démarrage, Live et Dédié facturé à l'usage
- Trois forfaits au lieu de quatre. Démarrage est gratuit et se met en veille au repos; Live, c'est 4,90 $ CA/mois fixe pour l'hébergement toujours actif, les domaines personnalisés et l'IA; Dédié est facturé à l'usage dès 29 $ CA et évolue sans plafond.
- Dédié facture équitablement : vous payez la mémoire ou le stockage — celle que vous utilisez le plus, jamais les deux — vous ne payez que pour ce que vous utilisez réellement.
- Le Python d'apprentissage automatique (PyTorch, TensorFlow) et Rust fonctionnent maintenant sur Live, pas seulement sur le forfait supérieur. Les documents de conformité et l'export des journaux d'audit sont inclus sur Dédié.
Une API REST documentée, une spécification OpenAPI et un serveur MCP pour agents IA
- L'API Canner est maintenant une véritable surface REST sous /v1, décrite par une spécification OpenAPI 3.1 avec une référence interactive à api.canner.ca/docs. Gérez projets, déploiements, domaines, bases de données, variables d'environnement et facturation depuis votre propre code. Un nouveau guide pour développeurs se trouve à canner.ca/developers.
- Réponses d'erreur cohérentes (un code stable, un message et un request_id), en-têtes de limite de débit sur chaque réponse et pagination par clé sur les points de terminaison de liste. Les chemins existants du tableau de bord et de la CLI continuent de fonctionner sans changement.
- Nouveau @canner-ca/mcp : un serveur Model Context Protocol qui donne aux agents IA — Claude Desktop, Cursor et autres — des outils natifs pour déployer et gérer vos projets. Zéro dépendance, fidèle à la chaîne d'approvisionnement propre de Canner. Voir canner.ca/mcp.
- La @canner-ca/cli gagne un mode de sortie --json pour les scripts et les agents, ainsi que de nouvelles commandes token, env et domains.
Déployez Python, Go, Ruby, PHP et Rust — pas seulement Node
- Python se déploie maintenant comme le reste, avec FastAPI, Flask, Streamlit, Gradio et Django détectés automatiquement. Déposez une démo IA Gradio ou Streamlit et obtenez une URL en direct.
- Go, Ruby (Rails, Sinatra), PHP (Laravel, Symfony) et Rust s'ajoutent aussi à la liste — sans configuration, détection automatique.
- Plus de cadres JavaScript reconnus d'emblée : Angular, Create React App, Gatsby et Docusaurus, ainsi que les applis full-stack qui exécutent leur propre serveur.
- Le Python d'apprentissage automatique (PyTorch, TensorFlow) et Rust sont offerts sur Pro et Entreprise.
Forfait Entreprise, documents de conformité et un blogue en français
- Nouveau forfait Entreprise avec serveur dédié, soutien prioritaire et engagement de disponibilité de 99,9 %.
- Une entente de traitement des données et une attestation de résidence des données au Québec sont maintenant offertes en modules uniques — incluses sur Entreprise.
- Le blogue complet est maintenant offert en français, et la page de tarifs propose une comparaison côte à côte plus claire.
Mise en cache des réponses avec purge ciblée
- Mise en cache HTTP par étiquettes (optionnelle), servie depuis l'infrastructure de Canner au Québec — pas un réseau de périphérie étranger. Offerte sur tous les forfaits.
- Une publication depuis un CMS découplé peut purger exactement les pages touchées via un webhook par projet. Le taux de succès du cache est affiché sur chaque projet.
Isolation des compilations renforcée
- Chaque compilation s'exécute en isolation complète sous sa propre identité, avec les scripts d'installation et l'accès réseau verrouillés par défaut. Les journaux signalent maintenant clairement une compilation à court de mémoire plutôt qu'un échec générique.
Atelier de données — analytique SQL sur vos téléversements
- Téléversez du CSV, Parquet ou JSON et exécutez du SQL standard dessus en millisecondes, directement depuis le tableau de bord. Inclus sur tous les forfaits, avec limites de stockage et de requêtes par palier.
Téléversements par glisser-déposer et un outil en ligne de commande
- Déployez sans Git : glissez un dossier ou un .zip sur la page d'accueil, ou téléversez depuis le tableau de bord. Un site statique (un dossier avec un index.html) se déploie instantanément, sans étape de compilation.
- Nouveau @canner-ca/cli : exécutez npx @canner-ca/cli deploy depuis n'importe quel terminal — y compris dans Cursor — pour déployer le dossier courant.
Tarifs : Démarrage gratuit permanent, .com ajouté à l'offre de domaine
- Démarrage est maintenant un forfait gratuit permanent, et non plus un essai de 30 jours. Les ressources de Démarrage sont mutualisées entre les comptes gratuits et déprioritisées quand des compilations payantes sont en file.
- De base et Pro sont facturés immédiatement à l'inscription — fini l'essai de 30 jours. Ce que vous prenez est ce que vous payez dès le premier jour.
- Offre de domaine gratuit étendue au .com : De base inclut .com ou .ca au mensuel, plus .quebec à l'annuel; Pro inclut .com, .ca ou .quebec sur les deux intervalles.
Achat de domaine : formulaire CIRA CPR et reconnaissance Québec
- Nouveau formulaire d'inscrit sur la modale de paiement de domaine, avec menu déroulant CIRA CPR (Exigences de présence canadienne) pour les domaines .ca.
- Étape de reconnaissance Québec pour les domaines .quebec. Message convivial sur erreur 409 lorsque le nom vient d'être enregistré par un autre client.
Bascule de facturation annuelle + crédit .ca / .quebec gratuit
- La page de facturation propose maintenant les intervalles mensuel et annuel. L'annuel économise deux mois par rapport au mensuel.
- De base annuel et Pro (les deux intervalles) incluent l'enregistrement gratuit d'un domaine .ca ou .quebec, appliqué au paiement.
Démarrage à froid, réveil et prévisualisations plus fiables
- Les projets inactifs s'endorment et se réveillent automatiquement à la requête suivante — sans surprise au démarrage à froid. Les journaux d'exécution en direct et les prévisualisations sur demande de tirage fonctionnent maintenant de façon cohérente.
Métriques par projet, prévisualisations sur PR, systemd par locataire, page d'état publique
- Métriques de trafic horaires par projet avec répartition par statut, affichées en graphique sur la page du projet.
- Déploiements de prévisualisation sur les demandes de tirage. Chaque PR reçoit une exécution dédiée à <branche>--<slug>.app.canner.ca, démantelée à la fermeture.
- Chaque projet s'exécute maintenant sous son propre utilisateur système isolé, pour une meilleure séparation entre les locataires.
- Page d'état publique à canner.ca/status, rendue côté serveur avec un cache de 10 secondes côté plateforme.
Facturation Stripe, domaines personnalisés avec TLS auto, cadres logiciels génériques, jetons API
- Facturation Stripe intégrée de bout en bout. Ajoutez une carte et abonnez-vous à un forfait payant en quelques clics.
- Domaines personnalisés avec émission TLS Let's Encrypt automatique via Caddy. Pointez votre CNAME et le certificat apparaît en quelques secondes.
- Détection générique de cadre : Next.js, Vite (React, Vue, Svelte) et applications Node.js standard se compilent et s'exécutent sans configuration.
- Jetons API (cnr_…) pour l'accès programmatique. Points d'API de relance, annulation et retour en arrière sur chaque déploiement.
- Tableau de bord bilingue français / anglais. Suppression de compte (annule l'abonnement, supprime toutes les bases et exécutions locataires).