# ๐Ÿ“ sld-blocknotes - Sistema Moderno di Note a Blocchi & Gestione Comandi > **๐ŸŒ Lingue disponibili**: [๐Ÿ‡ฌ๐Ÿ‡ง English](README.md) | [๐Ÿ‡ฎ๐Ÿ‡น Italiano](README.it.md) | [๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol](README.es.md) | [๐Ÿ‡ซ๐Ÿ‡ท Franรงais](README.fr.md) ![PHP](https://img.shields.io/badge/PHP-7.4%20%7C%208.x-777BB4?style=for-the-badge&logo=php&logoColor=white) ![Database](https://img.shields.io/badge/Database-MySQL%20%2F%20MariaDB-4479A1?style=for-the-badge&logo=mysql&logoColor=white) ![Frontend](https://img.shields.io/badge/Frontend-Vanilla%20CSS%20%26%20JS-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) ![Framework](https://img.shields.io/badge/Framework-Zero%20Dependencies-22c55e?style=for-the-badge) Una potente applicazione Web moderna senza dipendenze esterne per organizzare note strutturate a blocchi, comandi di terminale, frammenti di codice ed istruzioni. Realizzata in **Pure PHP**, **Vanilla CSS**, **Vanilla JS** e **MySQL/MariaDB**. URL Repository: [https://gitea.sld-server.org/sld-admin/sld-blocknotes](https://gitea.sld-server.org/sld-admin/sld-blocknotes) --- ## โœจ Funzionalitร  Principali - ๐Ÿ“‘ **Note a Blocchi & Sottonote Strutturate**: - Organizza le tue note all'interno di blocknotes personalizzati. - Le note contengono titolo, descrizione e sottonote multiple. - **Note Richiudibili**: Le note sono ridotte di default per ottimizzare lo spazio verticale, con pulsanti globali **Espandi Tutte / Riduci Tutte**. - โšก **Sottonote di Tipo Comando Terminale**: - Rendering differenziato tra sottonote di testo generico e comandi di terminale. - **Pulsante Copia con 1-Click**: Copia istantaneamente i comandi negli appunti con feedback visivo (`โœ“ Copiato!`). - Riquadro stile IDE/Terminale ad alto contrasto con barra di scorrimento verticale ad altezza limitata. - ๐Ÿ” **Ricerca in Tempo Reale**: - Filtra titoli delle note, descrizioni, sottonote e contenuti dei comandi in tempo reale all'interno del blocknote aperto. - Espande automaticamente i blocchi corrisposti durante la ricerca. - ๐Ÿ“ฅ / ๐Ÿ’พ **Importazione ed Esportazione JSON**: - Scarica il file JSON di ogni blocknote con un click (`export_blocknote.php`). - Importatore JSON interattivo con supporto per il formato standard e vecchio formato array. - ๐ŸŒ **Interfaccia Multilingua (IT, EN, ES, FR)**: - Localizzazione completa in **Italiano ๐Ÿ‡ฎ๐Ÿ‡น, English ๐Ÿ‡ฌ๐Ÿ‡ง, Espaรฑol ๐Ÿ‡ช๐Ÿ‡ธ e Franรงais ๐Ÿ‡ซ๐Ÿ‡ท**. - Selector di lingua rapido nella navbar per ospiti ed utenti connessi. - La lingua preferita di ciascun utente viene salvata nel profilo DB per i futuri accessi. - ๐Ÿ  **Pagina di Primo Accesso Personalizzabile**: - Scegli se accedere direttamente alla **Pagina Principale (Tutti i Blocknotes)** oppure aprire un **Blocknote Predefinito specifico** al login. - ๐Ÿ‘‘ **Ruolo Unico Owner & Gerarchia Avanzata (`owner` > `admin` > `user`)**: - **Account Owner Ineliminabile**: L'account Owner iniziale (`owner`) non puรฒ essere eliminato da nessun admin nรฉ da se stesso. - Gli amministratori standard non possono declassare nรฉ modificare il ruolo dell'Owner. - โš™๏ธ **Personalizzazione Sito (Riservato Owner)**: - Modifica il **Titolo Globale dell'Applicazione**. - Carica e valida la **Favicon ad Alta Risoluzione** (minimo 64x64px) con anteprima in tempo reale. - ๐Ÿš€ **Wizard di Setup Iniziale (`first_start.php`)**: - Installatore automatico per configurare i dati di connessione MySQL, creare le tabelle ed impostare i primi utenti privilegiati (`owner` ed `admin`). - Completamente multilingua nelle 4 lingue. --- ## ๐Ÿš€ Guida all'Installazione ### Requisiti - Server Web (Apache, Nginx, o PHP CLI server integrato) - PHP 7.4 o 8.x (con estensione `mysqli` abilitata) - MySQL 5.7+ o MariaDB 10.x+ ### Installazione Passo-Passo 1. **Clona il Repository**: ```bash git clone https://gitea.sld-server.org/sld-admin/sld-blocknotes.git cd sld-blocknotes ``` 2. **Avvia il Server Web**: Puoi utilizzare il server integrato di PHP: ```bash php -S localhost:8000 ``` 3. **Esegui il Wizard di Setup**: Apri il browser su `http://localhost:8000/`. Il sistema rileverร  il primo avvio ed aprirร  automaticamente `first_start.php`: - Inserisci i dati del tuo **Database MySQL** (Host, Nome Database, Utente, Password). - Configura le credenziali dell'**Account Owner**. - Configura le credenziali del **Primo Account Admin**. - Clicca su **โšก Completa Installazione & Configura Sistema**. 4. **Accedi ed Inizia**: Al termine del setup verrai reindirizzato alla pagina di login `index.php?page=login`. --- ## ๐Ÿ“ Struttura del Progetto ```text sld-blocknotes/ โ”œโ”€โ”€ assets/ โ”‚ โ”œโ”€โ”€ css/ โ”‚ โ”‚ โ””โ”€โ”€ style.css # Design system Vanilla CSS e variabili HSL โ”‚ โ””โ”€โ”€ js/ โ”‚ โ””โ”€โ”€ main.js # Vanilla JS per modali, note richiudibili, cerca e copia โ”œโ”€โ”€ blocknotes/ # Cartella di salvataggio JSON dei blocknotes โ”‚ โ””โ”€โ”€ .gitkeep โ”œโ”€โ”€ config/ โ”‚ โ”œโ”€โ”€ constants.php # Definizione costanti di percorso โ”‚ โ”œโ”€โ”€ db.php # Connessione MySQL, auto-migrazione e redirect installer โ”‚ โ”œโ”€โ”€ functions_init.php # Router e sanificazione pagine โ”‚ โ”œโ”€โ”€ init.php # Inizializzazione sistema โ”‚ โ””โ”€โ”€ settings.php # Template configurazione credenziali DB โ”œโ”€โ”€ functions/ โ”‚ โ”œโ”€โ”€ auth.php # Autenticazione, permessi e protezioni Owner โ”‚ โ”œโ”€โ”€ blocknotes.php # Engine CRUD JSON blocknotes ed importatore โ”‚ โ”œโ”€โ”€ functions.php # Autoloader moduli funzioni โ”‚ โ”œโ”€โ”€ lang.php # Dizionario di traduzione multilingua (IT, EN, ES, FR) โ”‚ โ””โ”€โ”€ site_settings.php # Gestione titolo sito e favicon ad alta risoluzione โ”œโ”€โ”€ includes/ โ”‚ โ”œโ”€โ”€ head_links.php # Inclusioni CSS ed head globali โ”‚ โ””โ”€โ”€ js_footer.php # Inclusioni script footer globali โ”œโ”€โ”€ pages/ โ”‚ โ”œโ”€โ”€ 404.php # Pagina non trovata โ”‚ โ”œโ”€โ”€ admin_users.php # Gestione utenti admin ed impostazioni sito Owner โ”‚ โ”œโ”€โ”€ db-error.php # Template errore database โ”‚ โ”œโ”€โ”€ export_blocknote.php # Endpoint download JSON blocknote โ”‚ โ”œโ”€โ”€ home.php # Dashboard principale dei blocknotes โ”‚ โ”œโ”€โ”€ login.php # Pagina di login multilingua โ”‚ โ”œโ”€โ”€ logout.php # Disconnessione sessione โ”‚ โ”œโ”€โ”€ profile.php # Profilo utente, password, colori tema, lingua e landing page โ”‚ โ””โ”€โ”€ view_blocknote.php # Vista dettaglio blocknote, note richiudibili e cerca โ”œโ”€โ”€ templates/ โ”‚ โ”œโ”€โ”€ footer.php # Template footer pagina โ”‚ โ””โ”€โ”€ header.php # Header navbar, logo, badge utenti e selector lingua โ”œโ”€โ”€ .gitignore โ”œโ”€โ”€ first_start.php # Wizard di installazione guidata primo avvio โ”œโ”€โ”€ index.php # Entry point applicazione e router โ”œโ”€โ”€ README.md # Documentazione Principale in Inglese โ”œโ”€โ”€ README.it.md # Documentazione in Italiano โ”œโ”€โ”€ README.es.md # Documentazione in Spagnolo โ””โ”€โ”€ README.fr.md # Documentazione in Francese ``` --- ## ๐Ÿ“„ Licenza Questo progetto รจ rilasciato sotto licenza open-source [MIT License](LICENSE).