Skip to content

Neural linker V1.0 #148

@oboureima956-max

Description

@oboureima956-max

/static
/css
/js
/templates
evolution.html
accessibilite.html
app.py Android WebView – Passerelle JavaScript + Tailwind hors‑ligne

Ce document décrit exactement comment :

  1. Activer une passerelle JavaScript ⇄ Android (Kotlin)

  2. Faire fonctionner Tailwind CSS totalement hors‑ligne dans WebView


1️⃣ Passerelle JavaScript ⇄ Android (JavaScriptInterface)

📁 MainActivity.kt

package com.neurallinker.app

import android.os.Bundle
import android.webkit.JavascriptInterface
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

class AndroidBridge {
    @JavascriptInterface
    fun showMessage(message: String) {
        android.util.Log.d("JS_BRIDGE", message)
    }

    @JavascriptInterface
    fun getDeviceType(): String {
        return "ANDROID"
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val webView = findViewById<WebView>(R.id.webview)
    webView.settings.javaScriptEnabled = true
    webView.settings.domStorageEnabled = true
    webView.webViewClient = WebViewClient()

    webView.addJavascriptInterface(AndroidBridge(), "Android")
    webView.loadUrl("file:///android_asset/www/index.html")
}

}

🧠 Utilisation côté JavaScript

<script> Android.showMessage("Interface IA chargée") console.log(Android.getDeviceType()) </script>

2️⃣ Tailwind CSS 100% hors‑ligne (build local)

📦 Étape A – Installer Tailwind (PC)

npm install -D tailwindcss
npx tailwindcss init

📄 tailwind.config.js

module.exports = {
content: ["./index.html"],
theme: { extend: {} },
plugins: [],
}

📄 input.css

@tailwind base;
@tailwind components;
@tailwind utilities;

⚙️ Build CSS

npx tailwindcss -i ./input.css -o ./tailwind.css --minify


3️⃣ Intégration dans Android

📁 Structure assets

assets/
└── www/
├── index.html
├── tailwind.css
└── fonts/

📄 index.html (hors‑ligne)

❌ Supprimer :

<script src="https://cdn.tailwindcss.com"></script>

4️⃣ Sécurité WebView (recommandé)

webView.settings.allowFileAccess = true
webView.settings.allowContentAccess = false
webView.settings.mixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW


✅ Résultat

Application 100% hors‑ligne

UI Tailwind native

Communication JavaScript ⇄ Android active

Compatible Android & PC (WebView Desktop / Tauri / Electron)


🔜 Prochaines évolutions possibles

Stockage local (SharedPreferences / SQLite)

Capteurs (accéléromètre, biométrie)

Packaging Desktop (Electron / Tauri)

IA locale (ONNX / TensorFlow Lite)

Dis‑moi la prochaine étape.org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true
kotlin.code.style=official

🔑 Paramètres de signature de ton APK Release

RELEASE_STORE_FILE=../neurallinker-release-key.jks
RELEASE_STORE_PASSWORD=ton_mot_de_passe_keystore
RELEASE_KEY_ALIAS=neurallinker
RELEASE_KEY_PASSWORD=ton_mot_de_passe_cle

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions