# BERKIOS Docs > Créez vos applications avec BERKIOS Studio, Code et Core. Documentation officielle en français : installation, tutoriels, langage Core, fichiers .bk, modules, exemples complets avec leur code. BERKIOS est une plateforme pour créer ses propres applications sans passer des années à apprendre à programmer. Elle comprend BERKIOS Studio (concevoir une interface à la souris), BERKIOS Code (décrire une application dans un fichier texte .bk, presque en langage naturel) et BERKIOS Core (un langage de programmation typé, fichiers .bks). Le code s'écrit en français, anglais, espagnol ou swahili. BERKIOS a été créé par Kionga Timothée Splane ; le nom vient de BER (Bernadette), KIO (Kionga) et S (Splane). Studio à télécharger : https://graphic.berkios.online/download.html Chaque page est disponible en Markdown en ajoutant « .md » à son adresse (exemple : https://docs.berkios.online/core/premiers-pas.md). Tout le contenu, code compris, est réuni dans https://docs.berkios.online/llms-full.txt. ## Démarrer - [Studio, Core ou Code ?](https://docs.berkios.online/commencer/choisir.md): BERKIOS propose trois façons de créer une application. Elles partagent le même moteur : on peut commencer avec l'une et passer à l'autre sans repartir de zéro. - [Télécharger le Studio](https://docs.berkios.online/commencer/telecharger.md): Le Studio s'installe sous Windows avec un installateur, au format .exe ou .msi. - [Depuis les sources, Code et Core](https://docs.berkios.online/commencer/installer.md): Vous voulez simplement utiliser le Studio ? Téléchargez l'installateur. Cette page s'adresse à ceux qui travaillent depuis l'archive du projet ou qui veulent l' ## Studio - [Démarrer avec le Studio](https://docs.berkios.online/studio/demarrer.md): Ouvrir un projet, repérer l'interface principale et lancer l'aperçu. - [Composants et identifiants](https://docs.berkios.online/studio/composants-et-identifiants.md): Les commandes set, increment, decrement, show, hide, toggle et calculate doivent retrouver le composant cible. Le moteur de l'aperçu cherche l'identifiant, le n - [Écrire son premier script](https://docs.berkios.online/studio/premier-script.md): Associer le comportement à un composant sans configurer des actions dans events. - [Commandes et calculs](https://docs.berkios.online/studio/commandes-et-calculs.md): v0.7.76 : 100 commandes supplémentaires (texte, nombres, listes, dates, validation, couleur, confirmation, export…) sont décrites dans la leçon 8. - [Messages et dialogues](https://docs.berkios.online/studio/messages-et-dialogues.md): La commande message reste valable telle quelle : message "Bonjour" affiche un bandeau d'information. Depuis la v0.7.116, on peut préciser le type du message ave - [Fonctions et code d'interface](https://docs.berkios.online/studio/fonctions-et-code-interface.md): Les paramètres sont locaux. local nom [valeur] en ajoute. À la fin de l'appel, l'appelant retrouve ses propres valeurs. - [Débogage et bonnes pratiques](https://docs.berkios.online/studio/debogage-et-bonnes-pratiques.md): L'interpréteur de composants est limité à des commandes explicitement autorisées. N'y placez pas de secrets, de mots de passe ni de clés d'API. - [Projets pratiques](https://docs.berkios.online/studio/projets-pratiques.md): Créez un outil de suivi d'équipement. Il doit inclure : - [Aperçu et application générée](https://docs.berkios.online/studio/limites-runtime.md): Le fonctionnement d'un script dans l'aperçu du Studio ne prouve pas que le même script est exécuté dans une application Flutter exportée. - [Modules d'application](https://docs.berkios.online/studio/modules-application.md): Pour construire des applications robustes (client seul, serveur seul ou client-serveur offline-first), un projet peut contenir des modules de code et, au plus, - [Écrans modulaires](https://docs.berkios.online/studio/ecrans-modulaires.md): Vocabulaire (v0.7.297) : dans le Studio, un écran s'appelle interface ; module désigne un fichier de code. Voir modules-application.md. - [Code d'interface et navigation](https://docs.berkios.online/studio/code-interface-et-navigation.md): Ce document définit le comportement attendu du code d'interface. Dans la v0.7.96, les commandes BERKIOS existantes peuvent déjà être placées dans les scripts de - [Actions SQLite](https://docs.berkios.online/studio/sqlite-actions.md): Le runtime Flutter générique implémente quatre types d'action, dans buttonAction ou dans events[].actions : - [Tableaux, médias, SQL](https://docs.berkios.online/studio/tableaux-medias-sql.md): Les commandes sont enregistrées dans bridge/system-command-registry.mjs et exécutées par bridge/system-commands.mjs. - [Accès aux fichiers externes](https://docs.berkios.online/studio/acces-fichiers-externes.md): La commande ouvre un sélecteur de dossier système. La variable $dossier reçoit le chemin absolu choisi. L'autorisation reste active seulement pendant la session - [Sécurité applicative](https://docs.berkios.online/studio/securite-avancee.md): 21 commandes système implémentées dans bridge/security-advanced.mjs (Node.js natif : node:crypto, node:tls), enregistrées dans le registre du Bridge et dans com - [Moteur Excel](https://docs.berkios.online/studio/excel-moteur.md): Objectif : importer un classeur Excel existant et créer un fichier .berkios.json contenant les feuilles, cellules, formules traduites et diagnostics. ## Core - [Vos premiers pas](https://docs.berkios.online/core/premiers-pas.md): BERKIOS Core est le langage typé de BERKIOS. Chaque fichier .bks commence par un nom de module, puis contient des fonctions. L'exécution démarre à la fonction p - [Fonctions et modules](https://docs.berkios.online/core/fonctions-et-modules.md): Une fonction déclare ses paramètres et son type de retour : - [Types, classes et héritage](https://docs.berkios.online/core/classes-et-types.md): Un type regroupe des champs : ## Code (.bk) - [Votre premier fichier .bk](https://docs.berkios.online/code/premier-fichier.md): BERKIOS Code décrit une application dans un fichier texte lisible, presque en langage naturel. Le compilateur le transforme en projet que le Studio sait ouvrir. - [Interfaces et modèles de données](https://docs.berkios.online/code/interfaces-et-modeles.md): Cet exemple décrit une petite gestion de stock : un modèle (la forme des données), une interface avec un tableau, et un formulaire modal. - [Outils en ligne de commande](https://docs.berkios.online/code/ligne-de-commande.md): BERKIOS Code ne sert pas qu'aux interfaces. Avec type command, vous créez un outil qui s'utilise dans un terminal. ## Modules - [Vue d'ensemble](https://docs.berkios.online/modules/apercu.md): Un module (ou bibliothèque) ajoute de nouvelles commandes au code de vos composants : générer un identifiant unique, calculer une date relative, fabriquer un PD - [Créer une bibliothèque (.bkl)](https://docs.berkios.online/modules/format-bkl.md): Une bibliothèque ajoute des commandes au code des composants. C'est un fichier JSON (.bkl, format berkios-library/1) : ses commandes sont des macros écrites en - [datetime : date et heure](https://docs.berkios.online/modules/datetime.md): 13 commandes pour BERKIOS CODE : dates relatives, jours restants, formats courts, durées lisibles et chronomètre. Chaque commande existe en français, anglais, e - [uuid : identifiants uniques](https://docs.berkios.online/modules/uuid.md): 12 commandes pour BERKIOS CODE qui reprennent l'esprit du module uuid de Python : génération d'UUID version 4, formes dérivées (hexadécimal, URN, court), UUID n - [randomy : hasard](https://docs.berkios.online/modules/randomy.md): 30 commandes pour BERKIOS CODE qui reprennent le module random de Python : seed, randint, randrange, choice, choices, sample, shuffle, uniform, les lois de prob - [golib : chemins de fichiers](https://docs.berkios.online/modules/golib.md): Bibliothèque golib 1.0.0 : 37 commandes pour lire, construire et comparer des chemins de fichiers sans écrire de séparateurs à la main, avec les mêmes règles qu - [requeto : requêtes HTTP](https://docs.berkios.online/modules/requeto.md): 8 commandes pour appeler une API HTTP(S) depuis BERKIOS CODE sans répéter les mêmes lignes : adresse vérifiée, extraction JSON avec valeur par défaut, réponse J - [easyapi : créer des API](https://docs.berkios.online/modules/easyapi.md): 27 commandes pour définir une API REST dans un script, la tester sans réseau (ou contre un vrai serveur), en tirer la description OpenAPI 3.1 et exporter un ser - [pdflab : générer des PDF](https://docs.berkios.online/modules/pdflab.md): Clone de ReportLab (Python) en JavaScript pur, sans dépendance. Le moteur est dans pdflab/ ; la bibliothèque BERKIOS pdflab.bkl (44 commandes, fr/en) l'expose a - [pdfreader : lire des PDF](https://docs.berkios.online/modules/pdfreader.md): 20 commandes pour BERKIOS CODE qui gèrent la lecture d'un PDF page par page : navigation, progression, signets, reprise de lecture, citation et zoom. Chaque com - [video : lecteur vidéo](https://docs.berkios.online/modules/video.md): 24 commandes pour BERKIOS CODE qui pilotent un lecteur vidéo : ouvrir un fichier ou une adresse, lecture/pause, sauts, volume, vitesse, boucle, plein écran et l - [mygame : jeux 2D](https://docs.berkios.online/modules/mygame.md): Version 1.2.0. Chargez mygame dans les projets BERKIOS GRAPHIC 0.7.122+. - [Passo : mots de passe](https://docs.berkios.online/modules/passo.md): Passo est la bibliothèque cryptographique native de Berkios. Son unique algorithme de stockage des mots de passe est PBKDF2-HMAC-SHA256, implémenté avec node:cr - [Passo : authentification](https://docs.berkios.online/modules/passo-authentification.md): Passo stocke uniquement les empreintes PBKDF2-HMAC-SHA256. Les sessions sont des jetons opaques aléatoires ; seule leur empreinte SHA-256 est enregistrée dans S - [Berkrypt : bcrypt](https://docs.berkios.online/modules/berkrypt.md): Berkrypt fournit une API native compatible avec les opérations usuelles de bcrypt pour Python : gensalt, hashpw et checkpw. Les empreintes sont au format bcrypt - [ftpLab : FTP / FTPS](https://docs.berkios.online/modules/ftplab.md): ftpLab est une bibliothèque native du Bridge (comme KConnect ou Berkrypt) : un client FTP ouvre des sockets TCP, ce que les bibliothèques .bkl (simples macros) - [KConnect : connexion](https://docs.berkios.online/modules/kconnect.md): KConnect donne à KPartage son transport réseau : il trouve les appareils voisins, échange les cartes pour l'appairage et achemine les messages de partage. Il s' - [KPartage : partage](https://docs.berkios.online/modules/kpartage.md): KPartage est la bibliothèque principale de la famille de partage Berkios. Elle fournit, une fois pour toutes, ce que toute application de partage (comme KIROSIS - [Batterie](https://docs.berkios.online/modules/batterie.md): La bibliothèque batterie expose les commandes suivantes : - [État du réseau](https://docs.berkios.online/modules/reseau-natif.md): Dans le Studio, ajoutez État du réseau natif depuis la bibliothèque de composants. Dans l’application Flutter générée, il affiche le type de connexion observé p ## Galerie - [Présentation et exemples](https://docs.berkios.online/galerie/index.md): Apprendre en regardant, en essayant, puis en modifiant : c'est la manière la plus rapide de progresser. La Galerie rassemble des applications complètes, chacune - [01 · Bonjour BERKIOS](https://docs.berkios.online/galerie/bonjour-berkios.md): Votre tout premier programme BERKIOS Core : trois lignes, une commande, un résultat. - [02 · Remise et total à payer](https://docs.berkios.online/galerie/remise-et-total.md): Calculer une remise avec des fonctions, puis découper le programme en deux fichiers : des modules. - [03 · Compte bancaire](https://docs.berkios.online/galerie/compte-bancaire.md): Une classe Compte avec dépôt et retrait : des champs, des méthodes et des objets. - [04 · Ma première application](https://docs.berkios.online/galerie/ma-premiere-application.md): Une fenêtre, un titre, un bouton : votre première application décrite en BERKIOS CODE. - [05 · Gestion de stock](https://docs.berkios.online/galerie/gestion-de-stock.md): Un modèle de données Produit, un tableau et un formulaire modal pour suivre un stock. - [07 · Messages et dialogues](https://docs.berkios.online/galerie/messages-et-dialogues.md): Des bandeaux, des fenêtres modales, une confirmation Oui / Non et une saisie de nom. - [09 · Outil en ligne de commande](https://docs.berkios.online/galerie/outil-en-ligne-de-commande.md): Trois commandes (saluer, calculer, compter) avec arguments, options, conditions et boucles. - [06 · Gestion des clients](https://docs.berkios.online/galerie/gestion-des-clients.md): Une liste de clients et une fiche avec champs obligatoires et validation d'e-mail, sans écrire une ligne de code. - [08 · Navigation latérale](https://docs.berkios.online/galerie/navigation-laterale.md): Un espace de gestion avec menu à gauche, contenu à droite et un bouton pour replier le menu. - [10 · Échéances et chronomètre](https://docs.berkios.online/galerie/echeances-et-chronometre.md): Des dates relatives, des jours restants et un chronomètre, avec les bibliothèques datetime et systeme. ## Optional - [Ligne de commande](https://docs.berkios.online/reference/cli.md): L'outil berkios regroupe BERKIOS Code (.bk) et BERKIOS Core (.bks). - [Fonctions Excel](https://docs.berkios.online/reference/fonctions-excel.md): Fichier généré par node scripts/functions-doc.mjs --write depuis src/function-registry.mjs. Ne pas modifier à la main : un test vérifie qu'il est à jour. - [Commandes de projet et de build](https://docs.berkios.online/reference/commandes-projet-build.md): 22 commandes système du Bridge, déclarées dans le registre commun (domaines projet et build, 4 langues). Elles suivent les règles des autres commandes système : - [Schéma des projets](https://docs.berkios.online/reference/schema-projet.md): berkios-project.schema.json décrit le format courant 1.3 avec JSON Schema 2020-12. - [Catalogue des commandes](https://docs.berkios.online/reference/cent-nouvelles-commandes.md): Ces commandes complètent celles de la leçon 4 pour écrire des applications généralistes (formulaires, calculs, listes, dates, exports) sans JavaScript. Elles fo - [Maintenir cette documentation](https://docs.berkios.online/reference/maintenir-la-doc.md): Ce site est généré à partir de fichiers Markdown. Pour ajouter ou corriger une page, vous modifiez un fichier texte, puis vous relancez la génération. ## Formation - [Être formé par nos experts](https://docs.berkios.online/formation/experts.md): Voulez-vous être formé par nos experts ? ## À propos - [Pourquoi BERKIOS existe](https://docs.berkios.online/apropos/pourquoi.md): Nous voulons ouvrir une nouvelle ère informatique : une ère où tout le monde programme, automatise et crée ses propres applications. - [L'auteur et le nom BERKIOS](https://docs.berkios.online/apropos/auteur.md): Kionga Timothée Splane est le créateur de BERKIOS.