From: Vincent Vanwaelscappel Date: Tue, 3 Sep 2024 17:33:37 +0000 (+0200) Subject: wip #7060 @1.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=49dd2d35cd8ebfb72559d0400ee662356d30e7ca;p=fluidbook-toolbox.git wip #7060 @1.5 --- diff --git a/.docker/images/php-alpha/Dockerfile b/.docker/images/php-alpha/Dockerfile index 710aabb11..e2a22fad2 100644 --- a/.docker/images/php-alpha/Dockerfile +++ b/.docker/images/php-alpha/Dockerfile @@ -87,7 +87,7 @@ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true -RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 +RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 ttf2woff2 RUN pip3 install font-line RUN groupadd sudo;useradd -d /application -g 33 -G sudo -s /bin/bash -u 1001 toolbox diff --git a/.docker/images/php-dev/Dockerfile b/.docker/images/php-dev/Dockerfile index 710aabb11..e2a22fad2 100644 --- a/.docker/images/php-dev/Dockerfile +++ b/.docker/images/php-dev/Dockerfile @@ -87,7 +87,7 @@ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true -RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 +RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 ttf2woff2 RUN pip3 install font-line RUN groupadd sudo;useradd -d /application -g 33 -G sudo -s /bin/bash -u 1001 toolbox diff --git a/.docker/images/php/Dockerfile b/.docker/images/php/Dockerfile index eb250884c..645253fce 100644 --- a/.docker/images/php/Dockerfile +++ b/.docker/images/php/Dockerfile @@ -88,7 +88,7 @@ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true -RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 +RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 ttf2woff2 RUN pip3 install font-line lxml six RUN groupadd sudo;useradd -d /application -g 33 -G sudo -s /bin/bash -u 1001 toolbox diff --git a/app/Fluidbook/Compiler/Cart.php b/app/Fluidbook/Compiler/Cart.php index 05227b843..d10d60948 100644 --- a/app/Fluidbook/Compiler/Cart.php +++ b/app/Fluidbook/Compiler/Cart.php @@ -69,7 +69,7 @@ trait Cart if ($ext === 'mp4') { $n = $ean . '-360.mp4'; - $this->config->basketReferences[$ean]['360'] = true; + $this->config->set('basketReferences.' . $ean . '.360', true); $opt = $odir . '/' . $n; if (!file_exists($opt) || !filesize($opt) || filemtime($opt) < filemtime($f)) { // Optimize original video @@ -86,7 +86,7 @@ trait Cart } $n = $ean . '-' . $type . '.jpg'; - $this->config->basketReferences[$ean][$type] = true; + $this->config->set('basketReferences.' . $ean . '.' . $type, true); $opt = $odir . '/' . $n; if (!file_exists($opt) || !filesize($opt) || filemtime($opt) < filemtime($f)) { // Optimize original image diff --git a/app/Http/Controllers/Admin/Operations/Tools/Webfonts.php b/app/Http/Controllers/Admin/Operations/Tools/Webfonts.php new file mode 100644 index 000000000..f7f536732 --- /dev/null +++ b/app/Http/Controllers/Admin/Operations/Tools/Webfonts.php @@ -0,0 +1,93 @@ +setTitle(__('Convertir en webfont')); + $form->setEnctype('multipart/form-data'); + $form->setSubmitLabel(__('Convertir')); + $form->setSubmitIcon('la-font'); + $form->addField('file[]', StandardFile::class, __('Fichiers de police'), ['multiple' => true, 'accept' => ['.ttf', '.otf']]); + $form->addField('rename', Checkbox::class, __('Renommer les polices')); + + return view('tools.form', ['form' => $form]); + } + + public static function makewebfonts() + { + $tmp = Files::tmpdir(); + + $rename = request('rename', false); + + foreach ($_FILES['file']['name'] as $k => $name) { + $tmp_name = $_FILES['file']['tmp_name'][$k]; + + $ex = explode('.', strtolower($name)); + $upext = array_pop($ex); + $fontName = implode('.', $ex); + + $fontFile = $tmp . '/' . strtolower($name); + move_uploaded_file($tmp_name, $fontFile); + + $ext = array('ttf', 'woff', 'woff2', 'php'); + + foreach ($ext as $e) { + $out = $tmp . '/' . $fontName . '.' . $e; + if ($e == 'ttf' || $e == 'woff') { + $fontforge = new CommandLine(resource_path('tools/fonts/convertrn.pe')); + $fontforge->setArg(null, $fontFile); + $fontforge->setArg(null, $out); + if ($rename) { + $fontforge->setArg(null, $fontName); + } + $fontforge->execute(); + } else if ($e == 'woff2') { + $ttf = $tmp . '/' . $fontName . '.ttf'; + `cat $ttf | ttf2woff2 >> $out`; + } else if ($e == 'php') { + $ttf = $tmp . '/' . $fontName . '.ttf'; + + $makefont = new CommandLine('php'); + $makefont->cd($tmp); + $makefont->setArg('f', base_path('vendor/fpdf/fpdf/src/Fpdf/makefont/makefont.php')); + $makefont->setManualArg($ttf); + $makefont->execute(); + } + } + + $css = "@font-face { + font-family: '$fontName'; + src: url('$fontName.woff2') format('woff2'), + url('$fontName.woff') format('woff'), + url('$fontName.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +}"; + + file_put_contents($tmp . '/' . $fontName . '.css', $css); + } + + $zip = Files::tempnam() . '.zip'; + Zip::archive($tmp, $zip); + + Files::rmdir($tmp); + + return response()->download($zip, $fontName . '.zip')->deleteFileAfterSend(true); + } +} diff --git a/app/Http/Controllers/Admin/ToolsController.php b/app/Http/Controllers/Admin/ToolsController.php index 079549290..51909465b 100644 --- a/app/Http/Controllers/Admin/ToolsController.php +++ b/app/Http/Controllers/Admin/ToolsController.php @@ -23,6 +23,8 @@ use App\Http\Controllers\Admin\Operations\Tools\SASSCompiler; use App\Http\Controllers\Admin\Operations\Tools\StaticSiteUploader; use App\Http\Controllers\Admin\Operations\Tools\SVGCleaner; use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech; +use App\Http\Controllers\Admin\Operations\Tools\Webfonts; +use App\Http\Controllers\Admin\Operations\Tools\WebfontsOperation; use App\Http\Controllers\Controller; class ToolsController extends Controller @@ -47,6 +49,7 @@ class ToolsController extends Controller use ImportFluidbookSettings; use StaticSiteUploader; use PDFLayers; + use Webfonts; protected function index($tool, $args = '') { diff --git a/composer.json b/composer.json index 42e3b64c2..8c5e85f31 100644 --- a/composer.json +++ b/composer.json @@ -47,6 +47,7 @@ "cubist/scorm": "dev-master", "egulias/email-validator": "^4.0", "fluidbook/tools": "dev-master", + "fpdf/fpdf": "^1.86", "hollodotme/fast-cgi-client": "^3.1.7", "ilab/standalone-blade": "dev-main", "jolicode/slack-php-api": "^v4.7.0", @@ -60,7 +61,7 @@ "php-http/curl-client": "^2.3", "php-http/message": "^1.16", "pnz/mattermost-client": "dev-master", - "rickselby/laravel-gate-cache": "^3.7", + "rickselby/laravel-gate-cache": "^3.8", "rodneyrehm/plist": "^2.0", "rustici-software/scormcloud-api-v2-client-php": "^2.1.0", "simplesoftwareio/simple-qrcode": "^4.2", @@ -68,7 +69,7 @@ "voku/simple_html_dom": "^4.8" }, "require-dev": { - "spatie/laravel-ignition": "^2.4", + "spatie/laravel-ignition": "^2.8", "mockery/mockery": "^1.6", "nunomaduro/collision": "^v6.4.0", "phpunit/phpunit": "^9.6.8", diff --git a/composer.lock b/composer.lock index e9d2f6dfe..abf137f92 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9aabb63950a197c861594703ffd8b56d", + "content-hash": "cc2b0b718123cc1c7b0000fd115eaad7", "packages": [ { "name": "archtechx/enums", @@ -2772,16 +2772,16 @@ }, { "name": "doctrine/dbal", - "version": "3.9.0", + "version": "3.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", - "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", + "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", "shasum": "" }, "require": { @@ -2797,7 +2797,7 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.7", + "phpstan/phpstan": "1.12.0", "phpstan/phpstan-strict-rules": "^1.6", "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", @@ -2865,7 +2865,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.0" + "source": "https://github.com/doctrine/dbal/tree/3.9.1" }, "funding": [ { @@ -2881,7 +2881,7 @@ "type": "tidelift" } ], - "time": "2024-08-15T07:34:42+00:00" + "time": "2024-09-01T13:49:23+00:00" }, { "name": "doctrine/deprecations", @@ -3933,6 +3933,59 @@ "description": "Fluidbook Tools", "time": "2024-08-22T10:19:18+00:00" }, + { + "name": "fpdf/fpdf", + "version": "1.86.0", + "source": { + "type": "git", + "url": "https://github.com/coreydoughty/Fpdf.git", + "reference": "d2a0cbd9e4b5557b9c6c29ddc8eb2b36d8761e00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/coreydoughty/Fpdf/zipball/d2a0cbd9e4b5557b9c6c29ddc8eb2b36d8761e00", + "reference": "d2a0cbd9e4b5557b9c6c29ddc8eb2b36d8761e00", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "FPDF": "Fpdf\\Fpdf" + } + } + }, + "autoload": { + "psr-4": { + "Fpdf\\": "src/Fpdf" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Corey Doughty", + "email": "corey@doughty.ca" + } + ], + "description": "FPDF Composer Wrapper", + "homepage": "https://github.com/coreydoughty/Fpdf", + "keywords": [ + "fpdf", + "pdf", + "wrapper" + ], + "support": { + "issues": "https://github.com/coreydoughty/Fpdf/issues", + "source": "https://github.com/coreydoughty/Fpdf/tree/1.86.0" + }, + "time": "2023-07-04T16:41:45+00:00" + }, { "name": "fruitcake/php-cors", "version": "v1.3.0", @@ -8139,16 +8192,16 @@ }, { "name": "php-http/multipart-stream-builder", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/php-http/multipart-stream-builder.git", - "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24" + "reference": "ad3d012c44d6a5a1686fea99cbfa560f0fb80448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/ed56da23b95949ae4747378bed8a5b61a2fdae24", - "reference": "ed56da23b95949ae4747378bed8a5b61a2fdae24", + "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/ad3d012c44d6a5a1686fea99cbfa560f0fb80448", + "reference": "ad3d012c44d6a5a1686fea99cbfa560f0fb80448", "shasum": "" }, "require": { @@ -8189,9 +8242,9 @@ ], "support": { "issues": "https://github.com/php-http/multipart-stream-builder/issues", - "source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.1" + "source": "https://github.com/php-http/multipart-stream-builder/tree/1.4.0" }, - "time": "2024-06-10T14:51:55+00:00" + "time": "2024-09-01T11:08:55+00:00" }, { "name": "php-http/promise", @@ -8533,7 +8586,7 @@ "source": { "type": "git", "url": "https://github.com/enhydrav/mattermostclient.git", - "reference": "2562057e91f255cace2d304af6ac4c61740d74bb" + "reference": "9be5f8b5fa305c3f4392f6d4ce8a1ef3d2698978" }, "require": { "ext-json": "*", @@ -8612,7 +8665,7 @@ "api", "mattermost" ], - "time": "2023-09-07T09:16:48+00:00" + "time": "2024-08-29T15:06:45+00:00" }, { "name": "prologue/alerts", @@ -10887,16 +10940,16 @@ }, { "name": "symfony/cache", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "8ac37acee794372f9732fe8a61a8221f6762148e" + "reference": "b61e464d7687bb7e8f677d5031c632bf3820df18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/8ac37acee794372f9732fe8a61a8221f6762148e", - "reference": "8ac37acee794372f9732fe8a61a8221f6762148e", + "url": "https://api.github.com/repos/symfony/cache/zipball/b61e464d7687bb7e8f677d5031c632bf3820df18", + "reference": "b61e464d7687bb7e8f677d5031c632bf3820df18", "shasum": "" }, "require": { @@ -10964,7 +11017,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.1.3" + "source": "https://github.com/symfony/cache/tree/v7.1.4" }, "funding": [ { @@ -10980,7 +11033,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/cache-contracts", @@ -11063,16 +11116,16 @@ }, { "name": "symfony/console", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc" + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc", - "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc", + "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", "shasum": "" }, "require": { @@ -11137,7 +11190,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.10" + "source": "https://github.com/symfony/console/tree/v6.4.11" }, "funding": [ { @@ -11153,7 +11206,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-15T22:48:29+00:00" }, { "name": "symfony/css-selector", @@ -11586,16 +11639,16 @@ }, { "name": "symfony/finder", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "af29198d87112bebdd397bd7735fbd115997824c" + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c", - "reference": "af29198d87112bebdd397bd7735fbd115997824c", + "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", "shasum": "" }, "require": { @@ -11630,7 +11683,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.10" + "source": "https://github.com/symfony/finder/tree/v6.4.11" }, "funding": [ { @@ -11646,20 +11699,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T07:06:38+00:00" + "time": "2024-08-13T14:27:37+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded" + "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", - "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", + "url": "https://api.github.com/repos/symfony/http-client/zipball/4c92046bb788648ff1098cc66da69aa7eac8cb65", + "reference": "4c92046bb788648ff1098cc66da69aa7eac8cb65", "shasum": "" }, "require": { @@ -11723,7 +11776,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.10" + "source": "https://github.com/symfony/http-client/tree/v6.4.11" }, "funding": [ { @@ -11739,7 +11792,7 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:26:24+00:00" + "time": "2024-08-26T06:30:21+00:00" }, { "name": "symfony/http-client-contracts", @@ -11898,16 +11951,16 @@ }, { "name": "symfony/http-kernel", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "147e0daf618d7575b5007055340d09aece5cf068" + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/147e0daf618d7575b5007055340d09aece5cf068", - "reference": "147e0daf618d7575b5007055340d09aece5cf068", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", "shasum": "" }, "require": { @@ -11992,7 +12045,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.10" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" }, "funding": [ { @@ -12008,7 +12061,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T14:52:04+00:00" + "time": "2024-08-30T16:57:20+00:00" }, { "name": "symfony/mailer", @@ -12092,16 +12145,16 @@ }, { "name": "symfony/mime", - "version": "v6.4.9", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "7d048964877324debdcb4e0549becfa064a20d43" + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7d048964877324debdcb4e0549becfa064a20d43", - "reference": "7d048964877324debdcb4e0549becfa064a20d43", + "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", "shasum": "" }, "require": { @@ -12157,7 +12210,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.9" + "source": "https://github.com/symfony/mime/tree/v6.4.11" }, "funding": [ { @@ -12173,7 +12226,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:49:33+00:00" + "time": "2024-08-13T12:15:02+00:00" }, { "name": "symfony/options-resolver", @@ -13091,16 +13144,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87" + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/aad19fe10753ba842f0d653a8db819c4b3affa87", - "reference": "aad19fe10753ba842f0d653a8db819c4b3affa87", + "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", "shasum": "" }, "require": { @@ -13154,7 +13207,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.10" + "source": "https://github.com/symfony/routing/tree/v6.4.11" }, "funding": [ { @@ -13170,20 +13223,20 @@ "type": "tidelift" } ], - "time": "2024-07-15T09:26:24+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/serializer", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09" + "reference": "0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", - "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb", + "reference": "0158b0e91b7cf7e744a6fb9acaeb613d1ca40dbb", "shasum": "" }, "require": { @@ -13251,7 +13304,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v7.1.3" + "source": "https://github.com/symfony/serializer/tree/v7.1.4" }, "funding": [ { @@ -13267,7 +13320,7 @@ "type": "tidelift" } ], - "time": "2024-07-17T06:10:24+00:00" + "time": "2024-08-22T09:39:57+00:00" }, { "name": "symfony/service-contracts", @@ -13354,16 +13407,16 @@ }, { "name": "symfony/string", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07" + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07", - "reference": "ea272a882be7f20cad58d5d78c215001617b7f07", + "url": "https://api.github.com/repos/symfony/string/zipball/6cd670a6d968eaeb1c77c2e76091c45c56bc367b", + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b", "shasum": "" }, "require": { @@ -13421,7 +13474,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.3" + "source": "https://github.com/symfony/string/tree/v7.1.4" }, "funding": [ { @@ -13437,7 +13490,7 @@ "type": "tidelift" } ], - "time": "2024-07-22T10:25:37+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/translation", @@ -13614,16 +13667,16 @@ }, { "name": "symfony/uid", - "version": "v6.4.8", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf" + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", - "reference": "35904eca37a84bb764c560cbfcac9f0ac2bcdbdf", + "url": "https://api.github.com/repos/symfony/uid/zipball/6a0394ad707de386547223948fac1e0f2805bc0b", + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b", "shasum": "" }, "require": { @@ -13668,7 +13721,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.8" + "source": "https://github.com/symfony/uid/tree/v6.4.11" }, "funding": [ { @@ -13684,20 +13737,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/validator", - "version": "v7.1.3", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237" + "reference": "0d7e0dfd41702d6b9356214b76110421c1e74368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ba711a6cfc008544dad059abb3c1d997f1472237", - "reference": "ba711a6cfc008544dad059abb3c1d997f1472237", + "url": "https://api.github.com/repos/symfony/validator/zipball/0d7e0dfd41702d6b9356214b76110421c1e74368", + "reference": "0d7e0dfd41702d6b9356214b76110421c1e74368", "shasum": "" }, "require": { @@ -13765,7 +13818,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.3" + "source": "https://github.com/symfony/validator/tree/v7.1.4" }, "funding": [ { @@ -13781,20 +13834,20 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:41:01+00:00" + "time": "2024-08-30T15:58:06+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.10", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4" + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a71cc3374f5fb9759da1961d28c452373b343dd4", - "reference": "a71cc3374f5fb9759da1961d28c452373b343dd4", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", "shasum": "" }, "require": { @@ -13850,7 +13903,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.10" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" }, "funding": [ { @@ -13866,7 +13919,7 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2024-08-30T16:03:21+00:00" }, { "name": "symfony/var-exporter", @@ -13946,16 +13999,16 @@ }, { "name": "symfony/yaml", - "version": "v7.1.1", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", + "url": "https://api.github.com/repos/symfony/yaml/zipball/92e080b851c1c655c786a2da77f188f2dccd0f4b", + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b", "shasum": "" }, "require": { @@ -13997,7 +14050,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" + "source": "https://github.com/symfony/yaml/tree/v7.1.4" }, "funding": [ { @@ -14013,7 +14066,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", diff --git a/resources/views/tools/all.blade.php b/resources/views/tools/all.blade.php index aafa62f61..008070672 100644 --- a/resources/views/tools/all.blade.php +++ b/resources/views/tools/all.blade.php @@ -14,8 +14,10 @@
  • Fluidbook
  • -
  • Développement
  • +
  • {{__('Développement')}}
  • Excel
  • +
  • Web
  • +
  • {{__('Outils graphiques')}}
  • @@ -28,11 +30,11 @@ @push('after_scripts')