La buona 'alternanza' parte dalla ristorazione

08/11/2018

La Toscana capitale delle buone pratiche di alternanza scuola-lavoro grazie al progetto "Ristorazione 4.0, la buona scuola è servita" promosso a Firenze tra gli studenti dell’ISIS Galilei dalla Federazione Italiana Pubblici Esercizi in collaborazione con Confcommercio Toscana e le principali aziende della web economy. Giovedì 8 novembre 2018 si è svolta a Palazzo Bastogi la cerimonia conclusiva, alla presenza del presidente del Consiglio Regionale di Toscana Eugenio Giani, della vicesindaco di Firenze Cristina Giachi, dell'onorevole Gabriele Toccafondi, del Vice Presidente vicario di Fipe Aldo Cursano e di Stefano Gemmi, dirigente scolastico ISIS "G. Galilei"

La Toscana “capitale” delle buone pratiche di alternanza scuola-lavoro grazie al progetto "Ristorazione 4.0, la buona scuola è servita" promosso in prima nazionale tra gli studenti dell’ISIS Galilei di Firenze dalla Federazione Italiana Pubblici Esercizi in collaborazione con Confcommercio Toscana e le principali aziende della web economy.

I risultati del progetto sono stati presentati oggi (giovedì 8 novembre 2018) in Palazzo Bastogi a Firenze, a conclusione di un percorso durato 8 mesi che ha coinvolto oltre 90 ragazzi di quarta superiore dell’indirizzo SIA (Sistemi Informativi Aziendali) dell'Istituto Galilei del capoluogo toscano. L'incontro ha visto la presenza di un ricco parterre di ospiti tra i quali Aldo Mario Cursano, Vice Presidente vicario di Fipe, l'on.Gabriele Toccafondi, già sottosegretario al MIUR, il presidente del Consiglio Regionale di Toscana Eugenio Giani, la vicesindaco di Firenze Cristina Giachi e Stefano Gemmi, dirigente scolastico ISIS "G. Galilei".

Lo spirito dell’iniziativa era quello di presentare la ristorazione ai giovani millennial come "terreno fertile" per prepararsi al mondo del lavoro, valorizzando nello stesso tempo le loro competenze.

Quello promosso da Fipe è un programma di alternanza scuola lavoro ancora inedito in Italia, focalizzato su un reciproco scambio di competenze: gli studenti infatti non solo hanno avuto modo di mettersi alla prova nel mondo della ristorazione acquisendo molti "segreti" del mestiere, ma nel corso degli otto mesi di esperienza hanno potuto affiancare i gestori di alcuni locali toscani (Ristorante Kome, Osteria Vegetariana, Tuscanbites, Trattoria Napoleone, Ristorante Boccanegra, Cantina Barbagianni, Ristorante Mangia, Ristorante Zafferano e Hotel Andrea) aiutandoli a diventare sempre più digital e a gestire in modo più efficiente i loro canali di promozione, dal sito web ai sistemi di prenotazione on line.

“Quello di Firenze è un progetto pilota, che ci proponiamo di estendere sul territorio italiano, che inaugura un nuovo e più proficuo modello di alternanza scuola lavoro - dichiara Aldo Mario Cursano, Vice Presidente vicario di Fipe e Presidente della Confcommercio di Firenze -. Una "buona" alternanza che punta sullo scambio di attitudini, competenze ed esperienze tra studenti, imprese della ristorazione e protagonisti della web economy, un nuovo modo di "accompagnare" le giovani generazioni nel mondo del lavoro rendendole protagoniste e "motori" del cambiamento, tecnologico e culturale, che costituisce una delle presenti e future sfide per il mondo dei pubblici esercizi".

Il programma di alternanza scuola lavoro, sviluppato da Fipe in collaborazione con TripAdvisor, TheFork, Axelero e Foodora e che ha visto anche la partecipazione di Google potrebbe presto essere riproposto in altre regioni italiane e favorire un upgrade degli attuali diplomi di istruzione tecnica superiore nei quali possano essere messe in luce le nuove competenze disciplinari, tecniche e trasversali acquisite attraverso il percorso di alternanza.

