Après avoir passé ma carrière à écrire des logiciels et avoir souvent eu beaucoup de mal avec le design, depuis que j'ai rejoint l'équipe Adalo il y a quelques mois, j'ai été très impressionné par la facilité avec laquelle il est possible de créer et de câbler des interfaces utilisateur en utilisant le générateur d'applications Adalo. Adalo est un générateur d'applications sans code pour les applications web pilotées par base de données et les applications iOS et Android natives—une version sur les trois plateformes, publiée sur l'App Store Apple et Google Play. Pour être honnête, j'avais toujours cru que les générateurs d'applications sans code étaient limités à la création d'applications et de tableaux de bord de style CRUD (créer, récupérer, mettre à jour, supprimer) assez simples.
Avec Noël qui approche à grands pas, et étant du type de nerd qui aime automatiser les choses sans raison particulière, il y a quelques jours, j'ai commencé à me demander s'il serait possible de créer une application Adalo qui pourrait contrôler les lumières du sapin de Noël de ma famille. Elles sont déjà connectées avec une prise intelligente et notre appareil Alexa de cuisine et peuvent donc être allumées et éteintes avec la commande « Alexa, allume le sapin de Noël », mais vous savez quoi, c'est mieux qu'une seule intégration de domotique ? Deux. Ce qui suit est un résumé de ma quête pour créer et lancer une application mobile de gestion des lumières du sapin de Noël en utilisant Adalo, du ruban adhésif et un mauvais jugement.
L'application sera disponible pendant quelques jours à partir de lundi 16 décembre et peut être périodiquement hors ligne en raison du fait que je ne suis pas à la maison (peur du feu), ma femme me menaçant de m'étrangler pour l'avoir rendu public, ou les problèmes techniques évidents qui pourraient survenir. Consultez-la à https://xmas.wjgilmore.com.
Présentation de l'Application
L'application s'appelle de façon créative l'Application Adalo XMAS Tree. Elle consiste en quelques thèmes, deux boutons pour basculer les lumières de Noël et une diffusion en direct YouTube afin que vous puissiez regarder l'action en temps réel. Mais ces boutons, oh ces boutons sont pratiquement irrésistibles. Vous ne pouvez tout simplement pas vous empêcher de les appuyer et de voir ce sapin s'éclairer en réaction ou d'imaginer ma femme gémissant après l'avoir vu s'éteindre encore une fois.
Hier soir, nous regardions la série Apple Silo (saison 2, regardez-la, c'est incroyable), et je me suis retrouvé dans une lutte acharnée avec un intrus numérique inconnu. Je crois savoir qui c'était (Allison, ne pense pas que je ne sais pas que c'était toi !), mais de toute façon le terroriste du sapin l'éteindrait. Et je l'allumerais à nouveau. Quelques instants plus tard, le Grincheux était de retour et les lumières étaient éteintes à nouveau. Et je combattrais à nouveau vaillamment, illuminant le salon une fois de plus. On dit que les héros ne naissent pas mais sont forgés dans les guirlandes, et j'en suis la preuve vivante.
Je parie que vous en salivez à l'idée d'appuyer sur ces boutons. Eh bien, allez-y. Accédez à https://xmas.wjgilmore.com et appuyez sur les boutons. AVERTISSEMENT : Je n'ai aucune idée de combien de temps cela va rester disponible avant d'être mis hors ligne par mon fournisseur d'accès Internet, une erreur de programmation, ou franchement ma femme.

Pourquoi Adalo Fonctionne pour les Applications de Maison Intelligente
Construire une application de contrôle IoT peut sembler complexe, mais le générateur visuel d'Adalo le rend étonnamment simple. La plateforme gère le travail lourd—la compilation d'applications natives, les intégrations d'API et la gestion des bases de données—tandis que vous vous concentrez sur les parties amusantes comme la conception de boutons qui contrôlent votre sapin de Noël. Avec plus de 3 millions d'applications créées sur la plateforme, il existe un historique éprouvé de projets allant des utilitaires simples aux applications commerciales complexes.
Ce qui rend Adalo particulièrement adapté à ce type de projet est la combinaison d'une intégration API facile et de la capacité à publier directement sur les app stores. Vous ne construisez pas un wrapper web qui semble lent sur mobile—vous créez une véritable application native qui répond instantanément lorsque quelqu'un à travers le monde décide de s'amuser avec vos décorations de vacances.
Dialogue avec la Prise Intelligente
Parce qu'en 2026 nous ne pouvons pas nous déranger à nous pencher pour brancher et débrancher une guirlande lumineuse, j'ai utilisé une prise intelligente TP-Link KP115 pour contrôler les lumières via Alexa. C'est un processus assez simple, mais à ma connaissance, il n'y a aucun moyen officiel d'interagir avec la prise en dehors d'Alexa et de l'horrible application du fabricant. GitHub à la rescousse ! Comme prévu, un programmeur bienveillant a rétro-ingéniérisé le protocole de communication de la prise et l'a emballé dans un pratique paquet Python appelé python-kasa. Pour installer python-kasa, exécutez :
pip install python-kasa
Une fois installé, vous pouvez commencer à interroger votre réseau local d'appareils pris en charge en utilisant la discover commande :
kasa discover
Donc non seulement vous pouvez facilement identifier l'adresse IP attribuée à chaque appareil, mais vous pouvez également déterminer s'il est allumé, depuis combien de temps il est à l'état allumé ou éteint, et combien d'énergie il a consommée à la fois pour le mois en cours et depuis le dernier redémarrage. Plutôt cool !
Une fois que vous connaissez l'adresse IP de l'appareil, il est facile de l'allumer et de l'éteindre :
kasa --host 192.168.1.100 on kasa --host 192.168.1.100 off
Création d'une API
Mon objectif ultime était de contrôler cette prise via une application mobile Adalo qui pourrait vraisemblablement être accessible de n'importe où dans le monde, y compris du Pôle Nord. Cela signifie ouvrir une connexion Internet de mon réseau domestique au monde extérieur. Soyez clair : il y a les bonnes façons de faire cela, et il y a les mauvaises façons. La façon dont je suis sur le point de vous montrer est très, très mauvaise, et mon fournisseur de services Internet domestique fermera probablement notre connexion pour l'avoir fait de cette façon.
La version la plus simple de cette API a besoin, à mon avis, de trois points de terminaison : status, on et off. Le point de terminaison status nous indique si la prise est allumée ou éteinte, tandis que les points de terminaison on et off sont explicites. J'ai utilisé Flask pour créer l'API et j'ai trouvé qu'elle était très facile à utiliser. Pour créer un point de terminaison, il suffit de définir l'URI de la route, puis la méthode qui suit immédiatement est exécutée lorsque ce point de terminaison est demandé.
Croyez-le ou non, cela suffit pour créer une API Flask fonctionnelle :
from flask import Flask app = Flask(__name__)@app.route('/status')
Enregistrez ce fichier sous status.py ou autre, puis démarrez le serveur Flask comme ceci :
flask —app status run
Parce que les routes Flask sont par défaut des demandes GET, vous pouvez simplement ouvrir votre navigateur et accéder à http://127.0.0.1:5000/status pour le tester. En supposant qu'il n'y a pas d'erreurs de syntaxe, vous devriez voir la chaîne hello affichée dans le navigateur.
Dans le cas de mon projet, j'avais besoin que les points de terminaison de l'API exécutent des commandes python-kasa, j'ai donc utilisé le module subprocess de Python pour exécuter des commandes shell. Pour les besoins de ce projet, je peux m'en tirer en jouant les choses un peu rapidement et sans rigueur, cependant si vous essayez jamais quelque chose de similaire et avez besoin de passer des paramètres dans la commande shell, alors il est extrêmement important que vous validiez les données avant de le faire. Voici le script Flask complet utilisé pour ce projet :
from flask import Flask import subprocessapp = Flask(name)
@app.route('/status')
@app.route('/on')
@app.route('/off')
Dialogue avec le Monde Extérieur
Vous avez probablement remarqué que l'API Flask s'exécute sur localhost, ce qui signifie qu'elle n'est pas accessible au monde extérieur. Pour rendre cette API accessible ailleurs, j'utilise un service appelé ngrok. ngrok existe depuis aussi longtemps que je me souvienne, et en résumé, il exposera un serveur de développement local sur Internet (entre autres choses). En utilisant ngrok, nous pouvons exposer le port 5000 de mon serveur local à un sous-domaine ngrok.app aussi facilement qu'en exécutant cette commande :
ngrok http 5000
Maintenant, je peux accéder à mon point de terminaison ngrok depuis n'importe quel réseau et il transférera les requêtes vers et depuis mon API !
Routage des requêtes via DreamFactory
Pour des raisons de sécurité et de flexibilité, j'ai ensuite acheminé le point de terminaison ngrok via DreamFactory. DreamFactory est surtout connu comme un wrapper de base de données capable d'exposer rapidement une API REST de niveau entreprise, mais il peut faire toutes sortes d'autres choses intéressantes, comme étendre les capacités des API existantes. J'ai utilisé le connecteur de service script de DreamFactory car j'ai pensé qu'il serait amusant d'intégrer d'autres capacités à l'application à l'avenir, comme la température actuelle au Pôle Nord. Faire cela est incroyablement facile avec DreamFactory car je peux simplement ajouter de nouveaux points de terminaison à mon service script.
Le connecteur de services script de DreamFactory supporte les langages PHP, Python et NodeJS, et comme je maîtrise le mieux l'API basée sur PHP de la plateforme, j'ai opté pour celui-ci :
$api = $platform[‘api’]; $get = $api->get; $post = $api->post;$api->get('/status', function() {https://your-ngrok-url.ngrok.app/status');
$api->get('/on', function() {https://your-ngrok-url.ngrok.app/on');
$api->get('/off', function() {https://your-ngrok-url.ngrok.app/off');
$api->get('/temperature', function() {
Juste pour l'illustration, j'ai étendu ce qui est exposé via l'API Flask en ajoutant un /temperature point de terminaison qui, lorsqu'il est demandé, retournera « Freezing ».
Après avoir sauvegardé ces modifications, j'ai ajouté un contrôle d'accès basé sur les rôles à l'API DreamFactory et j'ai ensuite généré une clé API. Les points de terminaison de l'API DreamFactory ne sont maintenant accessibles qu'en fournissant la clé API qui est fournie via un en-tête HTTP sécurisé.
Intégration de l'API et de l'application Adalo
L'une de mes fonctionnalités préférées du générateur Adalo est la facilité avec laquelle il est possible de lier les événements aux actions des utilisateurs. Par exemple, lorsque vous cliquez sur le bouton « Allumer l'arbre », un appel API au /on point de terminaison doit se produire. Ceci est réalisé aussi facilement que d'ajouter une « action » au bouton et d'indiquer quel type d'événement doit se produire pour que cette action s'exécute. De plus, vous pouvez définir plusieurs actions comme indiqué dans cette capture d'écran (prise à partir de l'application réelle) :

L'appel API est envoyé au point de terminaison DreamFactory mentionné précédemment. Là encore, l'appel est sécurisé en transmettant une clé API via l'en-tête HTTP. Définir cet appel est réalisé via un simple assistant web, dont une étape est montrée dans la capture d'écran suivante :

Cette approche visuelle de l'intégration d'API est ce qui rend la plateforme Adalo si accessible. Vous n'écrivez pas de requêtes fetch ou ne déboguez pas les erreurs CORS—vous cliquez sur un assistant qui gère la complexité technique. Les améliorations de vitesse 3-4x depuis la refonte de l'infrastructure Adalo 3.0 signifient que ces appels API s'exécutent rapidement, gardant l'application réactive même lors du contrôle du matériel à l'autre bout du monde.
Comptage de la fréquence de basculement des lumières
J'ai pensé qu'il serait amusant de suivre le nombre de fois que les utilisateurs ont allumé et éteint les lumières. Je pourrais faire cela dans l'API Flask locale en utilisant SQLite, mais j'ai pensé qu'il était judicieux de garder ce décompte plus proche de l'application et donc d'utiliser la fonctionnalité Collections d'Adalo à la place.
J'ai créé une seule collection appelée counts composée de quatre champs : ID (la clé primaire auto-incrémentée habituelle), name (qui stocke les chaînes on et off), et les horodatages habituels. Les mises en garde habituelles s'appliquent ici, j'aurais probablement pu mettre cela en place un peu plus efficacement, mais nous nous enfonçons simplement dans le projet. Voici un exemple de quelques enregistrements stockés dans la table :

Une chose à noter : les plans payants d'Adalo incluent maintenant des enregistrements de base de données illimités, ce qui signifie que je ne dois pas me soucier de ce projet de Noël stupide qui atteindrait des limites de stockage. Qu'il s'agisse de suivre quelques centaines de basculements de lumières ou de passer à l'échelle de millions d'interactions utilisateur, la plateforme le gère sans frais supplémentaires ou limites d'enregistrements.
Création de graphiques des résultats
Mon ami Nic chez DreamFactory a suggéré de créer un graphique représentant la fréquence de basculement. Je n'avais pas envie d'écrire du code personnalisé pour implémenter cela, cependant il est trivial d'exporter des données à partir d'une collection Adalo et je l'ai fait et l'ai téléchargé avec un exemple de graphique dans ChatGPT :

Oui, je suis toujours poli quand je parle à l'IA ces jours-ci. Pour ma part, j'accueille et j'apprécie nos maîtres robots. Je n'aimais pas comment le graphique s'est avéré cependant et donc après quelques tentatives supplémentaires, je lui ai demandé de créer un graphique circulaire à la place :

Configuration du flux en direct YouTube
La configuration du flux en direct YouTube était très simple ; j'ai utilisé le composant de marché YouTubed'Adalo, j'ai collé l'URL du flux en direct, et cela a fonctionné. De plus, je peux regarder l'état du flux en direct en utilisant cette interface amusante de YouTube Studio :

L'écosystème des composants du marché est l'une de ces fonctionnalités qui économise des heures de temps de développement. Au lieu de comprendre l'API d'intégration de YouTube et de gérer le redimensionnement réactif sur les appareils, vous faites simplement glisser, déposer et configurer. Le composant gère le reste, et comme Adalo se compile en code natif, la lecture vidéo fonctionne correctement sur iOS et Android.
Création de l'icône de l'application
Je n'ai aucune compétence en conception, j'ai donc simplement compté sur DALL-E pour en générer une pour moi. J'ai utilisé l'invite « Please create a 1024 x 1024 px icon for a mobile app used to Control Christmas tree lights ». DALL-E a ignoré les dimensions et a créé les deux options trouvées dans la capture d'écran :

Pour gagner du temps, j'ai sélectionné la première icône qu'il a créée, l'ai téléchargée sur mon Mac, puis j'ai utilisé la fonctionnalité peu connue de macOS de suppression d'arrière-plan pour supprimer le dégradé d'arrière-plan :

Ada, le créateur IA d'Adalo, vous permet de décrire ce que vous voulez et génère votre application. Magic Start crée des fondations d'applications complètes à partir d'une description, tandis que Magic Add ajoute des fonctionnalités en langage naturel.
Cette combinaison d'actifs générés par l'IA et du générateur visuel d'Adalo représente l'approche moderne du développement d'applications. Vous n'avez pas besoin d'être un designer ou un développeur pour créer quelque chose de fonctionnel et amusant. Les fonctionnalités d'IA du Builder de la plateforme iront encore plus loin—début 2026 promesse la création d'applications basées sur des invites où vous pouvez décrire ce que vous voulez et faire générer des écrans, des logiques et des structures de base de données automatiquement par des fonctionnalités comme Démarrage magique et Ajout magique.
Publication et performance
Un aspect de ce projet qui mérite d'être mentionné est la façon dont Adalo gère sans problème le chemin de l'idée à l'application publiée. La plateforme publie directement sur l'App Store d'Apple et le Google Play Store à partir d'une seule base de code. C'est véritablement la partie la plus difficile du lancement d'une application—gérer les certificats, les profils de provisionnement et les directives de l'App Store—et Adalo le fait automatiquement.
La performance de l'application a été solide tout au long de cette expérience. Depuis la refonte de l'infrastructure Adalo 3.0 à la fin 2025, la plateforme fonctionne 3 à 4 fois plus vite qu'avant, avec une infrastructure modulaire qui s'adapte aux besoins de votre application. Pour un projet farfelu de Noël, cela pourrait sembler excessif, mais cela signifie que les clics de bouton s'enregistrent instantanément et le flux en direct se charge sans décalage, même lorsque plusieurs personnes se battent pour les lumières du sapin.
La tarification d'Adalo rend également les projets comme celui-ci accessibles. À partir de 36 $/mois avec une utilisation illimitée et pas de limite d'enregistrements, vous pouvez expérimenter librement sans vous soucier d'une facture surprenante due à des frais inattendus. Comparez ceci à des alternatives comme Bubble (à partir de 69 $/mois avec des unités de charge basées sur l'utilisation et des limites d'enregistrements) ou Glide (qui ne supporte même pas la publication sur l'App Store), et la proposition de valeur devient claire.
Conclusion
C'était un projet très amusant qui a fait rire mes enfants et mes voisins, et qui a ennuyé ma femme sans fin. Parfois, les meilleurs projets sont ceux qui n'ont d'autre but que de faire quelques rires. J'espère qu'au moment où vous lisez ceci, ma maison n'a pas brûlé.
Peut-être que dans un prochain article, je documenterai certaines des autres choses amusantes qui ont surgi pendant le développement, comme Laura Coronel, instructrice Treehouse écrivant un script automatisé pour interagir avec l'interface utilisateur et basculer les lumières du sapin 100 fois en une minute. Le fait qu'l'infrastructure d'Adalo ait géré ce type d'interaction rapide sans transpirer parle de la fiabilité de la plateforme—même pour les projets qui existent uniquement pour ennuyer votre conjoint pendant les vacances.
FAQ
Pourquoi choisir Adalo plutôt que d'autres solutions de création d'applications ?
Adalo est un créateur d'applications alimenté par l'IA qui crée de véritables applications natives iOS et Android à partir d'une seule base de code. Contrairement aux wrappers Web, il se compile en code natif et publie directement sur l'App Store d'Apple et le Google Play Store—en gérant automatiquement la partie la plus difficile du lancement d'une application. Avec des enregistrements de base de données illimités sur les forfaits payants et aucun frais basés sur l'utilisation, vous pouvez construire et évoluer sans coûts inattendus.
Quel est le moyen le plus rapide de créer et de publier une application sur l'App Store ?
L'interface glisser-déposer d'Adalo et la création assistée par l'IA vous permettent de passer de l'idée à l'application publiée en jours plutôt qu'en mois. La plateforme gère le processus complexe de soumission à l'App Store—certificats, profils de provisionnement et directives de l'App Store—afin que vous puissiez vous concentrer sur les fonctionnalités de votre application au lieu de lutter contre les exigences d'Apple.
Puis-je facilement intégrer des API externes et des appareils domotiques avec Adalo ?
Oui, Adalo facilite le rattachement des appels API aux actions de l'utilisateur comme les clics de bouton grâce à un assistant web simple. Vous pouvez vous connecter à des services comme DreamFactory, des API Flask personnalisées, ou n'importe quel point de terminaison REST avec des en-têtes HTTP sécurisés—aucun codage requis.
Comment ajouter des actions de bouton et des interactions utilisateur dans Adalo ?
Ajouter des actions de bouton est incroyablement facile—il vous suffit d'ajouter une « action » à n'importe quel bouton et de spécifier quel événement le déclenche. Vous pouvez définir plusieurs actions par bouton, comme effectuer un appel API et mettre à jour un enregistrement de base de données simultanément. Cela rend la création d'applications interactives avec une fonctionnalité du monde réel simple, même sans expérience de codage.
Puis-je stocker et suivre les données dans mon application Adalo ?
Oui, Adalo inclut une fonctionnalité Collections intégrée qui vous permet de créer des tableaux de base de données pour stocker et suivre les données. Vous pouvez facilement configurer des collections avec des champs personnalisés, des horodatages et des relations, puis exporter les données quand vous le souhaitez. Les forfaits payants incluent des enregistrements de base de données illimités, vous ne atteindrez donc jamais les limites de stockage.
Comment incorporer des vidéos YouTube ou des flux en direct dans mon application Adalo ?
Adalo propose des composants de place de marché, y compris un composant YouTube qui facilite l'incorporation de vidéos. Vous ajoutez simplement le composant YouTube de la place de marché à votre écran, collez l'URL de votre vidéo ou flux en direct, et cela fonctionne immédiatement—aucun codage personnalisé requis.
Ai-je besoin de compétences en design pour créer une application professionnelle avec Adalo ?
Non, vous n'avez pas besoin de compétences en design pour créer une superbe application. La plateforme inclut des capacités de thématisation et des composants pré-construits qui vous aident à créer des interfaces polies. Vous pouvez également utiliser des outils IA comme DALL-E pour générer des icônes d'application personnalisées et des graphiques.
Combien coûte la création d'une application de contrôle IoT avec Adalo ?
Les forfaits payants d'Adalo commencent à 36 $/mois avec une utilisation illimitée et aucune limite d'enregistrements. Cela inclut la possibilité de publier sur l'App Store d'Apple et le Google Play Store. Comparez ceci à des alternatives comme Bubble (69 $/mois avec des frais basés sur l'utilisation) ou FlutterFlow (70 $/mois par utilisateur, plus des coûts de base de données séparés).
Adalo peut-il gérer un trafic élevé et des interactions utilisateur rapides ?
Oui, depuis la refonte de l'infrastructure Adalo 3.0 à la fin 2025, la plateforme fonctionne 3 à 4 fois plus rapidement avec une infrastructure modulaire qui s'adapte pour servir les applications avec des millions d'utilisateurs actifs mensuels. L'architecture maintient les performances même sous des interactions rapides.
Quelles fonctionnalités IA Adalo offre-t-il pour la création d'applications ?
Adalo propose actuellement Magic Start (génère des fondations d'application complètes à partir de descriptions) et Magic Add (ajoute des fonctionnalités à partir de demandes en langage naturel). Les fonctionnalités IA Builder, prévues pour début 2026, permettront la création et l'édition complètes basées sur des invites tout au long du processus de développement.
Créez votre application rapidement avec l'un de nos modèles d'application prédéfinis
Commencez à créer sans code