7.4 KiB
📝 sld-blocknotes - Sistema Moderno di Note a Blocchi & Gestione Comandi
🌐 Lingue disponibili: 🇬🇧 English | 🇮🇹 Italiano | 🇪🇸 Español | 🇫🇷 Français
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
✨ 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.
- Scarica il file JSON di ogni blocknote con un click (
-
🌐 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.
- Account Owner Ineliminabile: L'account Owner iniziale (
-
⚙️ 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 (
owneredadmin). - Completamente multilingua nelle 4 lingue.
- Installatore automatico per configurare i dati di connessione MySQL, creare le tabelle ed impostare i primi utenti privilegiati (
🚀 Guida all'Installazione
Requisiti
- Server Web (Apache, Nginx, o PHP CLI server integrato)
- PHP 7.4 o 8.x (con estensione
mysqliabilitata) - MySQL 5.7+ o MariaDB 10.x+
Installazione Passo-Passo
-
Clona il Repository:
git clone https://gitea.sld-server.org/sld-admin/sld-blocknotes.git cd sld-blocknotes -
Avvia il Server Web: Puoi utilizzare il server integrato di PHP:
php -S localhost:8000 -
Esegui il Wizard di Setup: Apri il browser su
http://localhost:8000/. Il sistema rileverà il primo avvio ed aprirà automaticamentefirst_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.
-
Accedi ed Inizia: Al termine del setup verrai reindirizzato alla pagina di login
index.php?page=login.
📁 Struttura del Progetto
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.