L'incontro di Firenze è stata anche un'occasione per fare il punto sull'uso della tecnologia nei pubblici esercizi e sul più recente scenario dell'alternanza scuola lavoro in Italia, anche alla luce di cambiamenti attesi che vedranno una riduzione del numero delle ore.

“L’enogastronomia è uno degli elementi distintivi con cui la Toscana si proietta nel mondo, al pari dei beni culturali”, ha ricordato il presidente del Consiglio regionale della Toscana Eugenio Giani, le imprese della ristorazione, che hanno dimensione medio-piccole, hanno però bisogno di stare al passo con i tempi, aggiornandosi anche sulle nuove frontiere digitali. Ecco perché un progetto di questo genere è così importante, all’avanguardia e di grandi prospettive”.

I pubblici esercizi hanno bisogno di nuove professionalità come quelle che gli studenti hanno sperimentato in questi mesi”, ribadisce Aldo Cursano, “da una indagine realizzata tra i ristoranti della rete Vetrina Toscana è emerso che sono pochi ancora i ristoratori toscani che riescono a fare leva su internet e social media per fidelizzare o ampliare la propria clientela. L'interazione con i nuovi canali di comunicazione on line è ancora molto bassa: anche se ormai l'80% dei ristoratori ha un sito internet aziendale e il 78% riceve le prenotazioni pure per email, pochissimi riescono a presenziare i social con la dovuta efficacia e tempestività. Così, per esempio, quasi il 90% dei commenti postati dagli utenti resta senza risposta e solo un locale su due aggiorna la sua pagina Facebook con cadenza regolare. Gli operatori, insomma, preferiscono dedicarsi quasi esclusivamente al lavoro in cucina. Ma i nuovi stili della comunicazione non possono essere trascurati, anche perché ormai chi non esiste sul web, o c’è male, scompare dall’orizzonte dei consumatori. Questo i più giovani lo sanno bene. E allora perché non mettere a frutto le loro abilità di nativi digitali per innovare lo stile comunicativo delle imprese? Il progetto di alternanza Ristorazione 4.0 era centrato proprio su questo e penso che potrà avere un futuro”.

L'uso della tecnologia nei pubblici esercizi

Il pubblico esercizio risulta un settore forte sul prodotto (scelta e preparazione delle materie prime) ma molto debole sulla gestione, il marketing e l'innovazione, sia nel back office che nel front office. Solo il 40% delle imprese di ristorazione utilizza strumenti di gestione dei processi interni. Si tratta prevalentemente di applicazioni per la gestione delle comande (17%) o di soluzioni per la fatturazione elettronica (13%). Appena il 7% ricorre alle tecniche del cosiddetto menu engineering e il 6% ad applicazioni per la gestione on line delle prenotazioni.  Per quanto riguarda la tecnologia di relazione con il cliente risulta evidente come l'attività in cui i ristoratori risultino più digitali, sia quella che ha a che fare con le recensioni. L'81% legge le recensioni sui siti e il 27%, pochi per la verità, spinge i clienti a scrivere recensioni. Il 41% dei ristoranti non ha alcun account social.

L'alternanza scuola lavoro in Italia

Nell'anno scolastico 2016/17 sono state coinvolte circa 6.000 scuole. In particolare il totale dei percorsi in alternanza attivati a partire dal terzo anno di corso sono stati 76.246, per la maggior parte dei casi (88,1%) percorsi annuali. In base alla tipologia del percorso formativo, il 55% dei progetti viene attivato nei licei, il 30% negli istituti tecnici e il 15% negli istituti professionali. Gli studenti del secondo biennio del percorso di studi che in totale hanno svolto percorsi di alternanza scuola/lavoro sono stati 873.470, che salgono a 937.976 considerando anche quelli dell'ultimo anno di corso non ancora in obbligo, così suddivisi: 451.162 nei licei, 289.560 negli istituti tecnici e 197.254 negli istituti professionali. Il 43,2% dei progetti di alternanza scuola lavoro viene complessivamente portato avanti nelle imprese, percentuale che sale al 60,6% quando si tratta di istituti professionali.

