Canner pour ColdFusion et CFML.
Votre application ColdFusion n’est pas obligée de rester sur ColdFusion — ni en sol américain.
BoxLang est le successeur moderne et compatible CFML d’Adobe ColdFusion et de Lucee, conçu par l’équipe derrière ColdBox et CommandBox. Canner l’exécute depuis Montréal : poussez vos fichiers .cfm et .cfc et l’application passe en ligne sur une infrastructure de propriété canadienne — sans licence Adobe, sans Dockerfile, sans réécriture.
Le CFML fait tourner quantité de logiciels discrets mais essentiels — portails gouvernementaux, tarification en assurance, réception des réclamations, outils financiers administratifs — souvent écrits il y a des années et toujours fonctionnels. Deux problèmes se sont installés. Adobe ColdFusion est sous licence par cœur de processeur et la facture se renouvelle chaque année, que la feuille de route vous ait apporté quelque chose d’utile ou non; et le marché de l’hébergement CFML s’est réduit à une poignée de spécialistes, la plupart aux États-Unis. Si les données de cette application relèvent de la LPRPDE ou de la Loi 25 du Québec, un hébergement américain signifie aussi une exposition au CLOUD Act. BoxLang comble les deux écarts : il exécute votre CFML existant, il est à code ouvert, et Canner l’héberge à Montréal sur une infrastructure sans aucune affiliation américaine.
La licence se renouvelle, que vous vous en serviez ou non
Adobe ColdFusion est facturé par cœur de processeur, avec un abonnement annuel par-dessus pour les mises à jour et le soutien. Pour une application en mode maintenance — aucune nouvelle fonction, juste la garder en vie — c’est un coût récurrent sans contrepartie. Lucee retire les frais, mais pas l’environnement vieillissant ni la question de l’hébergement.
Un marché de l’hébergement en déclin
Le nombre d’hébergeurs prêts à exécuter un moteur CFML ne cesse de diminuer, et ceux qui restent sont surtout des serveurs Windows/IIS génériques ou des spécialistes américains. Aucun déploiement à la poussée, aucun environnement d’aperçu, aucune base de données gérée — et aucune option canadienne conçue pour la question de la résidence.
Des données réglementées sur une infrastructure indifférenciée
Les bastions du CFML — secteur public, assurance, services financiers — sont précisément les secteurs où une réponse sur la résidence des données et la juridiction du fournisseur est désormais attendue en approvisionnement. Une application ColdFusion sur un hébergeur américain ne peut pas en donner une claire.
Des déploiements qui restent un rituel manuel
Transférer les fichiers modifiés par FTP, redémarrer le service, espérer. Aucun historique de versions vers lequel revenir, aucun endroit isolé pour tester un changement avant qu’il n’atteigne les utilisateurs.
BoxLang exécute votre CFML
BoxLang interprète les fichiers .cfm et .cfc comme du CFML. Canner détecte une arborescence source CFML — gabarits, un Application.cfc ou un box.json — et installe automatiquement la couche bx-compat-cfml, qui rétablit les comportements hérités de l’environnement (lettres des masques de date, signatures des fonctions intégrées, alias de portée cfusion) dont dépend une véritable migration. La majorité du CFML s’exécute sans changement; les balises propres à Adobe comme cfdocument ou l’interopérabilité Java directe sont là où une base de code demande généralement un examen.
Aucune étape de compilation, aucun Dockerfile
Le MiniServer BoxLang sert votre répertoire source et compile les gabarits à la volée. Poussez le dépôt — ou glissez le dossier dans le tableau de bord, ou lancez la CLI — et Canner installe les modules ForgeBox listés dans votre box.json, puis démarre le serveur sur le port qu’il attribue. Il n’y a rien à conteneuriser.
Une source de données, hébergée à Montréal
Provisionnez une base Postgres gérée en un clic; Canner injecte sa chaîne de connexion. Ajoutez bx-postgresql à votre box.json et définissez la source de données dans Application.bx ou Application.cfc à partir de cette variable, et votre code cfquery existant continue de fonctionner — sur une base qui ne quitte jamais le Canada.
Des déploiements modernes, gardés simples
Connectez un dépôt GitHub pour un déploiement à chaque poussée, obtenez une URL d’aperçu pour chaque demande de tirage, et revenez à n’importe quelle version antérieure en une action. Le HTTPS avec TLS automatique, un domaine personnalisé et l’analytique de trafic sans témoins sont inclus. Les sessions et la portée cgi fonctionnent derrière la périphérie — Canner transmet les en-têtes de proxy.
Canner est de propriété entièrement canadienne et héberge uniquement à Montréal, au Québec — non assujettie au CLOUD Act américain. Déplacer une application ColdFusion ici lui donne un récit clair de résidence des données et de juridiction du fournisseur pour la LPRPDE, la Loi 25 et l’approvisionnement du secteur public. Une entente de traitement des données signée et une attestation de résidence sont disponibles pour votre dossier de conformité (incluses avec Studio, ou via le module Souveraineté et garantie de service sur n’importe quel forfait). BoxLang est lui-même un logiciel à code ouvert d’Ortus Solutions; Canner fournit l’infrastructure canadienne sur laquelle il s’exécute et les documents attestant où résident votre application et ses données.
Mon code CFML existant fonctionnera-t-il sans changement?
La majeure partie. BoxLang est compatible CFML et Canner ajoute automatiquement la couche bx-compat-cfml pour les projets CFML, ce qui couvre l’essentiel de la syntaxe héritée en balises et en script, les fonctions intégrées et le comportement des portées. Les éléments qui demandent généralement une attention sont les fonctions propres à Adobe (cfdocument / génération de PDF, cfreport, certains contrôles cfform) et tout code qui accède directement à Java ou aux composants internes de ColdFusion. Une petite application se déplace souvent en un après-midi; une grande mérite d’être cadrée d’abord.
Adobe ColdFusion, Lucee ou BoxLang — lequel Canner exécute-t-il?
BoxLang, via son MiniServer. Il lit directement vos fichiers .cfm et .cfc — ce n’est pas un serveur Adobe ColdFusion ou Lucee, et il n’y a aucun déploiement J2EE. Pour du CFML écrit selon les conventions courantes de Lucee ou d’ACF, la couche de compatibilité comble l’essentiel de l’écart; le code réellement propre à un moteur est l’exception à vérifier.
Qu’arrive-t-il à mes <cfquery> et à ma base de données?
Provisionnez une base Postgres gérée sur Canner (une par projet, hébergée à Montréal) et Canner injecte DATABASE_URL. Ajoutez bx-postgresql à box.json et définissez votre source de données dans Application.bx / Application.cfc à partir de cette variable; cfquery et queryExecute() fonctionnent alors comme avant. Si vous devez conserver une base externe existante pour l’instant, votre application peut s’y connecter à la place.
Ai-je besoin d’un box.json ou d’un server.json?
Non. Un dossier de fichiers .cfm / .cfc avec un Application.cfc se déploie tel quel. Un box.json n’est nécessaire que si vous voulez des modules ForgeBox (un pilote JDBC, un module de courriel, ColdBox) installés pendant la compilation — Canner le lit et les installe automatiquement.
J’ai des tâches planifiées (<cfschedule>). Puis-je les garder?
Déplacez chacune vers une tâche planifiée Canner : une expression cron qui appelle une URL de votre application selon un minuteur, avec réessais, délais et historique d’exécution. Dirigez-la vers un point de terminaison .cfm qui fait le travail. Il n’y a pas de planificateur intégré au moteur, par choix — la tâche survit à tout redémarrage de l’application.
Quel forfait me faut-il, et combien coûte-t-il?
BoxLang s’exécute sur la JVM, il faut donc un forfait payant pour la mémoire et le budget de compilation — Live, à 9 $ CA / mois, est le point d’entrée. Cela comprend une base Postgres gérée, des domaines personnalisés avec TLS automatique et deux projets toujours actifs. Aucune licence par cœur, aucuns frais par utilisateur.
Bâtissez sans le casse-tête de la souveraineté.
Parlez-nous de votre cas d’usage et nous vous aiderons à le cadrer — d’un simple outil interne au déploiement à l’échelle du cabinet. Pour les projets détaillés ou réglementés, cela joint notre équipe directement.