Whoops! There was an error.
ErrorException (E_NOTICE)
fwrite(): write of 1762 bytes failed with errno=28 No space left on device ErrorException thrown with message "fwrite(): write of 1762 bytes failed with errno=28 No space left on device" Stacktrace: #11 ErrorException in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #10 fwrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #9 Monolog\Handler\StreamHandler:streamWrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125 #8 Monolog\Handler\StreamHandler:write in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:712 #5 Monolog\Logger:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /var/www/html/app/Exceptions/Handler.php:39 #1 App\Exceptions\Handler:report in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
ErrorException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
10
fwrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
9
Monolog\Handler\StreamHandler streamWrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php:344
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php:712
5
Monolog\Logger error
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203
4
Illuminate\Log\Writer writeLog
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114
3
Illuminate\Log\Writer error
/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113
2
Illuminate\Foundation\Exceptions\Handler report
/app/Exceptions/Handler.php:39
1
App\Exceptions\Handler report
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]:0
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. "fwrite(): write of 1762 bytes failed with errno=28 No space left on device"
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. """
    [2026-04-20 10:09:46] production.ERROR: file_put_contents(): write of 259 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 259 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
    [stacktrace]\n
    #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
    #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
    #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
    #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('STdz2JOhUJaQFps...', 'a:3:{s:6:\"_toke...')\n
    #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
    #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #8 {main}\n
    "} \n
    """
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
            set_error_handler(array($this, 'customErrorHandler'));
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
 
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $this->url));
            }
            $this->streamSetChunkSize();
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. array:8 [
      "message" => "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776679786 {
        date: 2026-04-20 10:09:46.315205 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 10:09:46] production.ERROR: file_put_contents(): write of 259 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 259 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('STdz2JOhUJaQFps...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Christophe Coevoet <stof@notk.org>
 */
abstract class AbstractProcessingHandler extends AbstractHandler
{
    /**
     * {@inheritdoc}
     */
    public function handle(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        $record = $this->processRecord($record);
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     *
     * @param  array $record
     * @return void
     */
    abstract protected function write(array $record);
 
    /**
     * Processes a record.
     *
     * @param  array $record
     * @return array
     */
    protected function processRecord(array $record)
    {
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776679786 {
        date: 2026-04-20 10:09:46.315205 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 10:09:46] production.ERROR: file_put_contents(): write of 259 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 259 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('STdz2JOhUJaQFps...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
        }
        $ts->setTimezone(static::$timezone);
 
        $record = array(
            'message' => (string) $message,
            'context' => $context,
            'level' => $level,
            'level_name' => $levelName,
            'channel' => $this->name,
            'datetime' => $ts,
            'extra' => array(),
        );
 
        try {
            foreach ($this->processors as $processor) {
                $record = call_user_func($processor, $record);
            }
 
            while ($handler = current($this->handlers)) {
                if (true === $handler->handle($record)) {
                    break;
                }
 
                next($this->handlers);
            }
        } catch (Exception $e) {
            $this->handleException($e, $record);
        }
 
        return true;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776679786 {
        date: 2026-04-20 10:09:46.315205 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 10:09:46] production.ERROR: file_put_contents(): write of 259 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 259 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('STdz2JOhUJaQFps...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function err($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function error($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function crit($message, array $context = array())
    {
        return $this->addRecord(static::CRITICAL, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
Arguments
  1. 400
    
  2. "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to Monolog.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->fireLogEvent($level, $message = $this->formatMessage($message), $context);
 
        $this->monolog->{$level}($message, $context);
    }
 
    /**
     * Register a file log handler.
     *
     * @param  string  $path
     * @param  string  $level
     * @return void
     */
    public function useFiles($path, $level = 'debug')
    {
        $this->monolog->pushHandler($handler = new StreamHandler($path, $this->parseLevel($level)));
 
        $handler->setFormatter($this->getDefaultFormatter());
    }
 
    /**
     * Register a daily file log handler.
     *
     * @param  string  $path
Arguments
  1. "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
Arguments
  1. "error"
    
  2. "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
     */
    public function report(Exception $e)
    {
        if ($this->shouldntReport($e)) {
            return;
        }
 
        if (method_exists($e, 'report')) {
            return $e->report();
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e; // throw the original exception
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge($this->context(), ['exception' => $e]
        ));
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Exception  $e
     * @return bool
     */
    public function shouldReport(Exception $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Exception  $e
     * @return bool
     */
Arguments
  1. "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/app/Exceptions/Handler.php
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
 
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        return parent::render($request, $exception);
    }
}
 
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException($e)
    {
        if (! $e instanceof Exception) {
            $e = new FatalThrowableError($e);
        }
 
        try {
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Exception  $e
     * @return void
     */
    protected function renderForConsole(Exception $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
[internal]
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 259 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
HTTPS
"on"
HTTP_HOST
"www.confcommercio.toscana.it"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_X_FORWARDED_FOR
"216.73.217.144"
HTTP_X_FORWARDED_HOST
"www.confcommercio.toscana.it"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_SERVER
"5c871fc76d2d"
HTTP_X_REAL_IP
"216.73.217.144"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.54 (Debian) Server at www.confcommercio.toscana.it Port 80</address>\n"
SERVER_SOFTWARE
"Apache/2.4.54 (Debian)"
SERVER_NAME
"www.confcommercio.toscana.it"
SERVER_ADDR
"172.18.0.11"
SERVER_PORT
"80"
REMOTE_ADDR
"172.18.0.2"
DOCUMENT_ROOT
"/var/www/html/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/public"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/public/index.php"
REMOTE_PORT
"36778"
REDIRECT_URL
"/news/la-buona-alternanza-scuola-lavoro-parte-dalla-ristorazione"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/news/la-buona-alternanza-scuola-lavoro-parte-dalla-ristorazione"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1776679786.2812
REQUEST_TIME
1776679786
argv
[]
argc
0
Key Value
DB_PASSWORD
"953knS6N@j@4"
MAIL_PORT
"2525"
MAIL_DRIVER
"smtp"
REDIS_PASSWORD
""
HOSTNAME
"54d20b25acbc"
PHP_VERSION
"7.4.33"
APACHE_CONFDIR
"/etc/apache2"
REDIS_HOST
"127.0.0.1"
PHP_INI_DIR
"/usr/local/etc/php"
GPG_KEYS
"42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PWD
"/var/www/html"
SITE_UID
"2011"
CACHE_DRIVER
"file"
SITE_GID
"2011"
APP_LOG_LEVEL
"debug"
DB_PORT
"3316"
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
PUSHER_APP_CLUSTER
"mt1"
MAIL_USERNAME
""
APP_KEY
"base64:RPBgDgDOkssuiSO31vYoDq1VkDx3nhdZV2zUeSqqCvk="
APP_ENV
"production"
MAIL_PASSWORD
""
APP_DEBUG
"true"
APP_URL
"https://www.confcommercio.toscana.it"
PHP_SHA256
"924846abf93bc613815c55dd3f5809377813ac62a9ec4eb3778675b82a27b927"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
DB_USERNAME
"confcomtos"
PUSHER_APP_ID
""
DB_CONNECTION
"mysql"
DB_HOST
"10.255.0.7"
PHP_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz"
PUSHER_APP_KEY
""
APACHE_RUN_GROUP
"sitegroup"
PUSHER_APP_SECRET
""
APACHE_LOCK_DIR
"/var/lock/apache2"
APP_NAME
"Confcommercio Toscana"
SHLVL
"0"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BROADCAST_DRIVER
"log"
REDIS_PORT
"6379"
APACHE_RUN_DIR
"/var/run/apache2"
APACHE_ENVVARS
"/etc/apache2/envvars"
SESSION_DRIVER
"file"
APACHE_RUN_USER
"siteuser"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
MAIL_ENCRYPTION
""
MAIL_HOST
"smtp.mailtrap.io"
DB_DATABASE
"confcomtos_prod"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
PHP_ASC_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz.asc"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
0. Whoops\Handler\PrettyPageHandler