diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index f0a6721c0..000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,23 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.234.0/containers/docker-existing-dockerfile -{ - "name": "Jekyll Dev Environment", - "context": "..", - "dockerFile": "../Dockerfile", - "customizations": { - "vscode": { - "settings": {}, - "extensions": [] - } - }, - "forwardPorts": [ - 35728, - 35729 - ], - "portsAttributes": { - "35728": { - "label": "Jekyll Preview", - "onAutoForward": "openPreview" - } - } -} diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 5885d1c7d..000000000 --- a/.dockerignore +++ /dev/null @@ -1,9 +0,0 @@ -/_includes/ -/_layouts/ -/_posts/ -/.github/ -/assets/ -/images/ -/nodes_modules/ -/vagrant/ -/vendor/ diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 45ee28d51..b6f3fdac1 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -1,26 +1,38 @@ -name: Continous Deployment +name: Deploy Astro to GitHub Pages on: push: branches: [master] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: true jobs: build: - name: 'Build 📩 & Deploy 🚀' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-ruby@v1 - with: - ruby-version: '3.3' - - run: gem install bundler - - run: bundle install --jobs 4 --retry 3 - - - name: 'Build 📩' - run: bundle exec jekyll build + - uses: actions/checkout@v4 - - uses: JamesIves/github-pages-deploy-action@v4.3.4 - name: 'Deploy 🚀' + - name: Install, build, and upload Astro site + uses: withastro/action@v3 with: - folder: _site - clean: true + path: ./astro + node-version: 22 + + deploy: + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 65e138b6b..71011c74c 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -1,19 +1,38 @@ -name: Continous Integration +name: Astro CI on: - # Check that the static website is buildable for every PR pull_request: - branches: [master] + paths: + - 'astro/**' + - '.github/workflows/integration-astro.yml' + +permissions: + contents: read jobs: build: - name: 'Build 📩' runs-on: ubuntu-latest + defaults: + run: + working-directory: astro steps: - - uses: actions/checkout@v2 - - uses: actions/setup-ruby@v1 + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 with: - ruby-version: '3.3' - - run: gem install bundler - - run: bundle install --jobs 4 --retry 3 - - run: bundle exec jekyll build + node-version: '22' + cache: 'npm' + cache-dependency-path: astro/package-lock.json + + - name: Install dependencies + run: npm ci + + - name: Type check + run: npx astro check + + - name: Build + run: npm run build + + - name: Verify URL preservation + run: node scripts/verify-urls.mjs diff --git a/.gitignore b/.gitignore index 96f00c54d..63f8b5a94 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ -_site +# OS / IDE .DS_Store +.idea/* *.sublime-project *.sublime-workspace -codekit-config.json + +# Node / Astro (in addition to astro/.gitignore) node_modules -vagrant/.vagrant/ -.jekyll-cache -.jekyll-metadata -.idea/* +dist/ + +# Planning artifacts (OhMyOpenCode tooling) +.omo/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4c2156ac8..e473ef158 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,184 +1,187 @@ -# Contributing +# Contributing to tech.bedrockstreaming.com -## How to install the project? +Welcome! This repo is the source of the Bedrock Tech Blog, built with [Astro](https://astro.build). -### Using Visual Studio Code +## Local Development -1. Install Docker or Podman on your machine -2. Open the project in Visual Studio Code -3. Install the recommended [Remote Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension -4. When VS code prompts you, agree to "Reopen in Container" -5. The blog should be built, refreshed and opened in a preview tab automagically. ✹ - - If not, you can run the "Jekyll Serve" VS Code task manually. +### Prerequisites -### With Ruby and Gem +- Node.js 22+ +- npm -```shell -git clone https://github.com/BedrockStreaming/tech.bedrockstreaming.com.git -cd tech.bedrockstreaming.com -sudo gem install jekyll bundler -bundle install -``` +### Setup -Then run this command to run a dev server locally. -```shell -bundle exec jekyll serve +```bash +cd astro +npm ci +npm run dev ``` -:warning: There are some issues to run this project on M1 archi for now. +The dev server runs at `http://localhost:4321`. -### With docker +### Project Layout -You can use docker to run the tech blog locally. +``` +astro/ +├── astro.config.mjs # Astro config (site, integrations, redirects) +├── package.json +├── public/ # Static assets (images/, assets/, CNAME, robots.txt) +├── src/ +│ ├── content/ # Content collections +│ │ ├── blog/ # Standard blog posts (.md) +│ │ ├── conferences/ # Conference posts +│ │ └── videos/ # LFT video posts +│ ├── content.config.ts # Content collection schemas (Zod) +│ ├── data/ # Typed data (authors, language, social, icons, conferences, biblio) +│ ├── styles/ # SCSS (Type-on-Strap-inspired) +│ ├── components/ # Shared Astro components +│ ├── layouts/ # Base, Post, Page, Conference, Video layouts +│ └── pages/ # Routes +└── scripts/ + ├── migrate-jekyll.ts # Historical: Jekyll → Astro migration script + └── verify-urls.mjs # CI: verifies URL preservation +``` -```shell -docker buildx build --platform linux/arm64 --load -t tech-blog . -docker run -it -v $(pwd):/var/content:ro -p 8080:8080 -p 35729:35729 tech-blog:latest +## Writing a New Post + +1. Create a Markdown file in the appropriate collection: + - `astro/src/content/blog/YYYY-MM-DD-slug.md` for standard posts + - `astro/src/content/conferences/YYYY-MM-DD-slug.md` for conference recaps + - `astro/src/content/videos/YYYY-MM-DD-slug.md` for LFT talk recaps + +2. Required frontmatter (see `astro/src/content.config.ts` for the full schema): + + For blog posts: + ```yaml + --- + title: Your post title + description: Short SEO description + author: your_author_key # or [author1, author2] for multiple + tags: [tag1, tag2] + language: fr # or 'en' + thumbnail: /images/posts//thumb.jpg # optional + --- + ``` + + For conference posts (add): + ```yaml + eventName: Forum PHP 2026 + eventUrl: https://event.afup.org/... + slideshareKey: # optional + ``` + + For video posts (add): + ```yaml + youtubeId: # REQUIRED + ``` + +3. Add yourself to `astro/src/data/authors.ts` if you're a new author. + +4. Add images to `astro/public/images/posts//`. Reference them as `/images/posts//image.jpg`. + Don't forget to compress them with tools like [TinyPNG](https://tinypng.com/). + +5. Test locally: `cd astro && npm run dev` + +6. Open a PR. CI will build and verify URLs. + +## Features Available in Posts + +- **Markdown** — standard CommonMark + GFM +- **MDX** — embed Astro components by using `.mdx` extension instead of `.md` +- **Math** — KaTeX via `$inline$` and `$$block$$` +- **Diagrams** — Mermaid via fenced code blocks: ` ```mermaid ` +- **Tweets** — `` (widgets.js auto-loaded) +- **Slideshare** — set `slideshareKey:` in frontmatter (conference posts) +- **Code highlighting** — fenced code blocks with language identifier +- **Citations** — `` (MDX only); add entries to `astro/src/data/biblio.ts` + +## Add a LFT Replay + +1. Create `astro/src/content/videos/YYYY-MM-DD-slug.md`. Use the date the talk was first given in public. +2. Required frontmatter: + ```yaml + --- + title: Title of your talk + description: Description of the video + author: author_key + tags: [lft, and, other, tags] + youtubeId: + --- + ``` +3. Add content below the frontmatter for context. + +## Add a Conference + +### Just add to the conference list + +Add your entry to `astro/src/data/conferences.ts`: + +```typescript +{ + title: "Title of the conference", + date: new Date("1970-01-01"), + author: "conference_speaker", + eventName: "Event Name", + eventUrl: "https://...", // optional + youtubeId: "...", // optional + slideshareKey: "...", // optional + sponsored: true, // optional, default false + hosted: true, // optional, default false +} ``` -Then open your browser on `http://localhost:8080` to see the blog. +### Create a conference post -:warning: You may need to change the `docker buildx` command if you are not using an M1 Mac. +1. Create `astro/src/content/conferences/YYYY-MM-DD-slug.md` +2. Required frontmatter: + ```yaml + --- + title: Title of your conference + description: Description for SEO + author: conference_speaker + tags: [example, of, tags] + eventName: Event Name + eventUrl: https://... + slideshareKey: # optional + youtubeId: # optional + --- + ``` +3. Add content below the frontmatter. -## How to add an article to the blog? - -All articles are listed in the `_posts` folder. -Each article is a Markdown file named like this `YYYY-MM-DD-article-slug.md` where date is the date of publication. -:information: If you put a future date of publication, your article won't be visible until this date is passed. +## Add an Author -Make sure to complete the _frontmatter_ part of your Markdown file in order to define at least those attributes: +Edit `astro/src/data/authors.ts` to add an author (sorted alphabetically). -```markdown ---- -layout: post -title: Title of your article -description: Description of your article visible in search page results -author: author_of_your_article -tags: [example, of, tags] -color: rgb(251,87,66) # this is Bedrock color here ---- -``` +Authors have: `name`, `url` (optional), `avatar` (optional — path under `astro/public/images/avatar/`). + +## Migrating Legacy Posts + +The Jekyll source is preserved in git history. See: +- `astro/scripts/migrate-jekyll.ts` — the original migration script +- `astro/REVIEW.md` — the pixel-parity review checklist used during cutover +- `ROLLBACK.md` — rollback procedure if cutover needs reversal -We are using a community theme for Jekyll for this blog, you may find some useful examples here: -- [How to add Table of content for your blog post ?](https://sylhare.github.io/Type-on-Strap/2014/11/28/markdown-and-html.html) -- [How to customize the color used on a post page ?](https://sylhare.github.io/Type-on-Strap/2019/05/18/color-post.html) -- [How to use images in your post ?](https://sylhare.github.io/Type-on-Strap/2018/10/29/feature-images.html) - You can store your images in _images/post_ folder of this repository. - Don't forget to compress them for performances with tools like [TinyPNG](https://tinypng.com/) -- [How to add code examples ?](https://sylhare.github.io/Type-on-Strap/2014/08/08/Markup-Syntax-Highlighting.html) -- [How to add simple Diagrams with _Mermaids_?](https://sylhare.github.io/Type-on-Strap/2019/11/02/Tech-stuff-example.html#mermaid) - Mermaid is a really powerful tool to generate Diagram dynamically with some text. - Check [Mermaid documentation](https://mermaid-js.github.io/mermaid/#/). - -In order to add a new article, you should open a Pull Request on this repository. -A preview will automatically be deployed on AWS thanks to AWS Amplify service. - -Don't hesitate to share your new post of **#proj-blog-tech-bedrock** slack room to ask for reviews from Bedrockers. +## PR Workflow + +- All PRs run `integration.yml` CI: `npm ci`, `astro check`, `npm run build`, `verify-urls.mjs` +- On merge to master: `deployment.yml` deploys to GitHub Pages via `withastro/action` +- Every PR gets a live preview deployment on AWS Amplify (see below) + +Don't hesitate to share your new post in **#proj-blog-tech-bedrock** Slack to ask for reviews. When you have 2 approves and no change requested, you can merge your Pull Request. -## Add an author - -Edit `_data/authors.yml` to add an author (authors are sorted alphabetically). - -Authors could have a `name`, a `url` and an `avatar` (which could be a distant file or an image hosted in the `images/avatar` directory). - -Then you will be able to use the author ID in the frontmatter post configuration key named `author`. - -## Add a LFT replay - -1. Create a file in the `__post` folder name matching this format `YYYY-MM-DD-slug-of-your-article.md` - Use the date the talk was first given in public. -2. Add the configuration of metadata at the beginning of this file - > :warning: **To make your videos appear in either `Last Friday Talks`page, tag your post with `lft`.** - ```markdown - --- - layout: video - # Unique ID of the Youtube video clip - youtubeId: $$$$$$$ - # Title of the article - title: Title of your article - # Description (for SEO and context purpose) - description: Description of your article visible in search page results - # Authors of the article (can also be a list of authors such as: [first_author, second_author, third_author]) - # The complete list of valid author IDs is in `_data/authors.yml` - author: author_of_your_article - # Use tags for grouping content in the blog - # Add `lft` to group with other LFT talks - tags: [lft, and, other, tags] - # Bedrock color - color: rgb(251,87,66) - --- - ``` -3. Add content to the markdown file in order to add context to the video you are sharing. - - -## Add a conference - -There are two ways to publish a conference where you were a speaker. -Please note that creating a post is more likely to help our external communication. - -### Publish information about the conference - -If you just want to add a conference presentation to the listed ones, you can add your presentation in `_data/conferences.yaml`. - -List of the metadata allowed to add a new conference: - -```markdown -- title: "Title of the conference" - # Conference date - date: 1970-01-01 - # from _data/authors.yaml - author: conference_speaker - # Public event name - eventName: ****** - # Url to redirect to the event site (optional) - eventUrl: ****** - # Youtube video id (optional) - youtubeId: ****** - # Slideshare presentation key (from iframe integration) (optional) - slideshareKey: ****** - # Bedrock sponsored the event? (default: false) - sponsored: true - # Bedrock hosted the event? (default: false) - hosted: true -``` +## PR Previews + +Every pull request automatically gets a preview deployment on AWS Amplify +(configured via `amplify.yml` at the repo root). The preview URL is posted +as a status check on the PR. + +If the Amplify build fails: +- Check the Amplify console for build logs +- Verify Node version (Amplify uses Node 22 per `amplify.yml`) +- Verify `astro/package-lock.json` is up to date with `astro/package.json` +- See `ROLLBACK.md` for migration rollback if needed + +## Need help? -That's all folks! Your conference will be displayed in "Meetups & Conferences" page. -If there is a `youtubeId` key, the video will also be added to the "Replay" section. - - -### Create a post to present the conference - -1. Create a file in `__post` folder name matching this format `YYYY-MM-DD-slug-of-your-article.md` - Use the date the talk was first given in public. -2. Add the configuration of metadata at the beginning of this file: - ```markdown - --- - layout: conference - - # Title of the conference - title: Title of your conference - # Description of the page (for SEO and context purpose) - description: Description of your article visible in search page results - # from _data/authors.yaml - author: conference_speaker - # Public event name - eventName: ****** - # Url to redirect to the event site (optional) - eventUrl: ****** - # Youtube video id (optional) - youtubeId: ****** - # Slideshare presentation key (from iframe integration) (optional) - slideshareKey: ****** - # Bedrock sponsored the event? (default: false) - sponsored: true - # Bedrock hosted the event? (default: false) - hosted: true - - # Use tags for grouping content in the blog. - tags: [example, of, tags] - # this is Bedrock color here - color: rgb(251,87,66) - --- - ``` -3. Add content to the markdown file in order to add context to the presentation you are sharing. +Open an issue or ping the team on Slack. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index f511c17ac..000000000 --- a/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM ruby:3.1 - -COPY Gemfile Gemfile -COPY Gemfile.lock Gemfile.lock -COPY type-on-strap.gemspec type-on-strap.gemspec - -RUN gem install bundler -v 2.3.16 && gem install jekyll -v 4.3.3 && bundle install - -WORKDIR /var/content - -EXPOSE 8080 -EXPOSE 35729 -CMD ["bundle", "exec", "jekyll", "serve", "--source", ".", "--destination", "/var/_site/", "--host", "0.0.0.0", "--port", "8080", "--livereload", "--livereload-port", "35729", "--disable-disk-cache"] diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 2d1a75517..000000000 --- a/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" -gemspec -gem "jekyll-redirect-from", "~> 0.16.0" -gem "jekyll-twitter-plugin", "~> 2.1.0" -gem "webrick", "~> 1.7" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 2d5d90dda..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,108 +0,0 @@ -PATH - remote: . - specs: - type-on-strap (2.4.0) - jekyll (>= 3.8, < 5.0) - jekyll-feed (>= 0.15.1, < 0.16) - jekyll-paginate (~> 1.1.0) - jekyll-seo-tag (>= 2.7.1, < 2.8) - jekyll-twitter-plugin (>= 2.1.0) - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - colorator (1.1.0) - concurrent-ruby (1.3.3) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - eventmachine (1.2.7) - ffi (1.17.0-aarch64-linux-gnu) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-darwin) - ffi (1.17.0-x86_64-linux-gnu) - forwardable-extended (2.6.0) - google-protobuf (3.25.3-aarch64-linux) - google-protobuf (3.25.3-arm64-darwin) - google-protobuf (3.25.3-x86_64-darwin) - google-protobuf (3.25.3-x86_64-linux) - http_parser.rb (0.8.0) - i18n (1.14.5) - concurrent-ruby (~> 1.0) - jekyll (4.3.3) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (>= 2.0, < 4.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.3, >= 2.3.1) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (>= 0.3.6, < 0.5) - pathutil (~> 0.9) - rouge (>= 3.0, < 5.0) - safe_yaml (~> 1.0) - terminal-table (>= 1.8, < 4.0) - webrick (~> 1.7) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-paginate (1.1.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-sass-converter (3.0.0) - sass-embedded (~> 1.54) - jekyll-seo-tag (2.7.1) - jekyll (>= 3.8, < 5.0) - jekyll-twitter-plugin (2.1.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.4.0) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.4) - listen (3.9.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (6.0.0) - rb-fsevent (0.11.2) - rb-inotify (0.11.1) - ffi (~> 1.0) - rexml (3.3.2) - strscan - rouge (4.3.0) - safe_yaml (1.0.5) - sass-embedded (1.69.5-aarch64-linux-gnu) - google-protobuf (~> 3.23) - sass-embedded (1.69.5-arm64-darwin) - google-protobuf (~> 3.23) - sass-embedded (1.69.5-x86_64-darwin) - google-protobuf (~> 3.23) - sass-embedded (1.69.5-x86_64-linux-gnu) - google-protobuf (~> 3.23) - strscan (3.1.0) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) - unicode-display_width (2.5.0) - webrick (1.7.0) - -PLATFORMS - aarch64-linux - arm64-darwin-21 - universal-darwin-22 - x86_64-linux - -DEPENDENCIES - jekyll-redirect-from (~> 0.16.0) - jekyll-twitter-plugin (~> 2.1.0) - type-on-strap! - webrick (~> 1.7) - -BUNDLED WITH - 2.3.16 diff --git a/README.md b/README.md index 6262cc9c8..fa74a8138 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,12 @@ ### ✍ [How to contribute ?](/CONTRIBUTING.md) +## Tech Stack + +Built with [Astro](https://astro.build) + Content Collections + TypeScript. Deployed to GitHub Pages. + +The site was migrated from Jekyll to Astro in 2026. See [astro/REVIEW.md](/astro/REVIEW.md) for the migration review checklist. + ## Show your support Give a ⭐ if this project helped you! diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 04813fbf5..000000000 --- a/_config.yml +++ /dev/null @@ -1,66 +0,0 @@ -# SITE CONFIGURATION -baseurl: "" -url: "https://tech.bedrockstreaming.com" - -# THEME-SPECIFIC CONFIGURATION -title: Bedrock Tech Blog # Site's title -description: "Blog technique de Bedrock" # used by search engines -avatar: images/common/br-site-logo.jpg # Empty for no avatar in navbar -favicon: assets/favicon.png # Icon displayed in the tab - -# Header and footer text -header_text: Creating Streaming Champions # Change Blog header text -header_feature_image: images/common/banner_xl.jpg -header_feature_image_responsive: true -footer_text: > - Powered by Jekyll with Type on Strap - -# Blog -excerpt: true # Or "truncate" (first 250 characters), "false" to disable -post_navigation: true -color_image: /assets/img/lineart.png # A bit transparent for color posts. - -# Features -# More in the _data folder for share buttons, author and language -# For layout customization, go to the "_sass > base" folder, and check "_variables.scss" -katex: true # Enable if using math markup -matomo: true # Enable matomo tracking tool -mermaid: true # Enable mermaid-js for sequence and diagrams -google_analytics: # Tracking ID, e.g. "UA-000000-01" -cookie_consent: false # To respect the usage of cookies -color_theme: auto # auto, dark or light - -# Comments -comments: - disqus_shortname: # Your discus shortname for comments - cusdis_app_id: # Your cusdis data-app-id - utterances: # Enable by filling below information. For more info, go to https://utteranc.es - repo: # your public comments repository (e.g. owner/repo) - issue-term: # Issue term (e.g. "comment" consider issues with this word in the title as comments) - -# PAGINATION -paginate: 10 -paginate_path: "/blog/page:num" - -# BUILD SETTINGS -sass: - style: compressed -plugins: - [ - jekyll-paginate, - jekyll-seo-tag, - jekyll-feed, - jekyll-redirect-from, - jekyll-twitter-plugin, - ] -exclude: - [ - ".jekyll-cache", - ".jekyll-metadata", - ".idea", - "vendor/*", - "assets/node_modules/*", - ] - -# theme: type-on-strap # if using the theme as a jekyll theme gem -remote_theme: sylhare/Type-on-Strap # If using as a remote_theme in github diff --git a/_data/authors.yml b/_data/authors.yml deleted file mode 100644 index cd3a7dfc2..000000000 --- a/_data/authors.yml +++ /dev/null @@ -1,335 +0,0 @@ -# company -bedrock: - name: Bedrock - -# teams (alphabetically ordered) -team_backend: - name: Backend teams -team_cytron: - name: Cytron team - avatar: /images/avatar/cytron.png -team_frontend: - name: Frontend teams -team_lft: - name: LFTeam - -# people (alphabetically ordered) -a_caron: - name: Antoine Caron - avatar: /images/avatar/a_caron.jpeg - url: https://blog.slashgear.dev/ -a_ferez: - name: AmĂ©lie Ferez - avatar: /images/avatar/a_ferez.jpg -a_gaudard: - name: Arthur Gaudard - url: https://www.linkedin.com/in/arthur-gaudard/ -a_martins: - name: Alexis Martins -a_moutounet: - name: Anouk Moutounet -a_pitel: - name: Antoine Pitel -a_zinck: - name: Arthur Zinck - avatar: /images/avatar/a_zinck.png - url: https://www.z3k.fr -al_deboissieu: - name: Anne-Laure De Boissieu - avatar: /images/avatar/al_deboissieu.jpeg -b_candellier: - name: Baptiste Candellier - avatar: https://s.gravatar.com/avatar/c638445b4e00f76960bf7ee2275d7014?s=80 - url: https://baptiste.candellier.me -b_colin: - name: Benoit Colin - url: https://www.linkedin.com/in/becolin/ -b_garcia: - name: BĂ©nĂ©dicte Garcia -b_viguier: - name: Benoit Viguier - avatar: /images/avatar/b_viguier.png - url: https://twitter.com/b_viguier -c_berard: - name: ClĂ©ment Berard - url: https://berard.dev -c_chaplin: - name: Cory Chaplin - avatar: /images/avatar/c_chaplin.jpg - url: https://twitter.com/corychaplin -c_cousin: - name: Camille Cousin -c_goffoy: - name: CĂ©dric Goffoy -c_niel: - name: Camille Niel - url: https://www.camilleniel.com/ -c_petit: - name: Coraline Petit -c_pettinelli: - name: Chiara Pettinelli -c_vanderzwaard: - name: Christian Van Der Zwaard - avatar: /images/avatar/c_vanderzwaard.jpg - url: https://twitter.com/christianvdz -d_cuny: - name: Damien Cuny -d_krieger: - name: Damien Krieger -d_larue: - name: David Larue -d_petrilli: - name: Damien Petrilli -d_roussel: - name: Denis - avatar: /images/avatar/d_roussel.jpg -d_yim: - name: David Yim -e_carneau: - name: Elise Carenau -e_doyon: - name: Etienne Doyon - avatar: /images/avatar/e_doyon.jpeg -e_idoux: - name: Etienne Idoux -e_herve: - name: Emmanuel Herve -e_perrin: - name: Élodie Perrin - avatar: /images/avatar/e_perrin.jpeg -f_desaintpern: - name: Fabien De Saint Pern -f_dubost: - name: Florent Dubost - avatar: /images/avatar/f_dubost.jpg - url: https://twitter.com/fooragnak -f_dumas: - name: Fabien Dumas -f_ferriere: - name: Florian FerriĂšre -f_lepretre: - name: Florent LeprĂȘtre - url: https://twitter.com/SuperFlaw -f_vieudrin: - name: Frederic Vieudrin - url: https://twitter.com/fvieudrin -g_bouyge: - name: Guillaume Bouyge -g_damour: - name: GaĂ«l Damour -g_forien: - name: Gabriel Forien -g_treme: - name: Guillaume TrĂ©mĂ© -g_sanchez: - name: GrĂ©gory SANCHEZ - url: https://github.com/chubchubsancho -h_detang: - name: Hugo Detang -h_riffiod: - name: Hugo Riffiod - avatar: /images/avatar/h_riffiod.jpg -jf_farge: - name: Jean-François Farge - avatar: /images/avatar/jf_farge.jpeg -jy_camier: - name: Jean-Yves Camier - url: https://twitter.com/Saaraahka -j_foray: - name: JĂ©rĂŽme Foray -j_hardeman: - name: JĂ©rĂŽme Hardeman -j_mastounga: - name: Jules Matsounga -j_menan: - name: Julien Menan - avatar: /images/avatar/j_menan.jpg - url: https://twitter.com/julien_menan -j_nginn: - name: Julie Nginn - avatar: https://ca.slack-edge.com/T108ZKPMF-U01FQRQ8FT7-dfb12b21fb0d-192 -j_planckeel: - name: JĂ©rĂ©my Planckeel - url: https://github.com/jplanckeel -j_poissonnet: - name: Jules Poissonnet - url: https://github.com/jpoissonnet - avatar: /images/avatar/j_poissonnet.jpg -j_sulpis: - name: Julien Sulpis -k_dits: - name: Kenny Dits - avatar: /images/avatar/k_dits.jpg - url: https://twitter.com/kenny_dee -k_phan: - name: Kelly Phan -l_caillet: - name: Laurent Caillet - avatar: /images/avatar/l_caillet.jpg - url: https://www.linkedin.com/in/laurent-caillet/ -l_penaguin: - name: LĂ©o Penaguin - url: https://leopng.com - avatar: /images/avatar/l_penaguin.jpg -m_agack: - name: Moustapha Agack -m_alves: - name: Mickael Alves - avatar: /images/avatar/m_alves.jpg - url: https://mickaelalvs.dev -m_bayard: - name: Maxime Bayard - avatar: /images/avatar/m_bayard.png - url: https://www.linkedin.com/in/maximebayard/ -m_benali: - name: Marwa Ben Ali - avatar: /images/avatar/m_benali.jpg -m_bernier: - name: Maxence Bernier - avatar: /images/avatar/m_bernier.png -m_blanc: - name: Maxime Blanc - avatar: /images/avatar/m_blanc.jpeg - url: https://maximeblanc.fr -m_julieron: - name: Marine Julieron - avatar: /images/avatar/m_julieron.jpg -m_millet: - name: Morgan Millet -m_mure: - name: Mathieu Mure - url: https://twitter.com/mathieumure -m_oudji: - name: Maeva Oudji -m_randy: - name: Mikael Randy - avatar: /images/avatar/m_randy.png - url: https://twitter.com/mikaelrandy -m_lemoal: - name: Maxime Le Moal -m_lopez: - name: Mathieu Lopez -m_schneider: - name: Martin Schneider - url: https://github.com/martinschneider01 - avatar: /images/avatar/m_schneider.png -n_alscher: - name: Nicolas Alscher -n_boiron: - name: Nathan Boiron - url: https://mopolo.dev -n_galais: - name: Nicolas Galais -n_saby: - name: Nastasia Saby - url: https://twitter.com/saby_nastasia -o_balystky: - name: Oleksandr Balystky -o_janin: - name: Olivier Janin -o_mansour: - name: Olivier Mansour - avatar: /images/avatar/o_mansour.jpg - url: https://twitter.com/omansour -o_noel: - name: Olivier Noel - avatar: /images/avatar/o_noel.jpg -o_thebault: - name: Oliver ThĂ©bault - avatar: /images/avatar/o_thebault.png - url: https://oliver-thebault.com -o_weber: - name: Orann Weber -p_halter: - name: Pascal Halter -p_martin: - name: Pascal Martin - url: https://twitter.com/pascal_martin -p_rambaud: - name: Pauline Rambaud - url: https://twitter.com/pauinegu -pa_bedu: - name: Pierre-Alain BEDU - url: https://twitter.com/pa_bedu -pl_perez: - name: Pierre-Loup Perez - avatar: /images/avatar/pl_perez.jpeg -pt_guillot: - name: Pierre-Thomas Guillot -q_gillie: - name: Quentin Gillie -q_nambot: - name: Quentin Nambot -r_panoyan: - name: Rafi Panoyan - url: https://twitter.com/rafipanoyan -s_drode: - name: Sebastien Drode -s_gougouzian: - name: Sylvain Gougouzian -s_guyon: - name: Sylvain Guyon -s_masson: - name: Sylvain Masson -s_menassa: - name: Serge Menassa -s_haim: - name: Sarah HaĂŻm-Lubczanski - url: https://twitter.com/sarahhaim -s_lescano: - name: Sofia Lescano - url: https://twitter.com/SofLesc - avatar: /images/avatar/s_lescano.jpeg -s_zoccarato: - name: Sylvain Zoccarato - avatar: https://ca.slack-edge.com/T108ZKPMF-UN73NDMTR-1254cd998d50-512 -t_aufort: - name: TimothĂ©e Aufort - url: https://twitter.com/TimAufort -t_briset: - name: Thomas Briset -t_courtoison: - name: Thibaud Courtoison -t_crespy: - name: TimothĂ© Crespy - url: https://timothecrespy.fr/ - avatar: /images/avatar/t_crespy.jpg -t_falconnet: - name: Tanguy Falconnet - url: https://twitter.com/TanguyFalconnet - avatar: /images/avatar/t_falconnet.jpg -t_geindre: - name: Thierry Geindre - url: https://github.com/t-geindre/ -t_gianella: - name: ThĂ©o Gianella - avatar: /images/avatar/t_gianella.jpeg -t_jarrand: - name: Thomas Jarrand -t_sontag: - name: Thomas Sontag -v_chabrier: - name: Valentin Chabrier - url: https://github.com/Eriwyr -v_claras: - name: Valentin Claras - avatar: /images/avatar/v_claras.jpg -v_clavreul: - name: Valentin Clavreul -v_gallissot: - name: Vincent Gallissot - url: https://twitter.com/vgallissot -v_pelus: - name: Valentin Pelus - url: https://github.com/valentinpelus -y_chauvel: - name: Yann Chauvel -y_clauss: - name: Yves Clauss - avatar: /images/avatar/y_clauss.png -y_ferlin: - name: Yorick Ferlin -y_frommelt: - name: Yoann Frommelt - avatar: /images/avatar/y_frommelt.jpeg - url: https://github.com/yfrommelt diff --git a/_data/biblio.yaml b/_data/biblio.yaml deleted file mode 100644 index 56970af42..000000000 --- a/_data/biblio.yaml +++ /dev/null @@ -1,7 +0,0 @@ -- authors: John Smith - title: A Title About Citations - key: ref1 - -- authors: Michael's Rose - title: "[Minimal Mistakes](https://mmistakes.github.io/minimal-mistakes/markup-syntax-highlighting)" - key: highlight diff --git a/_data/conferences.yaml b/_data/conferences.yaml deleted file mode 100644 index 4a8fcb18e..000000000 --- a/_data/conferences.yaml +++ /dev/null @@ -1,182 +0,0 @@ -- title: "Le second Ă©cran chez M6Web, another (php) brick in the wall !" - date: 2015-05-13 - author: o_mansour - eventName: PHPTour Luxembourg 2015 - eventUrl: https://event.afup.org/phptourluxembourg2015__programme/ - youtubeId: VPYFnaX_5Tg - -- title: "Retour d’expĂ©rience : rĂ©aliser des Workers en PHP" - date: 2016-05-23 - author: f_desaintpern - eventName: PHPTour Clermont‑Ferrand 2016 - eventUrl: https://event.afup.org/php-tour-2016/home-phptour-2016/ - youtubeId: 0A5tbrMarGA - -- title: "Machine learning sans magie et sans s'arracher les cheveux" - date: 2019-11-14 - author: n_saby - description: Comprendre le machine learning en prenant l'exemple d'un barbecue. - youtubeId: 5c120IGLHk8 - -- title: "Webpack Workshop" - date: 2020-01-22 - author: a_caron - eventName: Snowcamp 2020 - eventUrl: https://snowcamp.io/fr/ - -- title: "Apache Spark et le machine learning : rĂȘves et rĂ©alitĂ©s" - date: 2020-02-10 - author: n_saby - eventName: Scala IO - eventUrl: https://scala.io/ - youtubeId: 8e2TOelpqds - -- title: "âšĄïž Vite âšĄïž the Webpack killer" - date: 2020-06-10 - author: [a_caron, m_mure] - eventName: LyonJS Meetup - eventUrl: https://www.meetup.com/fr-FR/LyonJS/events/278441866/ - -- title: "Webpack Workshop" - date: 2020-09-07 - author: a_caron - eventName: Paris Web - eventUrl: https://www.paris-web.fr/2019/ateliers/webpack-workshop.php - -- title: "Productionizing ML Systems without Fear nor Heroism" - author: n_saby - date: 2021-05-25 - eventName: DataTalks.Club - eventUrl: https://datatalks.club/ - youtubeId: KkOGMaz4Xws - -- title: "âšĄïž Vite âšĄïž the Webpack killer" - date: 2021-09-08 - author: [a_caron, m_mure] - eventName: JUG Summer Camp - eventUrl: https://www.jugsummercamp.org/edition/12/presentations/QYeD36ff9h4A8v243Hu3 - -- title: "âšĄïž Vite âšĄïž the Webpack killer" - date: 2021-11-10 - author: [a_caron, m_mure] - eventName: Devfest Nantes - eventUrl: https://devfest2021.gdgnantes.com/sessions/_%EF%B8%8F_vite_%EF%B8%8Fthe_webpack_killer/ - -- title: Comment ne pas jeter son application Frontend tous les deux ans ? - date: 2022-02-05 - author: [f_dubost, a_caron] - eventName: Snowcamp 2022 - eventUrl: https://snowcamp.io/fr/ - -- title: "Transformer le load balancing pour optimiser le cache : objectif 50 millions d’utilisateurs" - date: 2022-04-12 - author: v_gallissot - eventName: AWS Summit Paris - eventUrl: https://aws.amazon.com/fr/events/summits/paris/ - -- title: "PrĂ©parez et donnez votre premier talk" - date: 2022-04-12 - author: p_martin - eventName: AWS Summit Paris - eventUrl: https://aws.amazon.com/fr/events/summits/paris/ - -- title: "Êtes-vous bien architecturĂ© ?" - date: 2022-04-12 - author: p_martin - eventName: AWS Summit Paris - eventUrl: https://aws.amazon.com/fr/events/summits/paris/ - -- title: "Open Policy Agent avec KICS de chez Checkmarx" - date: 2022-05-13 - author: jy_camier - description: | - Chez Bedrock Streaming, tous le monde est responsable de son infrastructure Cloud : les dĂ©veloppeurs backend et frontend, les data analyst, les ingĂ©nieurs vidĂ©o et mĂȘme les Ops et les DevOps ! De ce fait, une part considĂ©rable de notre travail consiste Ă  accompagner les dĂ©veloppeurs, de la montĂ©e en compĂ©tence sur l'usage de nos outils jusqu'Ă  la conception d'architecture cloud rĂ©silliente. Il s'avĂšre que dans le cadre d'une revue de code, en tant que DevOps, nous rĂ©pĂ©tons souvent les mĂȘmes choses. En mettant en place de l'analyse statique avec KICS et OPA, nous parions sur l'avenir d'un outil et d'une communautĂ© jeune pour nous aider Ă  rĂ©duire le temps entre la revue de code et la mise en production: - - en augmentant la qualitĂ© de nos infrastructures cloud - - en rĂ©duisant les coĂ»ts de cette infrastructure - eventName: Docker meetup - eventUrl: https://www.meetup.com/fr-FR/docker-lyon/events/285057478/ - sponsored: true - hosted: true - -- title: "Documentation : Let’s make it better, now, together!" - date: 2022-10-28 - author: s_haim - eventName: PGConf Europe 2022 - eventUrl: https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3881-documentation-lets-make-it-better-now-together/ - sponsored: true - -- title: "Documentation : Let’s make it better, now, together!" - date: 2023-03-23 - author: s_haim - eventName: pgDay Paris 2023 - eventUrl: https://www.postgresql.eu/events/pgdayparis2023/schedule/session/4303-documentation-lets-make-it-better-now-together/ - youtubeId: MrcqWPEbwLI - sponsored: true - -- title: "Rust at Bedrock" - date: 2023-04-06 - author: y_clauss - eventName: Meetup Rust Lyon - eventUrl: https://www.meetup.com/fr-FR/rust-lyon/events/292283973/ - sponsored: true - hosted: true - -- title: "Introducing the Tokio stack" - date: 2023-04-06 - author: o_thebault - eventName: Meetup Rust Lyon - eventUrl: https://www.meetup.com/fr-FR/rust-lyon/events/292283973/ - sponsored: true - hosted: true - -- title: "Bienvenue dans le monde merveilleux des systĂšmes distribuĂ©s !" - date: 2023-04-13 - author: p_martin - eventName: MiXiT 2023 - eventUrl: https://mixitconf.org/2023/bienvenue-dans-le-monde-merveilleux-des-systemes-distribues- - -- title: "Mentors : super-hĂ©ros ou super-vilains ?" - date: 2023-05-12 - author: p_rambaud - eventName: AFUP Day Lyon 2023 - eventUrl: https://event.afup.org/afup-day-2023/afup-day-2023-lyon/programme/#4190 - sponsored: true - -- title: "DĂ©ploiement vers Kubernetes : autonomie et automatisation, mieux que copier-coller du YAML !" - date: 2023-06-06 - author: p_martin - eventName: Meetup CafĂ© DevOps - eventUrl: https://www.youtube.com/live/D8heuC6JKm0?feature=share&t=450 - sponsored: true - -- title: " AmĂ©liorons ensemble la doc de #Postgres" - date: 2023-06-19 - author: s_haim - description: "La documentation est le meilleur moyen de rassembler le savoir et de rendre les informations disponibles pour le plus grand nombre et de faire progresser tout le monde, des personnes dĂ©butantes aux plus avancĂ©es dans PostgreSQL. Prenons quelques pages de documentation de votre logiciel prĂ©fĂ©rĂ©, et examinons comment nous pourrions les amĂ©liorer. Avec quelques efforts sur le contenu et la prĂ©sentation, votre documentation pourrait ĂȘtre plus lisible, et plus utile Ă  la communautĂ©. Quelques astuces pour produire directement une bonne documentation sont Ă©galement au menu, tout comme l'art de relire une documentation existante." - eventName: PG Day France 2023 (Strasbourg) - youtubeId: B665IfwnlU0 - sponsored: true - -- title: "Une application rĂ©siliente, dans un monde partiellement dĂ©gradĂ©" - date: 2024-04-17 - author: p_martin - eventName: Devoxx France - eventUrl: https://www.youtube.com/watch?v=exk5343fTuM - -- title: "L’aventure d’une requĂȘte HTTP — ou le chemin de la vie des devs" - date: 2024-10-10 - author: p_martin - eventName: Forum PHP - eventUrl: https://www.youtube.com/watch?v=penIr9E0Qbo - -- title: "Load-testons M6+ pour prĂ©parer l’Euro 2024 !" - date: 2025-04-17 - author: b_colin - eventName: Devoxx France 2025 - eventUrl: https://www.devoxx.fr/en/agenda-2025/talk/load-testons-m6-pour-preparer-l-euro-2024/ - -- title: "L’aventure d’une requĂȘte HTTP — ou le chemin de la vie des devs" - date: 2025-04-30 - author: p_martin - eventName: MiXiT 2025 - eventUrl: https://mixitconf.org/2025/l-aventure-d-une-requete-http-ou-le-chemin-de-la-vie-des-devs diff --git a/_data/icons.yml b/_data/icons.yml deleted file mode 100644 index 73f709d1f..000000000 --- a/_data/icons.yml +++ /dev/null @@ -1,37 +0,0 @@ -# For the Icons on the footer of the website -# For the Share buttons at the end of the articles, use the "social.yml" -behance: -bitbucket: -calendly: -dribbble: -facebook: -flickr: -github: BedrockStreaming -gitlab: -google-scholar: # e.g. "WXAAOb0AAAAJ" -instagram: -hacker-news: -keybase: -linkedin: bedrock-streaming -mail: # e.g. "sam@mail.com" -map: # e.g. "34.0886/-118.3191" -mastodon: # e.g. "fostodon.org/@sam" -matrix: # e.g. "@sam:matrix.org" -medium: -patreon: -phone: # e.g. "+11111111111" -pinterest: -reddit: -soundcloud: -sms: # e.g. "+11111111111" -stack-exchange: # e.g. "123456789" -stack-overflow: # e.g. "123456789" -steam: -telegram: -tumblr: -twitch: -twitter: Bedrock_Tech -vimeo: -vk: -wordpress: -youtube: "UCSwvTdCWHS6ulRaIqdk7lNw" diff --git a/_data/icons_builder.yml b/_data/icons_builder.yml deleted file mode 100644 index 0637ae5b0..000000000 --- a/_data/icons_builder.yml +++ /dev/null @@ -1,82 +0,0 @@ -# Default data to build the footer icons -# DO NOT MODIFY, use the "icons.yml" instead. -behance: - pre: "https://www.behance.net/" -bitbucket: - pre: "https://bitbucket.org/" -calendly: - pre: "https://calendly.com/" - icon: "far fa-calendar-plus" -dribbble: - pre: "https://www.dribbble.com/" -facebook: - pre: "https://www.facebook.com/" -flickr: - pre: "https://flickr.com/photos/" -github: - pre: "https://github.com/" -gitlab: - pre: "https://gitlab.com/" -google-scholar: - pre: "https://scholar.google.com/citations?hl=en&user=" - icon: "fas fa-user-graduate" -instagram: - pre: "https://instagram.com/" -hacker-news: - pre: "https://news.ycombinator.com/user?id=" -keybase: - pre: "https://keybase.io/" -linkedin: - pre: "https://www.linkedin.com/company/" -mail: - pre: "mailto:" - icon: "fas fa-envelope" -map: - pre: "https://www.openstreetmap.org/#map=15/" - icon: "fas fa-map-marked" -mastodon: - pre: "https://" -matrix: - pre: "https://matrix.to/#/" - icon: "fab fa-connectdevelop" -medium: - pre: "https://medium.com/@" -patreon: - pre: "https://www.patreon.com/" -phone: - pre: "tel:" - icon: "fas fa-phone" -pinterest: - pre: "https://www.pinterest.com/" -reddit: - pre: "https://www.reddit.com/user/" -soundcloud: - pre: "https://soundcloud.com/" -sms: - pre: "sms:" - pos: "?body=Hi" - icon: "fas fa-sms" -stack-exchange: - pre: "https://stackexchange.com/users/" -stack-overflow: - pre: "https://stackoverflow.com/users/" -steam: - pre: "https://steamcommunity.com/id/" -telegram: - pre: "https://t.me/" -tumblr: - pre: "https://" - pos: ".tumblr.com/" -twitch: - pre: "https://twitch.tv/" -twitter: - pre: "https://twitter.com/" -vimeo: - pre: "https://vimeo.com/" -vk: - pre: "https://vk.com/" -wordpress: - pre: "https://" - pos: ".wordpress.com/" -youtube: - pre: "https://www.youtube.com/channel/" diff --git a/_data/language.yml b/_data/language.yml deleted file mode 100644 index 377d5b21b..000000000 --- a/_data/language.yml +++ /dev/null @@ -1,20 +0,0 @@ -# Localization strings -str_follow_on: "Follow on" -str_rss_follow: "Follow RSS feed" -str_share_on: "Share on" -str_add_to: "Add to" -str_email: "Email" -str_tweet: "Tweet" -str_pin_it: "Pin it" -str_next_post: "Next post" -str_previous_post: "Previous post" -str_next_page: "Next" -str_previous_page: "Prev" -str_javascript_required_disqus: "Please enable JavaScript to view comments." -str_no_result_found: "No result found" -str_cookie_approve: "Approve" -str_cookie_disclaimer: "We would like to use third party cookies and scripts to improve the functionality of this website." -str_months: [January, February, March, April, May, June, July, August, September, October, November, December] - -# Localization settings -cusdis_lang: # zh-cn, es, tr, pt-BR diff --git a/_data/social.yml b/_data/social.yml deleted file mode 100644 index e6ed3d0a8..000000000 --- a/_data/social.yml +++ /dev/null @@ -1,16 +0,0 @@ -# RSS specific -rss: true # Icons on the footer -feed: - path: feed.xml # RSS feed path - -# For the share button options at the bottom of the articles -share: - email: true - facebook: false - linkedin: true - pinterest: false - pocket: - reddit: false - tumblr: false - twitter: true - wordpress: diff --git a/_includes/aligner.html b/_includes/aligner.html deleted file mode 100644 index ad88ce529..000000000 --- a/_includes/aligner.html +++ /dev/null @@ -1,19 +0,0 @@ -{% assign images = include.images | split: ',' %} - -{% if include.column == "auto" %} -{% assign column = 100.0 | divided_by: images.size %} -{% elsif include.column > 0 %} -{% assign column = 100.0 | divided_by: include.column %} -{% endif %} - -
- {% for image in images %} -
- {{ image | prepend: '/' | split: '/' | last }} -
- {% endfor %} -
- -{% assign column = false %} diff --git a/_includes/blog/blog.liquid b/_includes/blog/blog.liquid deleted file mode 100644 index 802cb8277..000000000 --- a/_includes/blog/blog.liquid +++ /dev/null @@ -1,37 +0,0 @@ -
- {% unless paginator.posts %} -

There are no blog posts

- {% endunless %} - {% for post in paginator.posts %} - - {% endfor %} -
- -{% include blog/blog_nav.liquid %} diff --git a/_includes/blog/blog_nav.liquid b/_includes/blog/blog_nav.liquid deleted file mode 100644 index de8a3aeda..000000000 --- a/_includes/blog/blog_nav.liquid +++ /dev/null @@ -1,43 +0,0 @@ -{% if paginator.total_pages > 1 %} - -{% endif %} diff --git a/_includes/blog/post_info.liquid b/_includes/blog/post_info.liquid deleted file mode 100644 index a34cd3635..000000000 --- a/_includes/blog/post_info.liquid +++ /dev/null @@ -1,40 +0,0 @@ - diff --git a/_includes/blog/post_nav.liquid b/_includes/blog/post_nav.liquid deleted file mode 100644 index eb10d6938..000000000 --- a/_includes/blog/post_nav.liquid +++ /dev/null @@ -1,19 +0,0 @@ -
- {% if page.next.url %} - - {% endif %} - - {% if page.previous.url %} - - {% endif %} -
diff --git a/_includes/citation.html b/_includes/citation.html deleted file mode 100644 index b05ebecc4..000000000 --- a/_includes/citation.html +++ /dev/null @@ -1,2 +0,0 @@ -{%- assign citation = site.data.biblio | where:"key", include.key | first -%} -{{citation.authors}}, {{citation.title}} \ No newline at end of file diff --git a/_includes/default/footer.liquid b/_includes/default/footer.liquid deleted file mode 100644 index 782372f49..000000000 --- a/_includes/default/footer.liquid +++ /dev/null @@ -1,12 +0,0 @@ -
-

- {{ site.footer_text | default: "Powered by Jekyll with Type on Strap" }}

- -
- - diff --git a/_includes/default/head.liquid b/_includes/default/head.liquid deleted file mode 100644 index 871e73242..000000000 --- a/_includes/default/head.liquid +++ /dev/null @@ -1,109 +0,0 @@ - - - - - {% if site.color_theme == 'auto' %} - - - {% else %} - - {% endif %} - - - - - - - - - - - {% if page.bootstrap %} - - - - - - - - - {% endif %} - - {% if site.katex or site.theme_settings.katex %} - - - - {% endif %} - - {% if site.mermaid %} - - - {% endif %} - - - - - {% if site.matomo and jekyll.environment != "preview" %} - - - {% endif %} - - - - - {% if site.cookie_consent %} - {{ site.data.language.str_cookie_disclaimer | default: "We would like to use third party cookies and scripts to improve the functionality of this website." }} - {{ site.data.language.str_cookie_approve | default: "Approve" }} - - {% endif %} - {% if site.google_analytics %} - - - - - {% endif %} - - - - {% unless page.layout == post %} - - {% endunless %} - {% seo %} - - - - {% feed_meta %} - - - - - {% if site.data.social.twitter %} - - - {% endif %} - - - - diff --git a/_includes/default/navbar.liquid b/_includes/default/navbar.liquid deleted file mode 100644 index eeaf4d6e1..000000000 --- a/_includes/default/navbar.liquid +++ /dev/null @@ -1,45 +0,0 @@ - diff --git a/_includes/default/tags_list.liquid b/_includes/default/tags_list.liquid deleted file mode 100644 index c70aefe31..000000000 --- a/_includes/default/tags_list.liquid +++ /dev/null @@ -1,21 +0,0 @@ -{% assign tags = include.tags | split:'|' | sort | uniq %} - -{% if tags.size > 0 %} -
-
    - {% if tags.size == 1 %} -
  • Tag
  • - {% else %} -
  • Tags
  • - {% endif %} - - {% for tag in tags %} -
  • -

    {{ tag }}

    -
  • - {% endfor %} -
-
-{% else %} -
-{% endif %} diff --git a/_includes/gallery.html b/_includes/gallery.html deleted file mode 100644 index 84e8748fb..000000000 --- a/_includes/gallery.html +++ /dev/null @@ -1,22 +0,0 @@ - - -
-
-
-{% for image in site.static_files %} - {% if image.path contains include.gallery_path %} - {% unless image.path contains '.md' %} - - {% endunless %} - {% endif %} -{% endfor %} -
- - - diff --git a/_includes/portfolio.html b/_includes/portfolio.html deleted file mode 100644 index 1ac7df1da..000000000 --- a/_includes/portfolio.html +++ /dev/null @@ -1,15 +0,0 @@ - -
- {% for item in site.portfolio %} - - {% endfor %} -
diff --git a/_includes/social/cusdis.liquid b/_includes/social/cusdis.liquid deleted file mode 100644 index 67490704e..000000000 --- a/_includes/social/cusdis.liquid +++ /dev/null @@ -1,13 +0,0 @@ -
- -{% if site.data.language.cusdis_lang %} - -{% endif %} - diff --git a/_includes/social/disqus.liquid b/_includes/social/disqus.liquid deleted file mode 100644 index 3becd3936..000000000 --- a/_includes/social/disqus.liquid +++ /dev/null @@ -1,12 +0,0 @@ -
-
- - -
diff --git a/_includes/social/icons.liquid b/_includes/social/icons.liquid deleted file mode 100644 index df87adb6e..000000000 --- a/_includes/social/icons.liquid +++ /dev/null @@ -1,36 +0,0 @@ -{% if site.data.social.rss or site.theme_settings.rss %} -
  • - - - - - - -
  • -{% endif %} - -{% for footer in site.data.icons %} - {% unless footer[1] == nil %} - {% assign brand = footer[0] %} - {% assign id = footer[1] %} - {% assign data = site.data.icons_builder[brand] %} - {% if data.icon == nil %} - {% assign icon = "fab fa-" | append: brand %} - {% else %} - {% assign icon = data.icon %} - {% endif %} -
  • - - - - - - -
  • - {% endunless %} -{% endfor %} diff --git a/_includes/social/share_buttons.liquid b/_includes/social/share_buttons.liquid deleted file mode 100644 index 68313e0c5..000000000 --- a/_includes/social/share_buttons.liquid +++ /dev/null @@ -1,92 +0,0 @@ -{% if site.data.social.share.facebook or site.theme_settings.share_buttons.facebook - or site.data.social.share.twitter or site.theme_settings.twitter - or site.data.social.share.tumblr or site.theme_settings.tumblr - or site.data.social.share.pinterest or site.theme_settings.pinterest - or site.data.social.share.pocket or site.theme_settings.pocket - or site.data.social.share.reddit or site.theme_settings.reddit - or site.data.social.share.linkedin or site.theme_settings.linkedin - or site.data.social.share.wordpress or site.theme_settings.wordpress - or site.data.social.share.email or site.theme_settings.email %} - - - -{% endif %} diff --git a/_includes/social/utterances.liquid b/_includes/social/utterances.liquid deleted file mode 100644 index 35dac6cce..000000000 --- a/_includes/social/utterances.liquid +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/_layouts/conference-list.liquid b/_layouts/conference-list.liquid deleted file mode 100644 index 69a60b3fb..000000000 --- a/_layouts/conference-list.liquid +++ /dev/null @@ -1,117 +0,0 @@ ---- -layout: page ---- - -
    - - - {{ content }} - - {% assign postConferences = site.posts | where: 'layout', 'conference' %} - {% assign allConferences = site.data.conferences | concat: postConferences | sort: 'date' | reverse %} - - {% assign conferencesByYear = allConferences | group_by_exp: "conference", "conference.date | date: '%Y'" %} - - {% for conferenceYear in conferencesByYear %} - {% assign conferencesByEvent = conferenceYear.items | group_by_exp: "conference", "conference.eventName" %} -

    {{ conferenceYear.name }}

    - - {% endfor %} - -

    Replays

    - -

    Here is the list of the replay of talks given during these events:

    - -
    - {% assign videoPosts = allConferences | where_exp: 'conference', 'conference.youtubeId' %} - {% for post in videoPosts %} - {% assign author = site.data.authors[post.author] %} - {% assign date = post.date | default: "today" | date: "%B %-d, %Y" %} - {% if post.url %}{% assign url = post.url %}{% else %}{% assign url = "https://www.youtube.com/watch?v=" | append: post.youtubeId %}{% endif %} - -
    - -
    -
    {{ post.title }}
    -
    - {% if author.name %} -
    {{ author.name }}
    - {% endif %} -
    {{ site.data.language.str_months[x] | default: date | date: "%B" }} {{ date | date: "%d, %Y" }}
    -
    -
    -
    - {% endfor %} -
    -
    \ No newline at end of file diff --git a/_layouts/conference.liquid b/_layouts/conference.liquid deleted file mode 100644 index 48bfe6e58..000000000 --- a/_layouts/conference.liquid +++ /dev/null @@ -1,109 +0,0 @@ ---- -layout: default ---- -
    -
    -
    - {% if page.hide_title %} -
    - {% else %} -

    {{ page.title }}

    - {% include blog/post_info.liquid authors=page.author date=page.date %} - {% endif %} -
    -
    - -
    - {% if page.bootstrap %} -
    - {% endif %} - {{ content }} - {% if page.bootstrap %} -
    - {% endif %} - - {% assign author = site.data.authors[page.author] %} -

    - - Par - {% for author in page.author %} - {% assign authorDetail = site.data.authors[author] %} - {% if authorDetail.url %}{% endif %} - {{ authorDetail.name }} - {% if authorDetail.url %}{% endif %} - {% unless forloop.last %} et {% endunless %} - {% endfor %} - - - {{ page.eventName }} - -

    - - {% if page.youtubeId %} - - {% endif %} - - {% if page.slideshareKey %} - - {% endif %} - - {% if page.conferenceUrl %} -

    Lien vers la conférence

    - {% endif %} -
    - - - {% include social/share_buttons.liquid %} - - - {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %} - {% include default/tags_list.liquid tags=tag_list %} - -
    - - -{% if site.post_navigation or site.theme_settings.post_navigation %} -{% include blog/post_nav.liquid %} -{% endif %} - - -{% if site.comments.utterances.repo and site.comments.utterances.issue-term %} {% include social/utterances.liquid %} {% endif %} - - -{% if site.comments.cusdis_app_id or site.cusdis_app_id %}{% include social/cusdis.liquid %}{% endif %} - - -{% if site.comments.disqus_shortname or site.theme_settings.disqus_shortname or site.disqus_shortname %} -{% include social/disqus.liquid %}{% endif %} - - - diff --git a/_layouts/custom.liquid b/_layouts/custom.liquid deleted file mode 100644 index f238c4b72..000000000 --- a/_layouts/custom.liquid +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: default ---- - -
    -
    - {% unless page.hide_title %} -

    {{ page.title }}

    - {% endunless %} - {% if page.is_post %} - {% include blog/post_info.liquid authors=page.author date=page.date %} - {% endif %} -
    -
    {{ content }}
    - -
    - - {% if include.is_post %} {% include social/share_buttons.html %} {% endif %} - - - {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %} - {% include default/tags_list.liquid tags=tag_list %} -
    - -
    - - -{% if site.post_navigation %} -{% include blog/post_nav.liquid %} -{% endif %} - - -{% if site.cusdis_app_id %}{% include social/cusdis.liquid %}{% endif %} - - -{% if site.disqus_shortname or site.theme_settings.disqus_shortname %} -{% include social/disqus.liquid %}{% endif %} diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index dc0f72adf..000000000 --- a/_layouts/default.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - {% include default/head.liquid %} - - {% include default/navbar.liquid %} -
    - {{ content }} -
    - {% include default/footer.liquid %} - - diff --git a/_layouts/home.liquid b/_layouts/home.liquid deleted file mode 100644 index 546ce0621..000000000 --- a/_layouts/home.liquid +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: default ---- - -
    - -
    -

    {{ site.header_text | default: "Change header_text in _config.yml"}}

    -
    - - {% include blog/blog.liquid %} - -
    diff --git a/_layouts/page.liquid b/_layouts/page.liquid deleted file mode 100644 index e8f8f647a..000000000 --- a/_layouts/page.liquid +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: default ---- - -
    - -
    -
    - {% if page.hide_title %} -
    - {% else %} -

    {{ page.title }}

    - {% if page.subtitle %} -

    {{ page.subtitle }}

    - {% endif %} - {% endif %} -
    -
    - -
    - {% if page.bootstrap %} -
    - {% endif %} - {{ content }} - {% if page.bootstrap %} -
    - {% endif %} -
    - - - - {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %} - {% include default/tags_list.liquid tags=tag_list %} - -
    diff --git a/_layouts/post.liquid b/_layouts/post.liquid deleted file mode 100644 index 16bd88330..000000000 --- a/_layouts/post.liquid +++ /dev/null @@ -1,81 +0,0 @@ ---- -layout: default ---- -
    -
    -
    - {% if page.hide_title %} -
    - {% else %} -

    {{ page.title }}

    - {% include blog/post_info.liquid authors=page.author date=page.date %} - {% endif %} -
    -
    - -
    - {% if page.bootstrap %} -
    - {% endif %} - {{ content }} - {% if page.bootstrap %} -
    - {% endif %} -
    - - - {% include social/share_buttons.liquid %} - - - {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %} - {% include default/tags_list.liquid tags=tag_list %} - -
    - - -{% if site.post_navigation or site.theme_settings.post_navigation %} -{% include blog/post_nav.liquid %} -{% endif %} - - -{% if site.comments.utterances.repo and site.comments.utterances.issue-term %} {% include social/utterances.liquid %} {% endif %} - - -{% if site.comments.cusdis_app_id or site.cusdis_app_id %}{% include social/cusdis.liquid %}{% endif %} - - -{% if site.comments.disqus_shortname or site.theme_settings.disqus_shortname or site.disqus_shortname %} -{% include social/disqus.liquid %}{% endif %} - - - diff --git a/_layouts/search.liquid b/_layouts/search.liquid deleted file mode 100644 index c039bf485..000000000 --- a/_layouts/search.liquid +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: page ---- - - - -
    -
    -
      - -
      - -
      diff --git a/_layouts/tags.liquid b/_layouts/tags.liquid deleted file mode 100644 index 8456ad627..000000000 --- a/_layouts/tags.liquid +++ /dev/null @@ -1,91 +0,0 @@ ---- -layout: page ---- - -
      - - - {% assign rawtags = "" %} - {% for post in site.posts %} - {% if post.tags.size > 0 %} - {% assign post_tags = post.tags | join:'|' | append:'|' %} - {% assign rawtags = rawtags | append:post_tags %} - {% endif %} - {% endfor %} - - - {% assign portfolio = site.portfolio | map: 'tags' | join: ',' | split: ',' | uniq %} - {% for tag in portfolio %} - {% assign portfolio_tags = tag | join: '|' | append: '|' %} - {% assign rawtags = rawtags | append: portfolio_tags %} - {% endfor %} - - - {% for page in site.pages %} - {% if page.tags.size > 0 %} - {% assign page_tags = page.tags | join:'|' | append:'|' %} - {% assign rawtags = rawtags | append:page_tags %} - {% endif %} - {% endfor %} - - - {% include default/tags_list.liquid tags=rawtags %} - - -
      - {% for tag in tags %} -

      - {{ tag }} - - -

      - - -
      - - - {% for page in site.pages %} - {% if page.tags contains tag %} -
      - - - {{ page.title }} - - {% include blog/post_info.liquid date=page.date %} -
      - {% endif %} - {% endfor %} - - - {% for post in site.posts %} - {% if post.tags contains tag %} -
      - - - {{ post.title }} - - - {% include blog/post_info.liquid date=post.date %} -
      - {% endif %} - {% endfor %} - - - {% for note in site.portfolio %} - {% if note.tags contains tag %} -
      - - - {{ note.title }} - - - {% include blog/post_info.liquid date=note.date %} -
      - {% endif %} - {% endfor %} - -
      - {% endfor %} - -
      -
      diff --git a/_layouts/video-list.liquid b/_layouts/video-list.liquid deleted file mode 100644 index 6446876af..000000000 --- a/_layouts/video-list.liquid +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: page ---- - - - -
      - - {{ content }} - -
      - {% for post in site.posts %} - {% if post.tags contains page.filter_tag and post.youtubeId %} - {% assign author = site.data.authors[post.author] %} - {% assign date = post.date | default: "today" | date: "%B %-d, %Y" %} -
      - -
      -
      {{ post.title }}
      -
      - {% if author.name %} -
      {{ author.name }}
      - {% endif %} -
      {{ site.data.language.str_months[x] | default: date | date: "%B" }} {{ date | date: "%d, %Y" }}
      -
      -
      -
      - {% endif %} - {% endfor %} -
      -
      diff --git a/_layouts/video.liquid b/_layouts/video.liquid deleted file mode 100644 index bbb9362e2..000000000 --- a/_layouts/video.liquid +++ /dev/null @@ -1,85 +0,0 @@ ---- -layout: default ---- -
      -
      -
      - {% if page.hide_title %} -
      - {% else %} -

      {{ page.title }}

      - {% include blog/post_info.liquid authors=page.author date=page.date %} - {% endif %} -
      -
      - -
      - {% if page.bootstrap %} -
      - {% endif %} - {{ content }} - {% if page.bootstrap %} -
      - {% endif %} - - {% if page.youtubeId %} - - {% endif %} -
      - - - {% include social/share_buttons.liquid %} - - - {% capture tag_list %}{{ page.tags | join: "|"}}{% endcapture %} - {% include default/tags_list.liquid tags=tag_list %} - -
      - - -{% if site.post_navigation or site.theme_settings.post_navigation %} -{% include blog/post_nav.liquid %} -{% endif %} - - -{% if site.comments.utterances.repo and site.comments.utterances.issue-term %} {% include social/utterances.liquid %} {% endif %} - - -{% if site.comments.cusdis_app_id or site.cusdis_app_id %}{% include social/cusdis.liquid %}{% endif %} - - -{% if site.comments.disqus_shortname or site.theme_settings.disqus_shortname or site.disqus_shortname %} -{% include social/disqus.liquid %}{% endif %} - - - diff --git a/_posts/2012-05-24-lancement-du-blog-technique-dm6web.md b/_posts/2012-05-24-lancement-du-blog-technique-dm6web.md deleted file mode 100644 index 43da7f346..000000000 --- a/_posts/2012-05-24-lancement-du-blog-technique-dm6web.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -layout: post -title: "Lancement du blog technique d'M6Web" -description: "" -author: - name: M6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [] -image: - feature: - credit: - creditlink: -comments: true -permalink: post/23664141031/lancement-du-blog-technique-dm6web ---- - -Bienvenue sur le blog de la direction technique de M6 Web. - -Vous retrouverez ici, une frĂ©quence qu'on espĂšre des plus rĂ©guliĂšres, quelques articles et autres retours d'expĂ©rience de nos Ă©quipes technique. - - - -Attendez vous Ă  manger du PHP, Mysql, Node.js, entendre parler de performance, monitoring, vidĂ©o, html5 etc ;-) - -Bonne lecture Ă  tous. - - - diff --git a/_posts/2012-06-20-m6web-au-web-event-lyon-4.md b/_posts/2012-06-20-m6web-au-web-event-lyon-4.md deleted file mode 100644 index eb795d831..000000000 --- a/_posts/2012-06-20-m6web-au-web-event-lyon-4.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: post -title: "M6Web au Web Event Lyon #4" -description: "" -author: o_mansour -category: -tags: [webevent] -comments: true -permalink: m6web-au-web-event-lyon-4 ---- - -![Une partie de l’équipe de M6 Web au webevent de La ferme du Web.](/images/posts/m6web-webevent.jpg) -Une partie de l’équipe de M6 Web au webevent de La ferme du Web. - - diff --git a/_posts/2012-07-11-retrouvez-l-intervention-du-cto-de-m6-web-martin-boronski-a-la-table-ronde-du-forum-php-2012.md b/_posts/2012-07-11-retrouvez-l-intervention-du-cto-de-m6-web-martin-boronski-a-la-table-ronde-du-forum-php-2012.md deleted file mode 100644 index 8623f782b..000000000 --- a/_posts/2012-07-11-retrouvez-l-intervention-du-cto-de-m6-web-martin-boronski-a-la-table-ronde-du-forum-php-2012.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: post -title: "Retrouvez l'intervention du CTO de M6 Web, Martin Boronski, Ă  la table ronde du Forum PHP 2012" -description: "" -author: o_mansour -category: -tags: [forumphp,afup,video,php] -comments: true -permalink: retrouvez-l-intervention-du-cto-de-m6-web-martin-boronski-a-la-table-ronde-du-forum-php-2012 ---- - - - diff --git a/_posts/2012-11-23-m6web-au-banquet-de-la-cuisine-du-web.md b/_posts/2012-11-23-m6web-au-banquet-de-la-cuisine-du-web.md deleted file mode 100644 index 6cf217a04..000000000 --- a/_posts/2012-11-23-m6web-au-banquet-de-la-cuisine-du-web.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: post -title: "M6Web au banquet de la cuisine du web" -description: "" -author: o_mansour -category: -tags: [conference,lcdw] -comments: true -permalink: m6web-au-banquet-de-la-cuisine-du-web ---- - -Une partie de l'Ă©quipe de M6Web Ă©tait prĂ©sente au [banquet de la cuisine du web](https://www.lacuisineduweb.com/la-cuisine-fait-son-banquet.html) avec la fine fleur du web Lyonnais ! - - -![M6Web au banquet de la cuisine du web](h/images/posts/imgob/0-00-30-83-201211-ob_0c745f_74a85c8234e611e294a422000a1f9874-7-1.jpg) - diff --git a/_posts/2013-05-22-redis-on-fire.md b/_posts/2013-05-22-redis-on-fire.md deleted file mode 100644 index edcfdcdc3..000000000 --- a/_posts/2013-05-22-redis-on-fire.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: post -title: "Redis on fire !" -description: "" -author: o_mansour -tags: [redis,nosql,lft,video] -permalink: redis-on-fire ---- - -On continue la [diffusion de quelques LFT](/tags/#lft) triĂ©s sur le volet. - -Cette fois ci c'est [Kenny Dits](https://twitter.com/kenny_dee) qui s'y colle avec une prĂ©sentation de Redis et des cas d'utilisation de cette technologie. - -Malheureusement, la vidĂ©o n'est plus disponible... diff --git a/_posts/2013-06-26-encodage-packaging-drm-tout-sur-la-video.md b/_posts/2013-06-26-encodage-packaging-drm-tout-sur-la-video.md deleted file mode 100644 index d44d63d35..000000000 --- a/_posts/2013-06-26-encodage-packaging-drm-tout-sur-la-video.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -title: "Encodage - packaging - DRM - tout sur la vidĂ©o" -description: "" -author: o_noel -tags: [video,codec,drm,lft] -comments: true -permalink: encodage-packaging-drm-tout-sur-la-vidĂ©o ---- - -![Encodage - packaging - DRM - tout sur la vidĂ©o](/images/posts/imgob/0-00-30-83-201306-ob_249f74_1372237975-243eac44ed956db01c71e248156531e7-jpg.jpeg) - -Une nouvelle vidĂ©o de l'annĂ©e derniĂšre provenant d'un [Last Friday Talk](/tags/#lft). - -Souvent le monde de vidĂ©o est source d'imprĂ©cision, cette vidĂ©o met Ă  plat l'ensemble des termes qui sont utilisĂ©s dans le domaine : - -- encodage, transcodage -- packaging (transformation du conteneur vidĂ©o) -- DRM - -Malheureusement, la vidĂ©o n'est plus disponible... diff --git a/_posts/2013-07-19-introduction-a-drupal-par-claire-roubey-clever-age.md b/_posts/2013-07-19-introduction-a-drupal-par-claire-roubey-clever-age.md deleted file mode 100644 index 86dd92003..000000000 --- a/_posts/2013-07-19-introduction-a-drupal-par-claire-roubey-clever-age.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -title: "Introduction Ă  Drupal par Claire Roubey (Clever Age)" -description: "" -author: o_mansour -category: -tags: [lft,drupal,video] -image: - feature: - credit: - creditlink: -comments: true -permalink: introduction-Ă -drupal-par-claire-roubey-clever-age ---- - -Drupal, le CMS trĂšs trĂšs connu mais que nous on connait pas ! A notre demande [Clever Age](https://fr.clever-age.com/societe/agences/lyon/), par l'intermĂ©diaire de [Claire Roubey](https://twitter.com/kalis1), est venue nous prĂ©senter cet outil lors d'un de nos fameux [Last Friday Talk](/tags/#lft). - -Malheureusement, la vidĂ©o est coupĂ©e Ă  environ la moitiĂ© de sa durĂ©e (fort dommage car les questions Ă©taient trĂšs intĂ©ressantes). Les slides sont toutefois disponibles : [https://fr.slideshare.net/claire_/drupal-m6-web310513](https://fr.slideshare.net/claire_/drupal-m6-web310513). - -Un Ă©norme merci Clever Age et Claire ! - -Malheureusement, la vidĂ©o n'est plus disponible... diff --git a/_posts/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md b/_posts/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md deleted file mode 100644 index e700c322a..000000000 --- a/_posts/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: video -title: "Distribuez votre vidĂ©o partout avec 3 euros en poche et devenez millionaire. Ou presque." -description: "" -author: o_mansour -category: -tags: [lft,video] -image: - feature: - credit: - creditlink: -comments: true -youtubeId: uGTF44yjoPg -permalink: 2013/10/distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.html ---- - -"Comment gagner des millions, sans sortir de chez vous, en robe de chambre, en distribuant des vidĂ©os de chats sur les internets, grĂące Ă  ffmeg, h264, dash, tous pleins de buzz word, justin bieber" (Merci ! Toute l'Ă©quipe SEO). - -Une prĂ©sentation de Ludovic Bostral, notre ex valeureux responsable R&D en charge - jusqu'il y a peu de temps - de la fabrication de toutes nos vidĂ©os et du SI associĂ©. - -Si vous vous posez des questions ce sujet, n'hĂ©sitez pas Ă  venir lui [faire un petit coucou virtuel, ou sur Nantes](https://digibos.com/). Ca marche aussi pour discuter zombie ou nanar. Ou mieux, un nanar avec des zombies ! - -Retrouvez Ludovic sur son site : [https://digibos.com](https://digibos.com/). - - - diff --git a/_posts/2014-01-18-vagrant-julien-bianchi.md b/_posts/2014-01-18-vagrant-julien-bianchi.md deleted file mode 100644 index 3c55cb265..000000000 --- a/_posts/2014-01-18-vagrant-julien-bianchi.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: post -title: "Vagrant & Cie, du DĂ©v Ă  la Prod avec Julien Bianchi" -description: "Vagrant, Packer, Chef ... Du dĂ©v Ă  la prod." -author: o_mansour -category: -tags: [lft,vagrant,video] -feature-img: "images/posts/vagrant/vagrant_header.png" -thumbnail: "images/posts/vagrant/vagrant_header.png" -comments: true ---- - -Un grand merci Ă  Julien Bianchi qui, Ă  notre demande, est venu nous parler un peu de vagrant lors d'un de nos fameux [Last Friday Talk](/tags/#lft). - -Ses slides : [https://speakerdeck.com/jubianchi/vagrant-and-cie-du-dev-a-la-prod](https://speakerdeck.com/jubianchi/vagrant-and-cie-du-dev-a-la-prod). - -Malheureusement, la vidĂ©o n'est plus disponible... diff --git a/_posts/2014-05-15-m6web-sera-present-au-phptour-lyon-2014.md b/_posts/2014-05-15-m6web-sera-present-au-phptour-lyon-2014.md deleted file mode 100644 index b69fd1209..000000000 --- a/_posts/2014-05-15-m6web-sera-present-au-phptour-lyon-2014.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: post -title: "M6Web sera prĂ©sent au PHPTour Lyon 2014" -description: "M6Web sera prĂ©sent au PHPTour Lyon 2014 organisĂ© par l'AFUP" -author: - name: M6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [afup, phptour] -thumbnail: "images/posts/phptour/PHPTourLyon2014_megaban.jpg" -comments: true ---- - - -M6Web sera bien reprĂ©sentĂ© au [PHPTour 2014](https://www.phptour.org) organisĂ© par l'[AFUP](https://www.afup.org) et est trĂšs heureux de soutenir l'Ă©vĂšnement en Ă©tant sponsor Argent. - -![M6Web sponsor argent du PHPTour](/images/posts/phptour/PHPTourLyon2014_banner.png) - -Venez nombreux [augmenter votre pilositĂ© faciale](https://www.afup.org/pages/phptourlyon2014/sessions.php#1036), tel un vrai sysadmin. - -Faites le plein d'anecdotes croustillantes et dĂ©couvrez [l'histoire de M6Web Lyon](https://www.afup.org/pages/phptourlyon2014/sessions.php#1030) avec [Kenny Dits](https://twitter.com/kenny_dee). diff --git a/_posts/2014-11-13-m6web-dev-facts-7.md b/_posts/2014-11-13-m6web-dev-facts-7.md deleted file mode 100644 index 59d999c09..000000000 --- a/_posts/2014-11-13-m6web-dev-facts-7.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -layout: post -title: "M6Web Dev Facts #7" -description: "Les plus belles phrases de nos Ă©quipes technique" -author: - name: M6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [devfacts, humour] -image: - feature: posts/devfacts.jpg - credit: Game Of Thrones - creditlink: -comments: true ---- - -Ça faisait un moment ! Voici le retour des [devfacts](/tags.html#devfacts) ! - -# Reproduction -> Je ne sais pas si ça corrige le bug qu'on ne reproduit pas mais en tout cas je ne le reproduis toujours pas - -# Au moins, c'est efficace -> Quand je fais un "echo $id", ça affiche l’id - -# Proprement sale -> C'est pas forcĂ©ment plus propre, mais c'est moins sale - -# A une vache prĂšs ! -> C'est Ă  peu prĂšs approximatif 
 - -# Il faut savoir ce qu'on veut -> C'est pas prĂ©vu pour ĂȘtre utile - -# C'est louche. -> Commençons par comprendre pourquoi le code fonctionne - -# Toi aussi fais du marketing ... -> On pourrait leverager le ROI du big data avec de l'analytics predictif. - -# Pour une fois .... -> Pour une fois c'est pas un bug ! c'est un truc qui marche. - -# Pooh -> Au sujet d'une sombre histoire d'expression de besoin -> "Je ne peux pas toujours les aider Ă  faire leurs besoins
" - -# Comprends moi ! -> "Comprends mon incomprĂ©hension !" - -# ROI ! -> Y a autant d'utilisateurs que de jour homme pour ce projet ! - - diff --git a/_posts/2015-04-01-immutablejs-relay-graphql-react-native.md b/_posts/2015-04-01-immutablejs-relay-graphql-react-native.md deleted file mode 100644 index eccdc5450..000000000 --- a/_posts/2015-04-01-immutablejs-relay-graphql-react-native.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: "Introduction Ă  Immutable.Js, Relay + GraphQL et React Native" -description: "Compte rendu de la React ConfĂ©rence ciblĂ© sur 3 sujets : Immutable.Js, Relay + GraphQL et React Native" -author: k_dits -category: -tags: [javascript, react, reactnative, lft, video] -feature-img: "images/posts/reactconf/reactnative.png" -thumbnail: "images/posts/reactconf/reactnative.png" -comments: true ---- -Voici un petit compte rendu vidĂ©o, filmĂ© lors de notre [Last Friday Talk](/organiser-des-conferences-technique-en-interne) de Mars, d'un retour de veille techno suite Ă  la [React ConfĂ©rence](https://conf.reactjs.com/). - -Le retour est une introduction sur 3 des sujets qui m'ont paru les plus importants lors de cette confĂ©rence : - -* Immutable.Js -* Relay + GraphQL -* React Native - -Les slides : - - - -Pour plus d'informations sur la React ConfĂ©rence, nos CR sont disponibles ici : - -* [Compte rendu React ConfĂ©rence Jour 1](/2015/02/04/cr-react-conf-2015-day-one) -* [Compte rendu React ConfĂ©rence Jour 2](/2015/02/10/cr-react-conf-2015-day-two) - -Malheureusement, la vidĂ©o n'est plus disponible... diff --git a/_posts/2016-05-09-6tech-phptour-clermont.md b/_posts/2016-05-09-6tech-phptour-clermont.md deleted file mode 100644 index 57bb0c66b..000000000 --- a/_posts/2016-05-09-6tech-phptour-clermont.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -title: "M6web sera prĂ©sent au PHPTour Clermont-Ferrand" -description: "Fabien de Saint Pern, lead dĂ©veloppeur sur 6play, y donnera une confĂ©rence sur la rĂ©alisation de workers en PHP / Symfony2." -author: - name: TechM6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [6play, afup, phptour, conference] -comments: true ---- - -[Fabien de Saint Pern](https://twitter.com/fabdsp), un des leads devs sur la plateforme [6play](https://www.6play.fr), aura l'occasion de prĂ©senter une confĂ©rence au PHPTour Clermont-Ferrand le 24 Mai. Il fera un retour d'expĂ©rience concret sur nos pratiques autour de [la rĂ©alisation de workers asynchrones en PHP](https://event.afup.org/php-tour-2016/programme/#1761) (et oui !). - -Le [PHPTour](https://www.phptour.org) est un cycle de confĂ©rences itinĂ©rant organisĂ© par l'[AFUP](https://www.afup.org) rĂ©unissant toutes les communautĂ©s PHP, professionnelles et open-source, dĂ©diĂ© au langage et Ă  son Ă©cosystĂšme. Ne manquez pas cette confĂ©rence ainsi que cet Ă©vĂšnement qui s'annonce particuliĂšrement riche ! - - diff --git a/_posts/2016-05-19-6tech-sfpot-lille.md b/_posts/2016-05-19-6tech-sfpot-lille.md deleted file mode 100644 index af4cc97c2..000000000 --- a/_posts/2016-05-19-6tech-sfpot-lille.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: "M6web sera prĂ©sent au sfpot de Lille du 16/06/16" -description: "Pierre Marichez, Renaud BougrĂ© et Nicolas Beze y donneront une confĂ©rence sur l'industrialisation des dĂ©veloppements chez M6Web." -author: - name: TechM6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [6tech, lille, sfpot, conference] -thumbnail: "images/posts/sfpot-lille/sfpot_juin.jpg" -comments: true ---- - -[Pierre Marichez](https://twitter.com/chtipepere), [Renaud BougrĂ©](https://renaud.bougrĂ©.fr) et [Nicolas Beze](https://fr.linkedin.com/in/nicolas-beze-9222005b) une partie de l'Ă©quipe PHP de M6Web Lille, vous feront part d'un retour d'expĂ©rience sur l'industrialisation des dĂ©veloppements. -Ca parlera jenkins, gitlab, gitlab-ci, outil de gestion de projets, api, sentry, capistrano, user scripts, docker, grafana, slack
 - -Lors de ce sfpot, Kevin Dunglas prĂ©sentera le [DunglasActionBundle](https://github.com/dunglas/DunglasActionBundle) et [Alexandre SalomĂ©](https://twitter.com/alexandresalome) et [Luc Vieillescazes](https://twitter.com/schtroumpf_luc) vous feront un retour sur le sflive 2016. - -Alors rendez-vous tous le 16 juin 2016 Ă  partir de 19h00 au Liberch'ti, 169 Boulevard de la LibertĂ© Ă  Lille (MĂ©tro RĂ©publique). - -[Pour vous inscrire, ça se passe ici](https://docs.google.com/forms/u/0/d/1jCHn-l9gX8WJzHapaxKIa9_KD1yqsjALW8sLlveoX4U/edit) - ---- - -Pour plus d'informations sur cet Ă©vĂ©nement et les autres sfpot lillois, [rendez-vous sur le site des Tilleuls](https://les-tilleuls.coop/fr/blog/article/save-the-date-nouveau-sfpot-a-lille-le-16-06-16). diff --git a/_posts/2016-05-24-arretons-de-perdre-du-temps.md b/_posts/2016-05-24-arretons-de-perdre-du-temps.md deleted file mode 100644 index b115e1fd0..000000000 --- a/_posts/2016-05-24-arretons-de-perdre-du-temps.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: conference - -title: "ArrĂȘtons de perdre du temps Ă  dĂ©buguer !" -author: n_saby -eventName: PHPTour Clermont‑Ferrand 2016 -eventUrl: https://event.afup.org/php-tour-2016/home-phptour-2016/ -youtubeId: iuod3e6e7FM - -tags: [afup, php, debug, conference] -color: rgb(251,87,66) -language: fr ---- - -ArrĂȘtons de perdre du temps Ă  dĂ©buguer ! DĂ©buguer peut se rĂ©vĂ©ler long et fastidieux. -C'est du temps perdu qu'on pourrait passer Ă  crĂ©er de la valeur ajoutĂ©e. -C'est d'une maniĂšre ou d'une autre une perte pour le business. -Ayant commencĂ© mon entrĂ©e dans la vie active par une TMA, j'ai compris vite et de maniĂšre un peu brutale que ça fait pourtant partie de la vie du dĂ©veloppeur qui devient parfois dĂ©bugueur. -Quelles solutions et astuces pouvons-nous mettre en place afin d'ĂȘtre plus efficace dans cette tĂąche rĂ©barbative ? \ No newline at end of file diff --git a/_posts/2016-05-25-m6web-retourdxp-cassandra.md b/_posts/2016-05-25-m6web-retourdxp-cassandra.md deleted file mode 100644 index 8e14b33b5..000000000 --- a/_posts/2016-05-25-m6web-retourdxp-cassandra.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: post -title: "M6web fera un retour d'expĂ©rience sur l'usage de Cassandra sur 6play le 14/06/2016" -description: "M6web fera un retour d'expĂ©rience sur l'usage de Cassandra sur 6play le 14/06/2016" -author: - name: TechM6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [6tech, lyon, conference] -comments: true ---- - - -[Olivier Mansour](https://twitter.com/omansour), responsable R&D, sera prĂ©sent au Cassandra Days le 14 Juin Ă  Paris pour faire un retour d'expĂ©rience sur l'utilisation de Cassandra sur 6play. - -![capture d'Ă©cran 6play](/images/posts/6play/ma_selection.jpg) - -L'Ă©vĂšnement est gratuit : [https://www.eventbrite.co.uk/e/billets-datastax-day-paris-25165891860](https://www.eventbrite.co.uk/e/billets-datastax-day-paris-25165891860). - - diff --git a/_posts/2016-06-23-video-phptour-worker-php.md b/_posts/2016-06-23-video-phptour-worker-php.md deleted file mode 100644 index 3d47f7f66..000000000 --- a/_posts/2016-06-23-video-phptour-worker-php.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -title: "Retour d’expĂ©rience : rĂ©aliser des Workers en PHP - Fabien de Saint pern au PHP Tour 2016 " -description: "VidĂ©o prĂ©sentĂ©e Ă  Clermont Ferrand. Retour d’expĂ©rience : rĂ©aliser des Workers en PHP - Fabien de Saint pern - PHP Tour 2016 " -author: - name: TechM6Web - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [6tech, lyon, conference, video, phptour, php, Symfony] -comments: true ---- - - -[Fabien de Saint pern](https://twitter.com/fabdsp) - lead dev de notre team back-end 6play - Ă©tait au PHP Tour et a fait une prĂ©sentation sur la façon dont nous faisons des workers en PHP. - - - diff --git a/_posts/2016-07-04-rex-cassandra.md b/_posts/2016-07-04-rex-cassandra.md deleted file mode 100644 index b05ce65d7..000000000 --- a/_posts/2016-07-04-rex-cassandra.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: post -title: "Retour d'expĂ©rience sur l'utilisation de Cassandra sur 6play en vidĂ©o" -description: "Retour d'expĂ©rience sur l'utilisation de Cassandra sur 6play en vidĂ©o" -author: o_mansour -category: -tags: [6tech, lyon, conference, cassandra, video] -comments: true ---- - - - -Erratum : dans les phases de questions rĂ©ponses, j'annonce une phase de test Ă  10K RPS (requĂȘtes par seconde) ; il s'agissait de RPM (requĂȘtes par minute). - -Lors du match Suisse vs France, diffusĂ© sur M6 pendant la coupe d'Europe de football, la brique users est montĂ©e Ă  75K RPM (soit 1200 rps) et 84K pour Islande vs France. - -![75K rpm](/images/posts/rex-cassandra/75K.jpg) - -![84K rpm](/images/posts/rex-cassandra/84K.jpg) - - - - diff --git a/_posts/2016-11-03-blendwebmix-6play-conference.md b/_posts/2016-11-03-blendwebmix-6play-conference.md deleted file mode 100644 index 2f6f536ea..000000000 --- a/_posts/2016-11-03-blendwebmix-6play-conference.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -title: "EnquĂȘte exclusive au coeur de la technique de 6play. Les slides." -description: "Plus d'un milliard de vidĂ©os vues par an sur 6play - EnquĂȘte exclusive au coeur de la technique" -author: - name: Kenny Dits, Olivier Mansour, François Jomier - avatar: - email: - twitter: techM6Web - facebook: - github: -category: -tags: [conference] -feature-img: "images/posts/blend2016.jpg" -comments: true ---- - -Voici les slides de la confĂ©rence "Plus d'un milliard de vidĂ©os vues par an sur 6play - EnquĂȘte exclusive au coeur de la technique" que nous avons donnĂ© le 2 novembre 2016 lors de la confĂ©rence Blend Web Mix Ă  Lyon. - -[https://docs.google.com/presentation/d/1BZGvoiubQsIzVjH9Px22wQyYmkboXZjpiubX2UtkMA4/edit?usp=sharing](https://docs.google.com/presentation/d/1BZGvoiubQsIzVjH9Px22wQyYmkboXZjpiubX2UtkMA4/edit?usp=sharing) - -Nous Ă©tions ravis d'ĂȘtre sponsor de cet Ă©venement. Merci encore Ă  toute l'organisation. diff --git a/_posts/2016-11-24-une-donnee-presque-parfaite.md b/_posts/2016-11-24-une-donnee-presque-parfaite.md deleted file mode 100644 index 1c7a7f266..000000000 --- a/_posts/2016-11-24-une-donnee-presque-parfaite.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: conference - -title: "Une donnĂ©e presque parfaite sur 6play" -description: "La gestion de la mise Ă  disposition des donnĂ©es sur 6play" -author: o_mansour -eventName: ForumPHP 2016 -eventUrl: https://event.afup.org/forum-php-2016/home-forum-php-2016/ -youtubeId: kSlYXpezjIQ - -category: -tags: [lyon, conference, elasticsearch, video] -thumbnail: "images/posts/conf-afup-viguier/6play.jpg" -color: rgb(42, 153, 213) -comments: true ---- - -[Benoit Viguier](https://twitter.com/b_viguier), prestataire de la sociĂ©tĂ© [Elao](https://www.elao.com) pour M6Web, a fait un retour d'expĂ©rience au Forum PHP de l'[AFUP](https://www.afup.org) sur l'architecture technique mise en place autour de la mise Ă  disposition des donnĂ©es nĂ©cessaires Ă  6play. - - - -Les slides sont Ă©galement [disponibles en PDF](https://b-viguier.github.io/downloads/talks/ForumPhp-Une-Donne%CC%81e-Presque-Parfaite.pdf). diff --git a/_posts/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md b/_posts/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md deleted file mode 100644 index 80fe175b2..000000000 --- a/_posts/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: conference - -title: Nouveau socle pour une nouvelle vie -author: m_randy - -eventName: Confoo Montreal 2017 -eventUrl: https://confoo.ca/fr/yul2017 -conferenceUrl: https://afup.org/talks/3497-la-scalabilite-d-une-equipe-d-un-pole-technique -slideshareKey: t7BqO8Q87GOIfl - -lang: fr -tags: [conference, confoo, PHP, Symfony] -color: rgb(251,87,66) ---- - -A travers cette confĂ©rence, je me propose de vous tracer l’histoire de la migration de 6play (systĂšme de tĂ©lĂ©vision de rattrapage du groupe M6, premier groupe de tĂ©lĂ©vision privĂ© français) d’une application monolithique vers un univers de micro-service, des avantages en terme de maintenance, d’évolution, de montĂ©e en charge, mais Ă©galement des diffĂ©rents Ă©cueils rencontrĂ©s lors de ce changement de paradigme : caching, logging, complexitĂ© globale. \ No newline at end of file diff --git a/_posts/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md b/_posts/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md deleted file mode 100644 index e3c6f31a8..000000000 --- a/_posts/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: conference - -title: Atteindre les Ă©toiles avec PHP et Symfony -author: m_randy - -eventName: Confoo Montreal 2018 -eventUrl: https://confoo.ca/fr/yul2018 -conferenceUrl: https://confoo.ca/fr/yul2018/session/atteindre-les-etoiles-avec-php-et-symfony -slideshareKey: 2CHGfkIFMor2BU - -lang: fr -tags: [conference, confoo, PHP, Symfony] -color: rgb(251,87,66) ---- - -À l’automne 2014, M6 dĂ©cide d’adapter le programme Rising Star en France, un concours de chant en direct, mais dont le jury est le public, qui vote en direct depuis son application mobile. -A travers cette confĂ©rence, je me propose de vous prĂ©senter l’architecture mise en place pour ĂȘtre capable de traiter plusieurs dizaines de millions de votes dans un dĂ©lais de quelques secondes, tout en se synchronisant avec une Ă©mission de tĂ©lĂ© en direct. \ No newline at end of file diff --git a/_posts/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md b/_posts/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md deleted file mode 100644 index 715133c5a..000000000 --- a/_posts/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: conference - -title: "Docker en prod ? Oui, avec Kubernetes !" -description: "Kubernetes. À en croire certains articles, c’est une solution miracle. DĂ©veloppeurs, vous avez peut-ĂȘtre entendu ce mot ? C’est l’outil qui vous permettra de dĂ©ployer du Docker en production ! Parce qu’autant utiliser Docker en dev c’est facile, autant en prod
" -author: p_martin -eventName: ForumPHP 2018 -eventUrl: https://event.afup.org/forumphp2018/ -youtubeId: Cq1sR005B2E - -lang: fr -tags: [conference, php, open-source, afup, docker, kubernetes] -color: rgb(251,87,66) ---- - -Kubernetes. À en croire certains articles, c’est une solution miracle. DĂ©veloppeurs, vous avez peut-ĂȘtre entendu ce mot ? -C’est l’outil qui vous permettra de dĂ©ployer du Docker en production ! Parce qu’autant utiliser Docker en dev c’est facile, autant en prod
 - -Mais qu’est-ce que Kubernetes ? Quelles possibilitĂ©s si intĂ©ressantes nous fournit cet orchestrateur de conteneurs ? -Pods, nodes, deployments, services, ou auto-scaling et health checks : autant de primitives et de fonctionnalitĂ©s que vous allez dĂ©couvrir et adorer, y compris en tant que dĂ©veloppeurs ! - -AprĂšs avoir prĂ©sentĂ© ces bases, je vous proposerai un retour d’expĂ©rience sur la migration vers Kubernetes que nous sommes en train d’effectuer pour 6play.fr. Comment dĂ©veloppeurs et sysadmins se rĂ©partissent-ils les tĂąches ? Avons-nous dĂ» adapter nos applications PHP ? Quelles difficultĂ©s avons-nous rencontrĂ©es, quels compromis avons-nous acceptĂ©s et quelle route nous reste-t-il Ă  parcourir ? diff --git a/_posts/2018-10-26-generators-for-async-programming-user-manual.md b/_posts/2018-10-26-generators-for-async-programming-user-manual.md deleted file mode 100644 index 538032875..000000000 --- a/_posts/2018-10-26-generators-for-async-programming-user-manual.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: conference - -title: "Generators for Asynchronous Programming: User Manual" -description: "Les gĂ©nĂ©rateurs sont souvent rĂ©duits Ă  une simplification des itĂ©rateurs, mais ils sont surtout trĂšs pratiques et performants pour executer des traitements asynchrones. Nous aborderons le fonctionnement d’un programme asynchrone, le rĂŽle des promises, et approfondirons l'utilisation des gĂ©nĂ©rateurs pour simplifier l’écriture de notre code. Enfin nous dĂ©taillerons des cas pratiques « prĂȘts Ă  l’emploi » pour tout type d’application, avec un retour d’expĂ©rience sur ce qui a Ă©tĂ© mis en place chez M6Web." -author: b_viguier -eventName: ForumPHP 2018 -eventUrl: https://event.afup.org/forumphp2018/ -youtubeId: 7TvIIt4c8uY - -lang: fr -tags: [conference, php, afup] -color: rgb(251,87,66) ---- - -Les gĂ©nĂ©rateurs sont souvent rĂ©duits Ă  une simplification des itĂ©rateurs, mais ils sont surtout trĂšs pratiques et performants pour executer des traitements asynchrones. Nous aborderons le fonctionnement d’un programme asynchrone, le rĂŽle des promises, et approfondirons l'utilisation des gĂ©nĂ©rateurs pour simplifier l’écriture de notre code. Enfin nous dĂ©taillerons des cas pratiques « prĂȘts Ă  l’emploi » pour tout type d’application, avec un retour d’expĂ©rience sur ce qui a Ă©tĂ© mis en place chez M6Web. \ No newline at end of file diff --git a/_posts/2019-10-25-one-year-of-asynchronous-code-in-production.md b/_posts/2019-10-25-one-year-of-asynchronous-code-in-production.md deleted file mode 100644 index fc13a84c9..000000000 --- a/_posts/2019-10-25-one-year-of-asynchronous-code-in-production.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: conference -title: "One year of asynchronous PHP in production" -description: "Oui, il est tout Ă  fait possible de faire de la programmation asynchrone en PHP et il existe des librairies matures pour le mettre en place dans vos projets. Oui, ça peut amĂ©liorer considĂ©rablement la performance de vos applications, mais si c’était aussi simple tout le monde le ferait dĂ©jĂ . Cela fait plus d'an que les Ă©quipes de 6play ont franchit le pas sur certains projets et les applications asynchrones tiennent toutes leurs promesses en production, mais la mise en place a soulevĂ© beaucoup de questions. À quels critĂšres se fier pour rendre une application asynchrone? Comment former les Ă©quipes sur ces nouveaux paradigmes? Comment adapter les outils existants et comment gĂ©rer ce nouveau type de charge sur les serveurs? Voici notre retour d’expĂ©rience sur le PHP asynchrone, du dĂ©veloppement Ă  la production, en passant par la vie de tous les jours." -author: b_viguier -eventName: ForumPHP 2019 -eventUrl: https://event.afup.org/forumphp2019/ -youtubeId: R6ldQzXScCs - -lang: fr -tags: [conference, php, afup] -color: rgb(251,87,66) ---- - -Oui, il est tout Ă  fait possible de faire de la programmation asynchrone en PHP et il existe des librairies matures pour le mettre en place dans vos projets. Oui, ça peut amĂ©liorer considĂ©rablement la performance de vos applications, mais si c’était aussi simple tout le monde le ferait dĂ©jĂ . Cela fait plus d'an que les Ă©quipes de 6play ont franchit le pas sur certains projets et les applications asynchrones tiennent toutes leurs promesses en production, mais la mise en place a soulevĂ© beaucoup de questions. À quels critĂšres se fier pour rendre une application asynchrone? Comment former les Ă©quipes sur ces nouveaux paradigmes? Comment adapter les outils existants et comment gĂ©rer ce nouveau type de charge sur les serveurs? Voici notre retour d’expĂ©rience sur le PHP asynchrone, du dĂ©veloppement Ă  la production, en passant par la vie de tous les jours. \ No newline at end of file diff --git a/_posts/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md b/_posts/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md deleted file mode 100644 index ea5056e44..000000000 --- a/_posts/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: conference - -title: "Une application rĂ©siliente, dans un monde partiellement dĂ©gradĂ©" -description: "Dans un monde en perpĂ©tuelle Ă©volution, pouvons-nous toujours atteindre « four-nines » de disponibilitĂ© ? Cloud et Kubernetes. APIs et Microservices
 Nos architectures s’enrichissent et se complexifient. Au prix d’une certaine fragilitĂ© ?" -author: p_martin -eventName: ForumPHP 2019 -eventUrl: https://event.afup.org/forumphp2019/ -youtubeId: U7wuMyv8YzA - -lang: fr -tags: [conference, architecture, resilience, afup, cloud] -color: rgb(251,87,66) ---- - -Dans un monde en perpĂ©tuelle Ă©volution, pouvons-nous toujours atteindre *« four-nines »* de disponibilité ? -Cloud et Kubernetes. APIs et Microservices
 Nos architectures s’enrichissent et se complexifient. Au prix d’une certaine fragilité ? - -Nous commencerons par dĂ©finir SLA, SLO et SLI et rappeler la signification de ces X-nines. -Nous montrerons ensuite comment, dans un contexte en permanence partiellement dĂ©gradĂ©, nos assemblages de services distribuĂ©s nuisent Ă  la fiabilitĂ© de nos plateformes. - -En profitant de l’expĂ©rience acquise sur 6play, nous verrons quelques pistes pour amĂ©liorer la rĂ©silience de nos applications, pour qu’elles rĂ©pondent Ă  nouveau aux besoins de notre public. Nous prononcerons peut-ĂȘtre mĂȘme le terme de *« Chaos Engineering »* ;-) diff --git a/_posts/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md b/_posts/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md deleted file mode 100644 index 65b911088..000000000 --- a/_posts/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: video -title: "Machine learning sans magie et sans s'arracher les cheveux" -author: n_saby -tags: [machine learning, blendwebmix, conference] -color: rgb(251,87,66) -language: fr -youtubeId: 5c120IGLHk8 ---- - -Comprendre le machine learning en prenant l'exemple d'un barbecue. diff --git a/_posts/2020-02-07-pascal-martin-laduckconf.md b/_posts/2020-02-07-pascal-martin-laduckconf.md deleted file mode 100644 index e715897e6..000000000 --- a/_posts/2020-02-07-pascal-martin-laduckconf.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: conference - -title: "Migration de 6PLAY - l'amour est dans le cloud" -description: "VidĂ©o de la confĂ©rence de Pascal Martin Ă  la Duck Conf" -author: p_martin -eventName: La Duck Conf -eventUrl: https://www.laduckconf.com/ -youtubeId: xLELSIEt2xA - -category: -tags: [conference, video] -feature-img: "images/posts/6play/logo.jpg" -thumbnail: "images/posts/6play/logo.jpg" -comments: true -redirect_from: - - /pascal-martin-laduckconf/ ---- - -[Pascal Martin](https://twitter.com/pascal_martin) a eu le plaisir d'ĂȘtre invitĂ© par [Octo](https://www.octo.com/) pour un REX sur la migration de notre architecture dans *le cloud*. - -Nous vous invitons Ă  dĂ©couvrir sa confĂ©rence en vidĂ©o. - - Si vous voulez en savoir encore plus, Pascal a Ă©crit Ă©galement [un livre sur le sujet](https://leanpub.com/6cloud/). diff --git a/_posts/2020-06-24-6play_API-v2-Final(1).md b/_posts/2020-06-24-6play_API-v2-Final(1).md deleted file mode 100644 index c8d2f2021..000000000 --- a/_posts/2020-06-24-6play_API-v2-Final(1).md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: conference - -title: "6play_API-v2-Final(1).doc" -description: "Votre API est confrontĂ©e Ă  des contraintes techniques mais elle doit surtout rĂ©pondre Ă  vos problĂ©matiques mĂ©tier qui ne cessent d'Ă©voluer. Nous avons souvent vĂ©cu cette situation pour 6play (service de Replay du Groupe M6), et il nous a fallu plusieurs gĂ©nĂ©rations d'API avant d'arriver Ă  une version adaptĂ©e Ă  nos besoins. Micro-services, Rest/GraphQL, Developer eXperience
 Un rĂ©cit et des conseils pragmatiques pour concevoir et maintenir votre API." -author: b_viguier -eventName: AFUP Day 2021 -eventUrl: https://event.afup.org/afup-day-2021/ -youtubeId: Y_umU8mTWho - -lang: fr -tags: [conference, php, afup, api] -color: rgb(251,87,66) ---- - -Votre API est confrontĂ©e Ă  des contraintes techniques mais elle doit surtout rĂ©pondre Ă  vos problĂ©matiques mĂ©tier qui ne cessent d'Ă©voluer. Nous avons souvent vĂ©cu cette situation pour 6play (service de Replay du Groupe M6), et il nous a fallu plusieurs gĂ©nĂ©rations d'API avant d'arriver Ă  une version adaptĂ©e Ă  nos besoins. Micro-services, Rest/GraphQL, Developer eXperience
 Un rĂ©cit et des conseils pragmatiques pour concevoir et maintenir votre API. \ No newline at end of file diff --git a/_posts/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md b/_posts/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md deleted file mode 100644 index 907e96678..000000000 --- a/_posts/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: conference - -title: "La scalabilitĂ© d’une Ă©quipe / d’un pĂŽle technique" -author: m_randy - -eventName: ForumPHP 2020 -eventUrl: https://event.afup.org/forum-php-2020/ -conferenceUrl: https://afup.org/talks/3497-la-scalabilite-d-une-equipe-d-un-pole-technique -youtubeId: bECYd6Qo7Qw -slideshareKey: 8bsndjV0GUOWnM - -lang: fr -tags: [conference, forumPHP, PHP, Symfony] -color: rgb(251,87,66) ---- - -Vous ĂȘtes dans l’équipe technique d’une entreprise, composĂ©e de quelques dĂ©veloppeurs, dans 1 ou 2 Ă©quipes, et votre entreprise grandit, et il faut augmenter la capacitĂ© de production, et donc la taille de l’équipe technique. Sauf que comme 9 femmes ne font pas un bĂ©bĂ© un 1 mois, 4 Ă©quipes de 6 personnes ne produisent pas automatiquement 2 fois plus que 2 Ă©quipes de 6 dĂ©veloppeurs. - -Je me propose de vous faire un retour d’expĂ©rience sur comment nous avons abordĂ© la scalabilitĂ© du pĂŽle technique de Bedrock, pour passer de 10 Ă©quipes rĂ©parties en 3 verticaux techniques, Ă  plus de 30 Ă©quipes dans 5 verticaux techniques, en essayant de conserver une cohĂ©sion technique et fonctionnelle, et d’optimiser les flux de dĂ©veloppements. - diff --git a/_posts/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md b/_posts/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md deleted file mode 100644 index 29de5b7fa..000000000 --- a/_posts/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: conference - -title: L'open source, ce n'est pas que pour le web -description: Un tour d’horizon des initiatives open source dans d’autres domaines que l’informatique, pour en apprendre un peu plus sur la culture du libre. -author: s_haim -eventName: ForumPHP 2020 -eventUrl: https://event.afup.org/forum-php-2020/ -youtubeId: riPzJ-IMs6k - -tags: [conference, afup, open-source] -color: rgb(251,87,66) ---- -Une confĂ©rence sur l'open source hors des solutions informatiques uniquement, lors du forum PHP 2020 qui marquait les 20 ans de l'AFUP. - -Connaissez-vous l'open hardware ? Savez-vous ce que la NASA partage sur Github ? Vous avez certainement dĂ©jĂ  Ă©coutĂ©, ou produit de la musique open source, savez-vous qu’il existe des mĂ©dicaments open source ? RĂ©pliquer une information, et la partager devient rapide et Ă©mancipateur, le monde se libĂšre un peu plus. - -AprĂšs une petite plongĂ©e dans les principes de partage de l’open source, nous ferons un tour d’horizon des initiatives open source dans d’autres domaines que l’informatique, pour en apprendre un peu plus sur la culture du libre, les rapports de force qui y conduisent, et revenir aux bases du partage. diff --git a/_posts/2021-01-21-machine-learning-en-production.md b/_posts/2021-01-21-machine-learning-en-production.md deleted file mode 100644 index 15017ff3f..000000000 --- a/_posts/2021-01-21-machine-learning-en-production.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: conference - -title: "Machine Learning en production" -author: n_saby -eventName: Lyon Data Science Meetup -eventUrl: http://www.lyondata.science/ -youtubeId: f93yCPq-VMc - -tags: [machine learning, Lyon Data Science, conference] -color: rgb(251,87,66) -language: fr ---- - -Une fois passĂ©e la phase de prototype, comment va-t-on en production quand on fait du machine learning ? -Comment s'assure-t-on que tout va bien une fois en production ? -DĂ©ploiement, tests, monitoring, etc. Il y a beaucoup de choses Ă  penser. Sur ce long sujet, je vous propose ici une petite introduction basĂ©e sur mes expĂ©riences. \ No newline at end of file diff --git a/_posts/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md b/_posts/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md deleted file mode 100644 index 7c2a5d32c..000000000 --- a/_posts/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: conference - -title: "Migration de 6play vers Le Cloud, retour d’expĂ©rience." -description: "En 2018, nous avons entamĂ© la migration de la plateforme 6play vers Le Cloud. À prĂ©sent, nous pilotons notre infrastructure AWS avec Terraform, utilisons des services managĂ©s et dĂ©ployons nos applications sous Kubernetes." -author: p_martin -eventName: Cloudsud -eventUrl: https://cloudsud.fr/ -youtubeId: xZep9iv6tLY - -lang: fr -tags: [conference, cloud, migration, cloudsud] -color: rgb(251,87,66) ---- - -En 2018, nous avons entamĂ© la migration de la plateforme 6play vers Le Cloud. -À prĂ©sent, nous pilotons notre infrastructure AWS avec Terraform, utilisons des services managĂ©s et dĂ©ployons nos applications sous Kubernetes. - -Pendant cette confĂ©rence, vous dĂ©couvrirez comment nous avons rĂ©alisĂ© cette migration. Vous trouverez des rĂ©ponses aux questions que vous vous posez si vous envisagez de revoir votre hĂ©bergement. -Comment avons-nous transformĂ© notre infrastructure ? Quels impacts sur nos projets ? Comment nous sommes-nous organisĂ©s ? Quels choix avons-nous effectuĂ©s tout au long du processus ? Qu’avons-nous appris, qu’avons-nous fait Ă©voluer ? Comment nos Ă©quipes se rĂ©partissent-elles les tĂąches ? Avons-nous dĂ» adapter nos applications PHP ? Quelles difficultĂ©s avons-nous rencontrĂ©es ? diff --git a/_posts/2021-10-21-fiber-the-open-door-to-async.md b/_posts/2021-10-21-fiber-the-open-door-to-async.md deleted file mode 100644 index 3044d923c..000000000 --- a/_posts/2021-10-21-fiber-the-open-door-to-async.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: conference - -title: "Fiber: the open door to asynchronous" -description: "Parmi les nouveautĂ©s apportĂ©es par Php 8.1, les Fibers tiennent une place particuliĂšre. Il s’agit certainement d’une fonctionnalitĂ© qui aura un impact majeur sur l’écosystĂšme Php, tout en ayant un impact mineur sur le code que vous Ă©crivez tous les jours. Les Fibers sont comme des gĂ©nĂ©rateurs amĂ©liorĂ©s, des fonctions interruptibles, mais qui peuvent s’imbriquer de maniĂšre transparente avec d’autres fonctions. Il est donc enfin possible de crĂ©er des fonctions similaires Ă  await et async pour rendre la programmation asynchrone moins intrusive dans notre code et permettre la compatibilitĂ© avec les frameworks existants. Voici une introduction Ă  ces nouveaux concepts, ainsi que des exemples concrets de ce que cela permettra dans l’écosystĂšme Php." -author: b_viguier -eventName: ForumPHP 2021 -eventUrl: https://event.afup.org/forum-php-2021/ -youtubeId: KkRo7fAC28s - -lang: fr -tags: [conference, php, afup] -color: rgb(251,87,66) ---- - -Parmi les nouveautĂ©s apportĂ©es par Php 8.1, les Fibers tiennent une place particuliĂšre. Il s’agit certainement d’une fonctionnalitĂ© qui aura un impact majeur sur l’écosystĂšme Php, tout en ayant un impact mineur sur le code que vous Ă©crivez tous les jours. Les Fibers sont comme des gĂ©nĂ©rateurs amĂ©liorĂ©s, des fonctions interruptibles, mais qui peuvent s’imbriquer de maniĂšre transparente avec d’autres fonctions. Il est donc enfin possible de crĂ©er des fonctions similaires Ă  await et async pour rendre la programmation asynchrone moins intrusive dans notre code et permettre la compatibilitĂ© avec les frameworks existants. Voici une introduction Ă  ces nouveaux concepts, ainsi que des exemples concrets de ce que cela permettra dans l’écosystĂšme Php. diff --git a/_posts/2022-05-13-docker-meetup-you-build-it-you-run-it.md b/_posts/2022-05-13-docker-meetup-you-build-it-you-run-it.md deleted file mode 100644 index 9462ddd4c..000000000 --- a/_posts/2022-05-13-docker-meetup-you-build-it-you-run-it.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -layout: conference - -title: You Build it, you run it -description: L'une des grandes Ă©tapes de l'autonomie d'une Ă©quipe de dĂ©veloppement dans la mĂ©thodologie DevOps est de s'intĂ©resser Ă  l'alerting liĂ© Ă  son infrastructure. Comment sommes-nous arrivĂ© Ă  proposer aux Ă©quipes de dĂ©veloppement de s'intĂ©resser et de maĂźtriser cet alerting ? -author: j_foray -eventName: Docker meetup -eventUrl: https://www.meetup.com/fr-FR/docker-lyon/events/285057478/ -youtubeId: SGgVKrNfTLc -sponsored: true -hosted: true - -tags: [conference, docker, meetup, devops] -color: rgb(251,87,66) ---- - -L'une des grandes Ă©tapes de l'autonomie d'une Ă©quipe de dĂ©veloppement dans la mĂ©thodologie DevOps est de s'intĂ©resser Ă  l'alerting liĂ© Ă  son infrastructure. Comment sommes-nous arrivĂ© Ă  proposer aux Ă©quipes de dĂ©veloppement de s'intĂ©resser et de maĂźtriser cet alerting ? diff --git a/_posts/2022-06-03-amateur-de-pression.md b/_posts/2022-06-03-amateur-de-pression.md deleted file mode 100644 index 35e356201..000000000 --- a/_posts/2022-06-03-amateur-de-pression.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: video -title: "Amateur de pression #LFT 03/06/22" -description: "" -author: h_riffiod -tags: [plongĂ©e, partage, lft, partage] -comments: true -color: rgb(251,87,66) -youtubeId: 3KbXTzypKRY -permalink: amateur-de-pression ---- - -Ivresse des profondeurs, exploration, dĂ©passement de soi, durant ce talk, Hugo Riffiod nous partage sa passion pour la plongĂ©e sous-marine. diff --git a/_posts/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md b/_posts/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md deleted file mode 100644 index 021eae905..000000000 --- a/_posts/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Comment faire un trailer vidĂ©o qui dĂ©chire avec les technos web ? #LFT 03/06/22" -description: "" -author: [m_alves, a_caron] -tags: [video, react, js, remotion,ffmpeg, lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: LvaHeKiwf0o -permalink: comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web ---- - -Un jour, alors que MickaĂ«l Alves Ă©tait fraichement arrivĂ© Ă  Bedrock, il a eu le malheur de demander Ă  Antoine Caron sur quoi il bossait entre midi et deux, qui semblait fort l'amuser. Quelle erreur du dev Franco-Portugais ! :scream: -Il ne se doutait pas encore de la folie de son nouveau tech lead : *« J'essaie de gĂ©nĂ©rer des vidĂ©os en MP4 Ă  partir de composants React, tu veux voir ? »* \ No newline at end of file diff --git "a/_posts/2022-06-03-connaissez-vous-cache\302\260cache.md" "b/_posts/2022-06-03-connaissez-vous-cache\302\260cache.md" deleted file mode 100644 index 8395e1f1f..000000000 --- "a/_posts/2022-06-03-connaissez-vous-cache\302\260cache.md" +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: video -title: "Connaissez vous Cache°Cache ? #LFT 03/06/22" -description: "" -tags: [swift, ios, lft, tech] -author: s_drode -comments: true -color: rgb(251,87,66) -youtubeId: zZnnW_h78-s -permalink: connaissez-vous-cache°cache ---- - -Petite dĂ©couverte d’un pattern de composition en utilisant une librairie de cache comme exemple, prĂ©sentĂ©e par notre expert Sebastien Drode. \ No newline at end of file diff --git a/_posts/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md b/_posts/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md deleted file mode 100644 index 1dd045bea..000000000 --- a/_posts/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "CrĂ©er un jeu vidĂ©o en moins d’une heure sur Unity #LFT 03/06/22" -description: "" -author: j_nginn -tags: [diy, livecoding, brewing, lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: qEiUSoZbQ68 -permalink: creer-un-jeu-video-en-moins-dune-heure-sur-unity ---- - -Julie Nginn nous prĂ©sente une introduction au moteur de jeu Unity, en *livecodant* la construction d'un jeu video. -Pas besoin d'ĂȘtre dĂ©veloppeur pour pouvoir crĂ©er un jeu vidĂ©o, ce talk s’adresse Ă  tout le monde 🙂 \ No newline at end of file diff --git a/_posts/2022-06-03-errances-a-kiilopaala.md b/_posts/2022-06-03-errances-a-kiilopaala.md deleted file mode 100644 index d06494ceb..000000000 --- a/_posts/2022-06-03-errances-a-kiilopaala.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: video -title: "Errances Ă  KiilopÀÀ #LFT 03/06/22" -description: "" -author: s_guyon -tags: [voyage, lft, partage] -comments: true -color: rgb(251,87,66) -youtubeId: r0NahO_EvsE -permalink: errances-a-kiilopaa ---- - -Mode d’emploi et retour d’expĂ©rience d’un trek polaire hivernal en solitaire prĂ©sentĂ© par [Sylvain Guyon](https://www.instagram.com/sylvain.guyon.photo/). diff --git a/_posts/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md b/_posts/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md deleted file mode 100644 index f1344bd44..000000000 --- a/_posts/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: video -title: "La pression je ne la subis pas, je la fais #LFT 03/06/22" -description: "" -tags: [homemade, diy, beer, brewing, lft, partage] -author: m_lopez -comments: true -color: rgb(251,87,66) -youtubeId: BWbmj3E3G7I -permalink: la-pression-je-ne-la-subis-pas-je-la-fais ---- - -Dans cette prĂ©sentation, Mathieu Lopez nous prĂ©sente un retour d'expĂ©rience sur le brassage de biĂšre. -Brasser sa biĂšre, comment ça marche ? Quelles sont les Ă©tapes clĂ©s ? -Au final, c'est quoi une biĂšre ? - diff --git "a/_posts/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" "b/_posts/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" deleted file mode 100644 index 134a9bfe3..000000000 --- "a/_posts/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "đŸȘ It’s Cookie Jar Time đŸȘ #LFT 03/06/22" -description: "" -author: e_carneau -tags: [UX, lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: -rMtDI3tvDI -permalink: đŸȘ-its-cookie-jar-time-đŸȘ ---- - -DĂ©couvrez “Cookie Jar”, la base de donnĂ©es de connaissances utilisateurs qui centralise et documente toute l’UX research produite chez Bedrock. -PrĂ©sentĂ© par Elise Carenau. \ No newline at end of file diff --git a/_posts/2022-06-08-comment-ne-pas-jeter-votre-application.md b/_posts/2022-06-08-comment-ne-pas-jeter-votre-application.md deleted file mode 100644 index e0c372991..000000000 --- a/_posts/2022-06-08-comment-ne-pas-jeter-votre-application.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: conference - -title: "Comment ne pas jeter son application Frontend tous les deux ans ?" -author: [a_caron, f_dubost] -eventName: LyonJS Meetup -eventUrl: https://www.meetup.com/fr-FR/lyonjs/events/285497869/ -youtubeId: t36UqNSmybM -sponsored: true -hosted: true - -lang: fr -tags: [conference, js, react, lyonjs, meetup] -color: rgb(251,87,66) ---- - -Bonnes pratiques pour la maintenance d'une application web -Refaire son front tous les 2 ans, c’est devenu une pratique plutĂŽt courante dans tous les projets. Tous ? Non, chez Bedrock streaming, nous avons choisi de rester sur la mĂȘme codebase et ça depuis plus de 7 ans! En plus, ce n’est pas une petite application puisqu’il s’agit de 6play et de salto. -Vous pourriez vous dire: “Oh les pauvres, maintenir une application vieille de presque 10 ans ça doit ĂȘtre un enfer !” -Rassurez-vous, ce n’est pas le cas ! Nous avons tous travaillĂ© sur des projets bien moins vieux mais sur lesquels le dĂ©veloppement de nouvelles fonctionnalitĂ©s Ă©tait bien plus pĂ©nible. - -Quel est notre secret ? C’est ce que vous allez dĂ©couvrir pendant ce talk ! -Automatisation des tĂąches courantes, gestion de la dette, testing et architecture seront des sujets abordĂ©s. -Ce talk propose des thĂ©matiques qui ne concernent pas que le frontend ! - -[Plus de dĂ©tails dans l'article suivant.]({% post_url 2021-09-01-bonnes-pratiques-web %}) - diff --git a/_posts/2022-06-08-migration-progressive-vers-redux-toolkit.md b/_posts/2022-06-08-migration-progressive-vers-redux-toolkit.md deleted file mode 100644 index 723fe9305..000000000 --- a/_posts/2022-06-08-migration-progressive-vers-redux-toolkit.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: conference - -title: "Migration progressive vers Redux Toolkit" -author: m_blanc -description: "Les crĂ©ateurs de Redux ont conçu Redux Toolkit, une sĂ©rie d'utilitaires facilitant l'usage de Redux. Comment les utiliser et comment migrer progressivement ? C'est ce que nous allons voir !" - -eventName: LyonJS Meetup -eventUrl: https://www.meetup.com/fr-FR/lyonjs/events/285497869/ -youtubeId: YsHiH7qCjKM -sponsored: true -hosted: true - -tags: [redux, lyonjs, meetup, react, javascript, conference] -comments: true -color: rgb(251,87,66) -language: fr ---- - -Redux est le gestionnaire d'Ă©tat global le plus populaire au sein de la communautĂ© JS. -Ses crĂ©ateurs encouragent dĂ©sormais l'utilisation de Redux Toolkit (RTK). Une suite d'utilitaires facilitant l'usage de Redux et rĂ©duisant notamment sa verbositĂ©. -Dans cette prĂ©sentation, je vous propose un live coding pour migrer pas-Ă -pas une application React/Redux vers RTK. diff --git a/_posts/2022-09-30-bullet-journal.md b/_posts/2022-09-30-bullet-journal.md deleted file mode 100644 index 1b0b18cc5..000000000 --- a/_posts/2022-09-30-bullet-journal.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Bullet journal #LFT 30/09/22" -description: "" -author: b_garcia -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: 30YlGB3f7es -permalink: bullet-journal ---- - -Bullet Journal. -PrĂ©sentĂ© par BĂ©nĂ©dicte Garcia. diff --git a/_posts/2022-09-30-chaos-engineering-frontend.md b/_posts/2022-09-30-chaos-engineering-frontend.md deleted file mode 100644 index 7ace7285c..000000000 --- a/_posts/2022-09-30-chaos-engineering-frontend.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Chaos engineering dans le frontend #LFT 30/09/22" -description: "" -author: t_courtoison -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: Fy0xBZA2P2s -permalink: chaos-engineering-frontend ---- - -DĂ©couvrez comment faire du chaos engineering dans le frontend. -PrĂ©sentĂ© par Thibaud Courtoison. diff --git a/_posts/2022-09-30-comment-cloner-shazam.md b/_posts/2022-09-30-comment-cloner-shazam.md deleted file mode 100644 index f217c18ce..000000000 --- a/_posts/2022-09-30-comment-cloner-shazam.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Comment cloner Shazam ! #LFT 30/09/22" -description: "" -author: m_agack -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: IdMdkpSNPMo -permalink: comment-cloner-shazam ---- - -DĂ©couvrez comment cloner Shazam! -PrĂ©sentĂ© par Moustapha Agack. diff --git a/_posts/2022-09-30-courir-la-voie-du-fondeur.md b/_posts/2022-09-30-courir-la-voie-du-fondeur.md deleted file mode 100644 index ba63b9f57..000000000 --- a/_posts/2022-09-30-courir-la-voie-du-fondeur.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Courir: la voi(e/x) du fondeur #LFT 30/09/22" -description: "" -author: t_sontag -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: 0JM1WoOBObs -permalink: courir-la-voie-du-fondeur ---- - -Courir: la voi(e/x) du fondeur -PrĂ©sentĂ© par Thomas Sontag. diff --git a/_posts/2022-09-30-la-facilitation-spectacle.md b/_posts/2022-09-30-la-facilitation-spectacle.md deleted file mode 100644 index b2a405601..000000000 --- a/_posts/2022-09-30-la-facilitation-spectacle.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "La facilitation spectacle : Entre artifices et intention #LFT 30/09/22" -description: "" -author: c_cousin -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: ogtyP75d4gw -permalink: la-facilitation-spectacle ---- - -La facilitation spectacle : Entre artifices et intention. -PrĂ©sentĂ© par Camille Cousin & Marie-AndrĂ©e Jolibois. diff --git a/_posts/2022-09-30-nearby-interaction-airtags.md b/_posts/2022-09-30-nearby-interaction-airtags.md deleted file mode 100644 index eaa412e39..000000000 --- a/_posts/2022-09-30-nearby-interaction-airtags.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Nearby interaction, Airtags or how your iPhone shares your location #LFT 30/09/22" -description: "" -author: o_balystky -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: gYtGrS4IchM -permalink: nearby-interaction-airtags ---- - -DĂ©couvrez comment votre iPhone partage votre localisation. -PrĂ©sentĂ© par Oleksandr Balystky. diff --git a/_posts/2022-09-30-turn-off-your-notifications.md b/_posts/2022-09-30-turn-off-your-notifications.md deleted file mode 100644 index 583aff177..000000000 --- a/_posts/2022-09-30-turn-off-your-notifications.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Turn off your fracking notifications #LFT 30/09/22" -description: "" -author: f_dumas -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: Z5sES-tLfgE -permalink: turn-off-your-notifications ---- - -Turn off your fracking notifications. -PrĂ©sentĂ© par Fabien Dumas. diff --git a/_posts/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md b/_posts/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md deleted file mode 100644 index 6b0f72151..000000000 --- a/_posts/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: conference -title: Comprenez comment PHP fonctionne, vos applications marcheront mieux, Forum PHP 2022 -description: | - Cycle de vie de PHP, communication entre nginx et php-fpm, approche shared-nothing, compilation et cache d’opcodes, - gestion interne de la mĂ©moire ou mĂȘme architecture logicielle et debugging
 Pour qu’une application rĂ©ponde aux - attentes de son public, nous devons comprendre comment PHP fonctionne ! -author: p_martin -eventName: "Forum PHP 2022" -sponsored: true -eventUrl: "https://event.afup.org/forum-php-2022/" -youtubeId: eWlsd9Vtszs -tags: [conference, afup, forumphp, php] -color: rgb(251,87,66) ---- - -Pour exĂ©cuter du code, PHP consomme du processeur et de la mĂ©moire. Quand une requĂȘte HTTP arrive, un processus php-fpm lui est dĂ©diĂ©. Mais ces ressources sont limitĂ©es. Et, mĂȘme dans Le Cloud ou en serverless, scaler prend du temps et les coĂ»ts s’envolent ! - -Savez-vous combien de CPU et de RAM votre application rĂ©clame ? Et pendant quelle durĂ©e ? Si non ou sans comprendre « pourquoi », difficile de dĂ©velopper efficacement et de dimensionner un hĂ©bergement pĂ©renne ! Peut-ĂȘtre que ça marche
 Sur votre poste. Ou pendant un moment, en gaspillant de l’argent et des ressources. Mais l’expĂ©rience prouve que, tĂŽt ou tard, ces questions vous rattraperont. - -Cycle de vie de PHP, communication entre nginx et php-fpm, approche shared-nothing, compilation et cache d’opcodes, gestion interne de la mĂ©moire ou mĂȘme architecture logicielle et debugging
 Pour qu’une application rĂ©ponde aux attentes de son public, nous devons comprendre comment PHP fonctionne ! diff --git a/_posts/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md b/_posts/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md deleted file mode 100644 index 4f3895e42..000000000 --- a/_posts/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: conference -title: "Revue de code : on n’est pas venu pour souffrir !" -description: Un cadre positif et formateur pour les revues de code ? C'est possible ! -author: al_deboissieu -eventName: "Forum PHP 2022" -sponsored: true -eventUrl: "https://event.afup.org/forum-php-2022/" -youtubeId: LVh6iQtJW2I -tags: [conference, afup, forumphp, revue] -color: rgb(251,87,66) ---- - -J'ai rejoint ma nouvelle Ă©quipe il y a 6 mois, avec une apprĂ©hension. Comment allais-je vivre les revues de code par des collĂšgues que je ne connais pas encore ? IncomprĂ©hensions, malentendus : la communication Ă©crite rend cet exercice trĂšs dĂ©licat. Vous avez Ă©tĂ© blessĂ©-e par un commentaire ? Etait-il vraiment mal intentionnĂ© ? Vous avez blessĂ© quelqu'un sans le vouloir, Ă  cause d'une tournure maladroite ? - -Dans mon Ă©quipe, j'ai dĂ©couvert un cadre qui m'a permis de me sentir bien accueillie dĂšs mon arrivĂ©e. En adoptant une posture et une convention bien adaptĂ©e, on peut largement diminuer le risque de mal se comprendre. Non seulement on communique mieux, mais on amĂ©liore la qualitĂ© globale du projet. - -Vous n'aurez plus aucune raison de souffrir ! diff --git a/_posts/2022-11-25-docteur-qui.md b/_posts/2022-11-25-docteur-qui.md deleted file mode 100644 index ee6cbabdf..000000000 --- a/_posts/2022-11-25-docteur-qui.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: video -title: "Docteur qui ? #LFT 25/11/22" -description: "" -author: s_haim -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: 9ulkF_TvaKw -permalink: docteur-qui ---- - -> PrĂ©sentation de la sĂ©rie TV iconique, geek et britannique qu'est Doctor Who. -> -> DĂ©couvrez : -> -> De quoi parle Doctor Who ? -> -> Pourquoi cette vieille sĂ©rie est culte ? -> -> Par oĂč commencer si on veut regarder - -PrĂ©sentĂ© par Sarah HaĂŻm-Lubczanski. diff --git a/_posts/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md b/_posts/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md deleted file mode 100644 index 129c879c2..000000000 --- a/_posts/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: video -title: "Écrire un livre, mais pourquoi faire ? #LFT 25/11/22" -description: "" -author: n_saby -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: 9J3PeTHE56E -permalink: ecrire-un-livre-mais-pourquoi-faire ---- - -> Écrire un livre vous rendra-t-il riche et cĂ©lĂšbre ? Peut-ĂȘtre ou peut-ĂȘtre pas. -> -> En janvier dernier, j'ai publiĂ© un ouvrage sur Spark, framework data, aux Éditions ENI. Je vous propose de vous raconter cette aventure. -> -> De cette maniĂšre-lĂ , vous aurez une vision des bĂ©nĂ©fices (ou pas) que vous pouvez tirer en Ă©crivant un livre. - -PrĂ©sentĂ© par Nastasia Saby. diff --git a/_posts/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md b/_posts/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md deleted file mode 100644 index 1ad9c90a5..000000000 --- a/_posts/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: video -title: "Fabriquer sa table avec plateau live edge : tout ce qu'il faut faire... ou pas ! #LFT 25/11/22" -description: "" -author: t_crespy -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: SDdN_CWtv1c -permalink: fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas ---- - -> Fabriquer sa table avec plateau live edge : tout ce qu'il faut faire... ou pas ! - -PrĂ©sentĂ© par TimothĂ© Crespy. diff --git a/_posts/2022-11-25-reconstitution-medieval.md b/_posts/2022-11-25-reconstitution-medieval.md deleted file mode 100644 index ce2567bf6..000000000 --- a/_posts/2022-11-25-reconstitution-medieval.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: video -title: "git log --since=486-09-16T00:00:00-00:00 --until=1453-05-29T00:00:00 #LFT 25/11/22" -description: "" -author: [o_janin, t_briset] -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: oANKiFUavA4 -permalink: reconstitution-medieval ---- - -> Reconstitution medieval et autres joyeusetĂ©s đŸč - -PrĂ©sentĂ© par Olivier Janin et Thomas Briset. diff --git a/_posts/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md b/_posts/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md deleted file mode 100644 index 4f416570f..000000000 --- a/_posts/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: video -title: "Trois patterns avancĂ©s pour amĂ©liorer la rĂ©silience d’une application #LFT 25/11/22" -description: "" -author: p_martin -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: O0nYbEBsPJ0 -permalink: trois-patterns-avances-pour-ameliorer-la-resilience-une-application ---- - -> AprĂšs la prĂ©sentation gĂ©nĂ©rale d'il y a quelques mois (vidĂ©o publique), plongeons plus en profondeur dans trois approches qui aident Ă  amĂ©liorer la rĂ©silience d'une plateforme. -> -> Nous parlerons, aujourd'hui, de : -> -> Random Jitter ; -> -> de Cell-based architecture ; -> -> et de Shuffle Sharding. -> -> Avec quelques schĂ©mas Ă  ma façon 😍 - -PrĂ©sentĂ© par Pascal Martin. diff --git a/_posts/2022-11-25-trophy-hunter.md b/_posts/2022-11-25-trophy-hunter.md deleted file mode 100644 index a34036677..000000000 --- a/_posts/2022-11-25-trophy-hunter.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: video -title: "Trophy Hunter #LFT 25/11/22" -description: "" -author: o_thebault -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: yueUdqkc3eo -permalink: trophy-hunter ---- - -> Les chasseurs qui ne font de mal Ă  personne d'autres qu'Ă  eux-mĂȘmes đŸ˜» - -PrĂ©sentĂ© par Oliver ThĂ©bault. diff --git a/_posts/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md b/_posts/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md deleted file mode 100644 index b3bdf62eb..000000000 --- a/_posts/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Le festival de cannes de sa naissance Ă  aujourd’hui #LFT 27/01/23" -description: "" -author: m_lemoal -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: biuVR0aqHPI -permalink: festival-de-cannes-de-sa-naissance-a-aujourdhui ---- - -Le festival de cannes de sa naissance Ă  aujourd’hui -PrĂ©sentĂ© par Maxime LE MOAL. diff --git a/_posts/2023-01-27-hotographie-de-paysages-nocturnes.md b/_posts/2023-01-27-hotographie-de-paysages-nocturnes.md deleted file mode 100644 index 797428e88..000000000 --- a/_posts/2023-01-27-hotographie-de-paysages-nocturnes.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "La photographie de paysages nocturnes #LFT 27/01/23" -description: "" -author: c_niel -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: XjKOT60DAWY -permalink: photographie-de-paysages-nocturnes ---- - -La photographie de paysages nocturnes -PrĂ©sentĂ© par Camille NIEL. diff --git a/_posts/2023-01-27-la-culture-hip-hop.md b/_posts/2023-01-27-la-culture-hip-hop.md deleted file mode 100644 index 5837c243f..000000000 --- a/_posts/2023-01-27-la-culture-hip-hop.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "La culture Hip-Hop #LFT 27/01/23" -description: "" -author: p_halter -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: p2b5VSAXjlA -permalink: la-culture-hip-hop ---- - -La culture Hip-Hop -PrĂ©sentĂ© par Pascal HALTER. diff --git a/_posts/2023-01-27-la-philo-et-les-livres.md b/_posts/2023-01-27-la-philo-et-les-livres.md deleted file mode 100644 index e2edec89c..000000000 --- a/_posts/2023-01-27-la-philo-et-les-livres.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "La philo et les livres : mes compagnons de route pour les dĂ©fis sportifs #LFT 27/01/23" -description: "" -author: c_pettinelli -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: 80caZ6ejwwA -permalink: la-philo-et-les-livres ---- - -La philo et les livres : mes compagnons de route pour les dĂ©fis sportifs -PrĂ©sentĂ© par Chiara PETTINELLI. diff --git a/_posts/2023-01-27-loignon-dans-le-web.md b/_posts/2023-01-27-loignon-dans-le-web.md deleted file mode 100644 index ede2228ae..000000000 --- a/_posts/2023-01-27-loignon-dans-le-web.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Qu’est-ce que l’oignon dans le Web ? #LFT 27/01/23" -description: "" -author: e_doyon -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: g4TUxEAXN4Q -permalink: loignon-dans-le-web ---- - -Qu’est-ce que l’oignon dans le Web ? -PrĂ©sentĂ© par Etienne Doyon. diff --git a/_posts/2023-01-27-projet-xstate.md b/_posts/2023-01-27-projet-xstate.md deleted file mode 100644 index 49dede855..000000000 --- a/_posts/2023-01-27-projet-xstate.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Projet XState #LFT 27/01/23" -description: "" -author: m_blanc -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: BQ6mh81tOPs -permalink: projet-xstate ---- - -Projet XState. -PrĂ©sentĂ© par Maxime BLANC. diff --git a/_posts/2023-01-27-the-time-i-tried-to-build-a-second-brain.md b/_posts/2023-01-27-the-time-i-tried-to-build-a-second-brain.md deleted file mode 100644 index 399cc0034..000000000 --- a/_posts/2023-01-27-the-time-i-tried-to-build-a-second-brain.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "The time I tried to build a Second Brain #LFT 27/01/23" -description: "" -author: s_zoccarato -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: bbOM6YJcoz0 -permalink: the-time-i-tried-to-build-a-second-brain ---- - -The time I tried to build a Second Brain -PrĂ©sentĂ© par Sylvain ZOCCARATO. diff --git a/_posts/2023-02-08-projet-xstate.md b/_posts/2023-02-08-projet-xstate.md deleted file mode 100644 index 43656f20e..000000000 --- a/_posts/2023-02-08-projet-xstate.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: conference - -title: "Projet XState" -author: m_blanc -description: "La gestion d'Ă©tat applicative est une notion complexe et fondamentale (donc passionnante) des applications web modernes. Pour garder le contrĂŽle de votre application, venez dĂ©couvrir XState, un moteur d'Ă©tats reposant sur le concept de machines Ă  Ă©tats finis." - -eventName: LyonJS Meetup -eventUrl: https://www.meetup.com/fr-FR/lyonjs/events/290762638/ -youtubeId: HWRQp2Y1rbw -sponsored: true -hosted: true - -tags: [xstate, lyonjs, meetup, react, javascript, conference] -comments: true -color: rgb(251,87,66) -language: fr ---- - -Dans une application frontend moderne, la gestion d'Ă©tat est un Ă©lĂ©ment central de son bon fonctionnement. MalgrĂ© les nombreuses librairies disponibles (Redux, MobX, Recoil...), cette tache reste complexe Ă  rĂ©aliser et il est facile de perdre le contrĂŽle. - -Dans l'objectif de rester maitre de son application, je vous propose de dĂ©couvrir XState, une librairie reposant sur le concept de machine Ă  Ă©tats. Si l'outil ne fait pas tout, le concept de machine Ă  Ă©tat aide grandement Ă  concevoir une application rĂ©siliente. - -Pour prĂ©senter au mieux les concepts, la thĂ©orie sera suivie de pratique au travers d'un live coding. diff --git a/_posts/2023-03-31-analyse-charte-graphique.md b/_posts/2023-03-31-analyse-charte-graphique.md deleted file mode 100644 index 5720ecfa9..000000000 --- a/_posts/2023-03-31-analyse-charte-graphique.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Couleur, Typographie, Logo: Analyse dune charte graphique #LFT 31/03/23" -description: "" -author: s_masson -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: xxLHKgVo3qk -permalink: analyse-charte-graphique ---- - -Couleur, Typographie, Logo: Analyse dune charte graphique. -PrĂ©sentĂ© par Sylvain MASSON. diff --git a/_posts/2023-03-31-capture-et-signification-de-la-couleur.md b/_posts/2023-03-31-capture-et-signification-de-la-couleur.md deleted file mode 100644 index 374137f84..000000000 --- a/_posts/2023-03-31-capture-et-signification-de-la-couleur.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Comment j'ai rĂ©ussi Ă  capturer la couleur et quelle est sa signification ? #LFT 31/03/23" -description: "" -author: h_detang -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: Qjn4JZZO7C4 -permalink: capture-et-signification-de-la-couleur ---- - -Comment j'ai rĂ©ussi Ă  capturer la couleur et quelle est sa signification ? -PrĂ©sentĂ© par Hugo DETANG. diff --git a/_posts/2023-03-31-comment-enfin-sortir-vos-side-projects.md b/_posts/2023-03-31-comment-enfin-sortir-vos-side-projects.md deleted file mode 100644 index 55aca1457..000000000 --- a/_posts/2023-03-31-comment-enfin-sortir-vos-side-projects.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Comment (enfin) sortir vos side projects #LFT 31/03/23" -description: "" -author: t_jarrand -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: DCudohbJ6gU -permalink: comment-enfin-sortir-vos-side-projects ---- - -Comment (enfin) sortir vos side projects. -PrĂ©sentĂ© par Thomas JARRAND. diff --git a/_posts/2023-03-31-comment-gerer-des-journees-de-35h.md b/_posts/2023-03-31-comment-gerer-des-journees-de-35h.md deleted file mode 100644 index 68452e5b3..000000000 --- a/_posts/2023-03-31-comment-gerer-des-journees-de-35h.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Comment gĂ©rer des journĂ©es de 35h #LFT 31/03/23" -description: "" -author: s_gougouzian -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: ylrp8D0w540 -permalink: comment-gerer-des-journees-de-35h ---- - -Comment gĂ©rer des journĂ©es de 35h -PrĂ©sentĂ© par Sylvain GOUGOUZIAN. diff --git a/_posts/2023-03-31-guide-pratique-amateur-horlogerie.md b/_posts/2023-03-31-guide-pratique-amateur-horlogerie.md deleted file mode 100644 index 7b71c8076..000000000 --- a/_posts/2023-03-31-guide-pratique-amateur-horlogerie.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Montres bracelets, le guide pratique de l'amateur d'horlogerie #LFT 31/03/23" -description: "" -author: r_panoyan -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: c52fwFVdChU -permalink: guide-pratique-amateur-horlogerie ---- - -Montres bracelets, le guide pratique de l'amateur d'horlogerie. -PrĂ©sentĂ© par Rafi PANOYAN. diff --git a/_posts/2023-03-31-rex-shape-up.md b/_posts/2023-03-31-rex-shape-up.md deleted file mode 100644 index 06e46c969..000000000 --- a/_posts/2023-03-31-rex-shape-up.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "REX-Shape Up, un LFT dont vous ĂȘtes les hĂ©ros #LFT 31/03/23" -description: "" -author: pt_guillot -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: OjP8mGmkPs0 -permalink: rex-shape-up ---- - -REX-Shape Up, un LFT dont vous ĂȘtes les hĂ©ros. -PrĂ©sentĂ© par Pierre-Thomas GUILLOT. diff --git a/_posts/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md b/_posts/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md deleted file mode 100644 index c6f5be1e7..000000000 --- a/_posts/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Twitch: du streaming mais pas en lit de pierre #LFT 31/03/23" -description: "" -author: q_gillie -tags: [lft, tech] -comments: true -color: rgb(251,87,66) -youtubeId: JzYgiAfS3Bs -permalink: twitch-streaming ---- - -Twitch: du streaming mais pas en lit de pierre. -PrĂ©sentĂ© par Quentin GILLIE. diff --git a/_posts/2023-06-02-creer-son-association.md b/_posts/2023-06-02-creer-son-association.md deleted file mode 100644 index 78786468d..000000000 --- a/_posts/2023-06-02-creer-son-association.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: video -title: "CrĂ©er son association #LFT 02/06/23" -description: "" -author: g_treme -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: 7m-DM8A76UI -permalink: creer-son-association ---- - -> Ça fait maintenant plus de deux ans que j'ai créé mon association sportive. J'aimerais Ă  travers ce talk, faire un retour d'expĂ©rience sur mon aventure associative. -> -> Le format serait axĂ© autour d'un fil rouge concernant ma propre expĂ©rience avec mon association "Fit for All" Tout en gĂ©nĂ©ralisant des tips et des "choses Ă  savoir/connaitre" pour monter un association. -> -> Je fais ce talk sur toutes les choses que j'aurais aimĂ© savoir avant de me lancer "dans le grand bassin" - -PrĂ©sentĂ© par Guillaume TrĂ©mĂ©. \ No newline at end of file diff --git a/_posts/2023-06-02-vacances-velo-lft.md b/_posts/2023-06-02-vacances-velo-lft.md deleted file mode 100644 index f8f7ad370..000000000 --- a/_posts/2023-06-02-vacances-velo-lft.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Et si vos prochaines vacances se passaient Ă  vĂ©lo ? #LFT 02/06/23" -description: "" -author: t_jarrand -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: hVzmy8HMg6k -permalink: vacances-a-velo ---- - -> La randonnĂ©e Ă  vĂ©lo, c'est Ă©conomique, Ă©cologique, relaxant, dĂ©paysant et c'est plus facile d'accĂšs que ce que vous pourriez pensez. Alors on y va ? Un talk pour bien dĂ©marrer, faire dĂ©couvrir, chasser les idĂ©es reçues, partager des astuces et donner l'envie de pĂ©daler ! - -Par [Thomas Jarrand](https://github.com/tom32i) \ No newline at end of file diff --git a/_posts/2023-06-19-ameliorons-ensemble-la-doc-de-postgresql b/_posts/2023-06-19-ameliorons-ensemble-la-doc-de-postgresql deleted file mode 100644 index 929d03568..000000000 --- a/_posts/2023-06-19-ameliorons-ensemble-la-doc-de-postgresql +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: conference -title: "AmĂ©liorons ensemble la doc de Postgres" -description: "La documentation est le meilleur moyen de rassembler le savoir et de rendre les informations disponibles pour le plus grand nombre et de faire progresser tout le monde, des personnes dĂ©butantes aux plus avancĂ©es dans PostgreSQL. Prenons quelques pages de documentation de votre logiciel prĂ©fĂ©rĂ©, et examinons comment nous pourrions les amĂ©liorer. Avec quelques efforts sur le contenu et la prĂ©sentation, votre documentation pourrait ĂȘtre plus lisible, et plus utile Ă  la communautĂ©. Quelques astuces pour produire directement une bonne documentation sont Ă©galement au menu, tout comme l'art de relire une documentation existante." -author: s_haim -eventName: "PG Day France 2023 (Strasbourg)" -tags: [conference, doc, postgresql] -comments: true -color: rgb(251,87,66) -youtubeId: B665IfwnlU0 -permalink: ameliorons-ensemble-la-doc-de-postgresql ---- - - -La documentation est le meilleur moyen de rassembler le savoir et de rendre les informations disponibles pour le plus grand nombre et de faire progresser tout le monde, des personnes dĂ©butantes aux plus avancĂ©es dans PostgreSQL. - -Prenons quelques pages de documentation de votre logiciel prĂ©fĂ©rĂ©, et examinons comment nous pourrions les amĂ©liorer. Avec quelques efforts sur le contenu et la prĂ©sentation, votre documentation pourrait ĂȘtre plus lisible, et plus utile Ă  la communautĂ©. -Quelques astuces pour produire directement une bonne documentation sont Ă©galement au menu, tout comme l'art de relire une documentation existante. diff --git a/_posts/2023-09-29-json-au-service-des-devs.md b/_posts/2023-09-29-json-au-service-des-devs.md deleted file mode 100644 index a67b87583..000000000 --- a/_posts/2023-09-29-json-au-service-des-devs.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Json au service des devs #LFT 29/09/23" -description: "" -author: j_nginn -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: cdWwagPGsXo -permalink: json-au-service-des-devs ---- - -> Éditer un CV, imprimer des fiches de recette, Ă©crire une lettre de motivation, rĂ©diger un rapport ... Tant de choses fastidieuses Ă  Ă©crire et chiantes Ă  mettre en page (surtout quand on ne sait pas utiliser Word). C'est pourquoi j'ai dĂ©veloppĂ© un outil pour m'aider Ă  faire tout ça en utilisant uniquement du JSON ! - -Par **Julie Nginn** diff --git a/_posts/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md b/_posts/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md deleted file mode 100644 index a7f1a08bd..000000000 --- a/_posts/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "La traversĂ©e du Finnmarksvidda: carnet de bord d’une aventure glaciale #LFT 29/09/23" -description: "" -author: s_guyon -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: j7zdFR0DGyQ -permalink: la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale ---- - -> Carnet de voyage de ma traversĂ©e en solitaire du plateau du Finnmarksvidda, en NorvĂšge, entre Alta et Karasjok, en mars 2023. - -Par **Sylvain Guyon** diff --git a/_posts/2023-09-29-siteswap-jongler-avec-les-maths.md b/_posts/2023-09-29-siteswap-jongler-avec-les-maths.md deleted file mode 100644 index fc3406839..000000000 --- a/_posts/2023-09-29-siteswap-jongler-avec-les-maths.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Siteswap: jongler avec les maths #LFT 29/09/23" -description: "" -author: d_krieger -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: stp4lnxvyJk -permalink: siteswap-jongler-avec-les-maths ---- - -> PrĂ©sentation des concepts de base du Siteswap, la notation mathĂ©matique qui permet de dĂ©crire les patterns/figures de jonglerie. DĂ©finition, exemples basiques, limites, comment dĂ©terminer si une sĂ©quence est valide... avec dĂ©monstration en direct de certaines figures. - -Par **Damien Krieger** diff --git a/_posts/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md b/_posts/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md deleted file mode 100644 index ff30211b6..000000000 --- a/_posts/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: video -title: "Comment faire de votre vie un BlackFriday permanent #LFT 24/11/23" -description: "" -author: t_sontag -tags: [lft] -color: rgb(251,87,66) -youtubeId: WUA7Zi5pakc -permalink: comment-faire-de-votre-vie-un-blackfriday-permanent ---- - -> A travers ce talk, j’aimerai vous initier Ă  l’intĂ©rĂȘt de la nĂ©gociation et les diffĂ©rentes techniques que l’on peut utiliser pour bien nĂ©gocier. -> L’idĂ©e est de vous donner des clĂ©s simples et efficaces pour aborder une situation frĂ©quente qui peut parfois ĂȘtre source de stress ou de tensions. - -Par **Thomas Sontag** diff --git a/_posts/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md b/_posts/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md deleted file mode 100644 index 50e7dc144..000000000 --- a/_posts/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: video -title: "Jeux vidĂ©o, websocket et binaire: temps rĂ©el efficace pour navigateur #LFT 24/11/23" -description: "" -author: t_jarrand -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: jJ258c_C6Sc -permalink: jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur ---- - -> Connaissez vous les websockets ? La techno idĂ©ale pour coder des expĂ©riences temps rĂ©el dans le navigateur et que j'utilise dans tout mes projets collaboratifs et jeux multijoueur ? - -> Je vous propose de nous intĂ©resser Ă  son fonctionnement, et Ă  la façon dont on peut mettre en place cette communication client/serveur performante, en Ă©changeant directement en binaire. - -> On s'amusera Ă  les voir prendre vie tous ensemble dans une dĂ©mo live...en GO ! - -Par **Thomas Jarrand** diff --git a/_posts/2024-02-02-le-lft-du-lft.md b/_posts/2024-02-02-le-lft-du-lft.md deleted file mode 100644 index 053279f45..000000000 --- a/_posts/2024-02-02-le-lft-du-lft.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Le LFT du LFT - PUB LFT #LFT 02/02/24" -description: "" -author: team_lft -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: UgOFZmOJOmo -permalink: le-lft-du-lft ---- - -> Comment aider les LFTs ? - -Par **la LFTeam** diff --git a/_posts/2024-02-02-mon-premier-jeu-sur-bga.md b/_posts/2024-02-02-mon-premier-jeu-sur-bga.md deleted file mode 100644 index 43755faf0..000000000 --- a/_posts/2024-02-02-mon-premier-jeu-sur-bga.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: video -title: "Mon premier jeu sur BGA #LFT 02/02/24" -description: "" -author: o_thebault -tags: [lft, tech] -color: rgb(251,87,66) -youtubeId: zwiMJjc9n7g -permalink: mon-premier-jeu-sur-bga ---- - -> Introduction au jeu de sociĂ©tĂ© Velonimo et Ă  la plateforme de jeux en ligne Board Game Arena, suivie d’un retour d'expĂ©rience de l'implĂ©mentation de ce jeu sur cette plateforme en tant que dĂ©veloppeur Web. - -Par **Oliver ThĂ©bault** diff --git a/_posts/2024-04-17-sauve-un-e-dev-ecris-une-doc.md b/_posts/2024-04-17-sauve-un-e-dev-ecris-une-doc.md deleted file mode 100644 index 6adfd7ea3..000000000 --- a/_posts/2024-04-17-sauve-un-e-dev-ecris-une-doc.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: conference -title: "Sauve un-e dĂ©v, Ă©cris une doc !" -description: "Vous ĂȘtes dĂ©veloppeuse : vous aimez programmer, rĂ©flĂ©chir. Vous aimez crĂ©er des applications ou des bibliothĂšques de qualitĂ©. Mais pourquoi personne ne les utilise ? Parce que votre documentation n'est pas Ă  la hauteur ! Justement : je suis experte de la doc, et mon mĂ©tier est de vous aider Ă  valoriser votre logiciel auprĂšs de ses utilisateurs, Ă  travers une bonne doc. Comprenons comment architecturer, concevoir et rĂ©diger votre contenu. DĂ©couvrons les outils qui vous procureront une aide prĂ©cieuse. Enfin, facilitons sa mise Ă  jour pour qu'elle soit pĂ©renne. DorĂ©navant, vous saurez identifier les passages obligĂ©s et ceux oĂč vous pouvez gagner du temps." -author: s_haim -eventName: "Devoxx France 2024" -sponsored: true -eventUrl: "https://mobile.devoxx.com/events/devoxxfr2024/talks/10852/details" -youtubeId: Jd8k4s7O3GM -tags: [conference, devoxx, doc] -color: rgb(251,87,66) ---- - -Vous ĂȘtes dĂ©veloppeur ou dĂ©veloppeuse PHP : vous aimez programmer, rĂ©flĂ©chir. Vous aimez crĂ©er des applications ou des bibliothĂšques de qualitĂ©. Mais pourquoi personne ne les utilise ? Parce que votre documentation n'est pas Ă  la hauteur ! - -Justement : je suis Technical Writer et mon mĂ©tier est de vous aider Ă  valoriser votre logiciel auprĂšs de ses utilisateurs et utilisatrices, Ă  travers une bonne doc. Comprenons comment architecturer, concevoir et rĂ©diger votre contenu. DĂ©couvrons les outils qui vous procurerons une aide prĂ©cieuse. Enfin, facilitons sa mise Ă  jour pour qu'elle soit pĂ©renne. - -DorĂ©navant, vous saurez identifier les passages obligĂ©s et ceux oĂč vous pouvez gagner du temps. diff --git a/_sass/external/_katex.scss b/_sass/external/_katex.scss deleted file mode 100644 index e2c685958..000000000 --- a/_sass/external/_katex.scss +++ /dev/null @@ -1,1162 +0,0 @@ -/* Custom */ -$katex-font-path: "../../assets/fonts/katex" !default; -.katex-display { - @media screen and (max-width: $sm-break) { - overflow-x: auto; - } - padding-bottom: 3px; - padding-top: 1px; - width: auto; - height: auto; -} - -.math-display { - display: inline-block; - width: 100%; -} - -/*! KaTeX - license MIT */ -/* stylelint-disable font-family-no-missing-generic-family-keyword */ -@font-face { - font-family: "KaTeX_AMS"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_AMS-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_AMS-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_AMS-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Caligraphic"; - font-style: normal; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_Caligraphic-Bold.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Caligraphic-Bold.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Caligraphic-Bold.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Caligraphic"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Caligraphic-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Caligraphic-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Caligraphic-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Fraktur"; - font-style: normal; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_Fraktur-Bold.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Fraktur-Bold.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Fraktur-Bold.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Fraktur"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Fraktur-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Fraktur-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Fraktur-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Main"; - font-style: normal; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_Main-Bold.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Main-Bold.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Main-Bold.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Main"; - font-style: italic; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_Main-BoldItalic.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Main-BoldItalic.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Main-BoldItalic.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Main"; - font-style: italic; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Main-Italic.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Main-Italic.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Main-Italic.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Main"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Main-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Main-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Main-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Math"; - font-style: italic; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_Math-BoldItalic.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Math-BoldItalic.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Math-BoldItalic.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Math"; - font-style: italic; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Math-Italic.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Math-Italic.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Math-Italic.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_SansSerif"; - font-style: normal; - font-weight: 700; - src: url("#{$katex-font-path}/KaTeX_SansSerif-Bold.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_SansSerif-Bold.woff") format("woff"), url("#{$katex-font-path}/KaTeX_SansSerif-Bold.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_SansSerif"; - font-style: italic; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_SansSerif-Italic.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_SansSerif-Italic.woff") format("woff"), url("#{$katex-font-path}/KaTeX_SansSerif-Italic.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_SansSerif"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_SansSerif-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_SansSerif-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_SansSerif-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Script"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Script-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Script-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Script-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Size1"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Size1-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Size1-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Size1-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Size2"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Size2-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Size2-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Size2-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Size3"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Size3-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Size3-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Size3-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Size4"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Size4-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Size4-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Size4-Regular.ttf") format("truetype"); -} -@font-face { - font-family: "KaTeX_Typewriter"; - font-style: normal; - font-weight: 400; - src: url("#{$katex-font-path}/KaTeX_Typewriter-Regular.woff2") format("woff2"), url("#{$katex-font-path}/KaTeX_Typewriter-Regular.woff") format("woff"), url("#{$katex-font-path}/KaTeX_Typewriter-Regular.ttf") format("truetype"); -} - -.katex { - text-rendering: auto; - font: normal 1.21em "KaTeX_Main","Times New Roman",serif; - line-height: 1.2; - text-indent: 0; -} - -.katex * { - -ms-high-contrast-adjust: none!important; - border-color: currentColor; -} - -.katex .katex-version:after { - content: "0.15.2"; -} - -.katex .katex-mathml { - clip: rect(1px,1px,1px,1px); - border: 0; - height: 1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} - -.katex .katex-html>.newline { - display: block; -} - -.katex .base { - position: relative; - white-space: nowrap; - width: -webkit-min-content; - width: -moz-min-content; - width: min-content; -} - -.katex .base,.katex .strut { - display: inline-block; -} - -.katex .textbf { - font-weight: 700; -} - -.katex .textit { - font-style: italic; -} - -.katex .textrm { - font-family: "KaTeX_Main"; -} - -.katex .textsf { - font-family: "KaTeX_SansSerif"; -} - -.katex .texttt { - font-family: "KaTeX_Typewriter"; -} - -.katex .mathnormal { - font-family: "KaTeX_Math"; - font-style: italic; -} - -.katex .mathit { - font-family: "KaTeX_Main"; - font-style: italic; -} - -.katex .mathrm { - font-style: normal; -} - -.katex .mathbf { - font-family: "KaTeX_Main"; - font-weight: 700; -} - -.katex .boldsymbol { - font-family: "KaTeX_Math"; - font-style: italic; - font-weight: 700; -} - -.katex .amsrm,.katex .mathbb,.katex .textbb { - font-family: "KaTeX_AMS"; -} - -.katex .mathcal { - font-family: "KaTeX_Caligraphic"; -} - -.katex .mathfrak,.katex .textfrak { - font-family: "KaTeX_Fraktur"; -} - -.katex .mathtt { - font-family: "KaTeX_Typewriter"; -} - -.katex .mathscr,.katex .textscr { - font-family: "KaTeX_Script"; -} - -.katex .mathsf,.katex .textsf { - font-family: "KaTeX_SansSerif"; -} - -.katex .mathboldsf,.katex .textboldsf { - font-family: "KaTeX_SansSerif"; - font-weight: 700; -} - -.katex .mathitsf,.katex .textitsf { - font-family: "KaTeX_SansSerif"; - font-style: italic; -} - -.katex .mainrm { - font-family: "KaTeX_Main"; - font-style: normal; -} - -.katex .vlist-t { - border-collapse: collapse; - display: inline-table; - table-layout: fixed; -} - -.katex .vlist-r { - display: table-row; -} - -.katex .vlist { - display: table-cell; - position: relative; - vertical-align: bottom; -} - -.katex .vlist>span { - display: block; - height: 0; - position: relative; -} - -.katex .vlist>span>span { - display: inline-block; -} - -.katex .vlist>span>.pstrut { - overflow: hidden; - width: 0; -} - -.katex .vlist-t2 { - margin-right: -2px; -} - -.katex .vlist-s { - display: table-cell; - font-size: 1px; - min-width: 2px; - vertical-align: bottom; - width: 2px; -} - -.katex .vbox { - align-items: baseline; - display: inline-flex; - flex-direction: column; -} - -.katex .hbox { - width: 100%; -} - -.katex .hbox,.katex .thinbox { - display: inline-flex; - flex-direction: row; -} - -.katex .thinbox { - max-width: 0; - width: 0; -} - -.katex .msupsub { - text-align: left; -} - -.katex .mfrac>span>span { - text-align: center; -} - -.katex .mfrac .frac-line { - border-bottom-style: solid; - display: inline-block; - width: 100%; -} - -.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line { - min-height: 1px; -} - -.katex .mspace { - display: inline-block; -} - -.katex .clap,.katex .llap,.katex .rlap { - position: relative; - width: 0; -} - -.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner { - position: absolute; -} - -.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix { - display: inline-block; -} - -.katex .llap>.inner { - right: 0; -} - -.katex .clap>.inner,.katex .rlap>.inner { - left: 0; -} - -.katex .clap>.inner>span { - margin-left: -50%; - margin-right: 50%; -} - -.katex .rule { - border: 0 solid; - display: inline-block; - position: relative; -} - -.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line { - border-bottom-style: solid; - display: inline-block; - width: 100%; -} - -.katex .hdashline { - border-bottom-style: dashed; - display: inline-block; - width: 100%; -} - -.katex .sqrt>.root { - margin-left: .27777778em; - margin-right: -.55555556em; -} - -.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2 { - font-size: 1.2em; -} - -.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3 { - font-size: 1.4em; -} - -.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4 { - font-size: 1.6em; -} - -.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5 { - font-size: 1.8em; -} - -.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6 { - font-size: 2em; -} - -.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7 { - font-size: 2.4em; -} - -.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8 { - font-size: 2.88em; -} - -.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9 { - font-size: 3.456em; -} - -.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10 { - font-size: 4.148em; -} - -.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11 { - font-size: 4.976em; -} - -.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1 { - font-size: .83333333em; -} - -.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3 { - font-size: 1.16666667em; -} - -.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4 { - font-size: 1.33333333em; -} - -.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5 { - font-size: 1.5em; -} - -.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6 { - font-size: 1.66666667em; -} - -.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7 { - font-size: 2em; -} - -.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8 { - font-size: 2.4em; -} - -.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9 { - font-size: 2.88em; -} - -.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10 { - font-size: 3.45666667em; -} - -.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11 { - font-size: 4.14666667em; -} - -.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1 { - font-size: .71428571em; -} - -.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2 { - font-size: .85714286em; -} - -.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4 { - font-size: 1.14285714em; -} - -.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5 { - font-size: 1.28571429em; -} - -.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6 { - font-size: 1.42857143em; -} - -.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7 { - font-size: 1.71428571em; -} - -.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8 { - font-size: 2.05714286em; -} - -.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9 { - font-size: 2.46857143em; -} - -.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10 { - font-size: 2.96285714em; -} - -.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11 { - font-size: 3.55428571em; -} - -.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1 { - font-size: .625em; -} - -.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2 { - font-size: .75em; -} - -.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3 { - font-size: .875em; -} - -.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5 { - font-size: 1.125em; -} - -.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6 { - font-size: 1.25em; -} - -.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7 { - font-size: 1.5em; -} - -.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8 { - font-size: 1.8em; -} - -.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9 { - font-size: 2.16em; -} - -.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10 { - font-size: 2.5925em; -} - -.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11 { - font-size: 3.11em; -} - -.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1 { - font-size: .55555556em; -} - -.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2 { - font-size: .66666667em; -} - -.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3 { - font-size: .77777778em; -} - -.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4 { - font-size: .88888889em; -} - -.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6 { - font-size: 1.11111111em; -} - -.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7 { - font-size: 1.33333333em; -} - -.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8 { - font-size: 1.6em; -} - -.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9 { - font-size: 1.92em; -} - -.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10 { - font-size: 2.30444444em; -} - -.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11 { - font-size: 2.76444444em; -} - -.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1 { - font-size: .5em; -} - -.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2 { - font-size: .6em; -} - -.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3 { - font-size: .7em; -} - -.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4 { - font-size: .8em; -} - -.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5 { - font-size: .9em; -} - -.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7 { - font-size: 1.2em; -} - -.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8 { - font-size: 1.44em; -} - -.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9 { - font-size: 1.728em; -} - -.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10 { - font-size: 2.074em; -} - -.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11 { - font-size: 2.488em; -} - -.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1 { - font-size: .41666667em; -} - -.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2 { - font-size: .5em; -} - -.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3 { - font-size: .58333333em; -} - -.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4 { - font-size: .66666667em; -} - -.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5 { - font-size: .75em; -} - -.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6 { - font-size: .83333333em; -} - -.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8 { - font-size: 1.2em; -} - -.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9 { - font-size: 1.44em; -} - -.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10 { - font-size: 1.72833333em; -} - -.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11 { - font-size: 2.07333333em; -} - -.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1 { - font-size: .34722222em; -} - -.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2 { - font-size: .41666667em; -} - -.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3 { - font-size: .48611111em; -} - -.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4 { - font-size: .55555556em; -} - -.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5 { - font-size: .625em; -} - -.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6 { - font-size: .69444444em; -} - -.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7 { - font-size: .83333333em; -} - -.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9 { - font-size: 1.2em; -} - -.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10 { - font-size: 1.44027778em; -} - -.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11 { - font-size: 1.72777778em; -} - -.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1 { - font-size: .28935185em; -} - -.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2 { - font-size: .34722222em; -} - -.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3 { - font-size: .40509259em; -} - -.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4 { - font-size: .46296296em; -} - -.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5 { - font-size: .52083333em; -} - -.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6 { - font-size: .5787037em; -} - -.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7 { - font-size: .69444444em; -} - -.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8 { - font-size: .83333333em; -} - -.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10 { - font-size: 1.20023148em; -} - -.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11 { - font-size: 1.43981481em; -} - -.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1 { - font-size: .24108004em; -} - -.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2 { - font-size: .28929605em; -} - -.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3 { - font-size: .33751205em; -} - -.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4 { - font-size: .38572806em; -} - -.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5 { - font-size: .43394407em; -} - -.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6 { - font-size: .48216008em; -} - -.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7 { - font-size: .57859209em; -} - -.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8 { - font-size: .69431051em; -} - -.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9 { - font-size: .83317261em; -} - -.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10 { - font-size: 1em; -} - -.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11 { - font-size: 1.19961427em; -} - -.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1 { - font-size: .20096463em; -} - -.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2 { - font-size: .24115756em; -} - -.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3 { - font-size: .28135048em; -} - -.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4 { - font-size: .32154341em; -} - -.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5 { - font-size: .36173633em; -} - -.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6 { - font-size: .40192926em; -} - -.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7 { - font-size: .48231511em; -} - -.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8 { - font-size: .57877814em; -} - -.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9 { - font-size: .69453376em; -} - -.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10 { - font-size: .83360129em; -} - -.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11 { - font-size: 1em; -} - -.katex .delimsizing.size1 { - font-family: "KaTeX_Size1"; -} - -.katex .delimsizing.size2 { - font-family: "KaTeX_Size2"; -} - -.katex .delimsizing.size3 { - font-family: "KaTeX_Size3"; -} - -.katex .delimsizing.size4 { - font-family: "KaTeX_Size4"; -} - -.katex .delimsizing.mult .delim-size1>span { - font-family: "KaTeX_Size1"; -} - -.katex .delimsizing.mult .delim-size4>span { - font-family: "KaTeX_Size4"; -} - -.katex .nulldelimiter { - display: inline-block; - width: .12em; -} - -.katex .delimcenter,.katex .op-symbol { - position: relative; -} - -.katex .op-symbol.small-op { - font-family: "KaTeX_Size1"; -} - -.katex .op-symbol.large-op { - font-family: "KaTeX_Size2"; -} - -.katex .accent>.vlist-t,.katex .op-limits>.vlist-t { - text-align: center; -} - -.katex .accent .accent-body { - position: relative; -} - -.katex .accent .accent-body:not(.accent-full) { - width: 0; -} - -.katex .overlay { - display: block; -} - -.katex .mtable .vertical-separator { - display: inline-block; - min-width: 1px; -} - -.katex .mtable .arraycolsep { - display: inline-block; -} - -.katex .mtable .col-align-c>.vlist-t { - text-align: center; -} - -.katex .mtable .col-align-l>.vlist-t { - text-align: left; -} - -.katex .mtable .col-align-r>.vlist-t { - text-align: right; -} - -.katex .svg-align { - text-align: left; -} - -.katex svg { - fill: currentColor; - stroke: currentColor; - fill-rule: nonzero; - fill-opacity: 1; - stroke-width: 1; - stroke-linecap: butt; - stroke-linejoin: miter; - stroke-miterlimit: 4; - stroke-dasharray: none; - stroke-dashoffset: 0; - stroke-opacity: 1; - display: block; - height: inherit; - position: absolute; - width: 100%; -} - -.katex svg path { - stroke: none; -} - -.katex img { - border-style: none; - max-height: none; - max-width: none; - min-height: 0; - min-width: 0; -} - -.katex .stretchy { - display: block; - overflow: hidden; - position: relative; - width: 100%; -} - -.katex .stretchy:after,.katex .stretchy:before { - content: ""; -} - -.katex .hide-tail { - overflow: hidden; - position: relative; - width: 100%; -} - -.katex .halfarrow-left { - left: 0; - overflow: hidden; - position: absolute; - width: 50.2%; -} - -.katex .halfarrow-right { - overflow: hidden; - position: absolute; - right: 0; - width: 50.2%; -} - -.katex .brace-left { - left: 0; - overflow: hidden; - position: absolute; - width: 25.1%; -} - -.katex .brace-center { - left: 25%; - overflow: hidden; - position: absolute; - width: 50%; -} - -.katex .brace-right { - overflow: hidden; - position: absolute; - right: 0; - width: 25.1%; -} - -.katex .x-arrow-pad { - padding: 0 .5em; -} - -.katex .cd-arrow-pad { - padding: 0 .55556em 0 .27778em; -} - -.katex .mover,.katex .munder,.katex .x-arrow { - text-align: center; -} - -.katex .boxpad { - padding: 0 .3em; -} - -.katex .fbox,.katex .fcolorbox { - border: .04em solid; - box-sizing: border-box; -} - -.katex .cancel-pad { - padding: 0 .2em; -} - -.katex .cancel-lap { - margin-left: -.2em; - margin-right: -.2em; -} - -.katex .sout { - border-bottom-style: solid; - border-bottom-width: .08em; -} - -.katex .angl { - border-right: .049em solid; - border-top: .049em solid; - box-sizing: border-box; - margin-right: .03889em; -} - -.katex .anglpad { - padding: 0 .03889em; -} - -.katex .eqn-num:before { - content: "(" counter(katexEqnNo) ")"; - counter-increment: katexEqnNo; -} - -.katex .mml-eqn-num:before { - content: "(" counter(mmlEqnNo) ")"; - counter-increment: mmlEqnNo; -} - -.katex .mtr-glue { - width: 50%; -} - -.katex .cd-vert-arrow { - display: inline-block; - position: relative; -} - -.katex .cd-label-left { - display: inline-block; - position: absolute; - right: calc(50% + .3em); - text-align: left; -} - -.katex .cd-label-right { - display: inline-block; - left: calc(50% + .3em); - position: absolute; - text-align: right; -} - -.katex-display { - display: block; - margin: 1em 0; - text-align: center; -} - -.katex-display>.katex { - display: block; - text-align: center; - white-space: nowrap; -} - -.katex-display>.katex>.katex-html { - display: block; - position: relative; -} - -.katex-display>.katex>.katex-html>.tag { - position: absolute; - right: 0; -} - -.katex-display.leqno>.katex>.katex-html>.tag { - left: 0; - right: auto; -} - -.katex-display.fleqn>.katex { - padding-left: 2em; - text-align: left; -} - -body { - counter-reset: katexEqnNo mmlEqnNo; -} diff --git a/_sass/external/font-awesome/_variables.scss b/_sass/external/font-awesome/_variables.scss deleted file mode 100644 index 11bcdc2e8..000000000 --- a/_sass/external/font-awesome/_variables.scss +++ /dev/null @@ -1,1479 +0,0 @@ -// Variables -// -------------------------- - -$fa-font-path: "../fonts/font-awesome" !default; -$fa-font-size-base: 16px !default; -$fa-font-display: block !default; -$fa-css-prefix: fa !default; -$fa-version: "5.15.2" !default; -$fa-border-color: #eee !default; -$fa-inverse: #fff !default; -$fa-li-width: 2em !default; -$fa-fw-width: (20em / 16); -$fa-primary-opacity: 1 !default; -$fa-secondary-opacity: .4 !default; - -// Convenience function used to set content property -@function fa-content($fa-var) { - @return unquote("\"#{ $fa-var }\""); -} - -$fa-var-500px: \f26e; -$fa-var-accessible-icon: \f368; -$fa-var-accusoft: \f369; -$fa-var-acquisitions-incorporated: \f6af; -$fa-var-ad: \f641; -$fa-var-address-book: \f2b9; -$fa-var-address-card: \f2bb; -$fa-var-adjust: \f042; -$fa-var-adn: \f170; -$fa-var-adversal: \f36a; -$fa-var-affiliatetheme: \f36b; -$fa-var-air-freshener: \f5d0; -$fa-var-airbnb: \f834; -$fa-var-algolia: \f36c; -$fa-var-align-center: \f037; -$fa-var-align-justify: \f039; -$fa-var-align-left: \f036; -$fa-var-align-right: \f038; -$fa-var-alipay: \f642; -$fa-var-allergies: \f461; -$fa-var-amazon: \f270; -$fa-var-amazon-pay: \f42c; -$fa-var-ambulance: \f0f9; -$fa-var-american-sign-language-interpreting: \f2a3; -$fa-var-amilia: \f36d; -$fa-var-anchor: \f13d; -$fa-var-android: \f17b; -$fa-var-angellist: \f209; -$fa-var-angle-double-down: \f103; -$fa-var-angle-double-left: \f100; -$fa-var-angle-double-right: \f101; -$fa-var-angle-double-up: \f102; -$fa-var-angle-down: \f107; -$fa-var-angle-left: \f104; -$fa-var-angle-right: \f105; -$fa-var-angle-up: \f106; -$fa-var-angry: \f556; -$fa-var-angrycreative: \f36e; -$fa-var-angular: \f420; -$fa-var-ankh: \f644; -$fa-var-app-store: \f36f; -$fa-var-app-store-ios: \f370; -$fa-var-apper: \f371; -$fa-var-apple: \f179; -$fa-var-apple-alt: \f5d1; -$fa-var-apple-pay: \f415; -$fa-var-archive: \f187; -$fa-var-archway: \f557; -$fa-var-arrow-alt-circle-down: \f358; -$fa-var-arrow-alt-circle-left: \f359; -$fa-var-arrow-alt-circle-right: \f35a; -$fa-var-arrow-alt-circle-up: \f35b; -$fa-var-arrow-circle-down: \f0ab; -$fa-var-arrow-circle-left: \f0a8; -$fa-var-arrow-circle-right: \f0a9; -$fa-var-arrow-circle-up: \f0aa; -$fa-var-arrow-down: \f063; -$fa-var-arrow-left: \f060; -$fa-var-arrow-right: \f061; -$fa-var-arrow-up: \f062; -$fa-var-arrows-alt: \f0b2; -$fa-var-arrows-alt-h: \f337; -$fa-var-arrows-alt-v: \f338; -$fa-var-artstation: \f77a; -$fa-var-assistive-listening-systems: \f2a2; -$fa-var-asterisk: \f069; -$fa-var-asymmetrik: \f372; -$fa-var-at: \f1fa; -$fa-var-atlas: \f558; -$fa-var-atlassian: \f77b; -$fa-var-atom: \f5d2; -$fa-var-audible: \f373; -$fa-var-audio-description: \f29e; -$fa-var-autoprefixer: \f41c; -$fa-var-avianex: \f374; -$fa-var-aviato: \f421; -$fa-var-award: \f559; -$fa-var-aws: \f375; -$fa-var-baby: \f77c; -$fa-var-baby-carriage: \f77d; -$fa-var-backspace: \f55a; -$fa-var-backward: \f04a; -$fa-var-bacon: \f7e5; -$fa-var-bacteria: \e059; -$fa-var-bacterium: \e05a; -$fa-var-bahai: \f666; -$fa-var-balance-scale: \f24e; -$fa-var-balance-scale-left: \f515; -$fa-var-balance-scale-right: \f516; -$fa-var-ban: \f05e; -$fa-var-band-aid: \f462; -$fa-var-bandcamp: \f2d5; -$fa-var-barcode: \f02a; -$fa-var-bars: \f0c9; -$fa-var-baseball-ball: \f433; -$fa-var-basketball-ball: \f434; -$fa-var-bath: \f2cd; -$fa-var-battery-empty: \f244; -$fa-var-battery-full: \f240; -$fa-var-battery-half: \f242; -$fa-var-battery-quarter: \f243; -$fa-var-battery-three-quarters: \f241; -$fa-var-battle-net: \f835; -$fa-var-bed: \f236; -$fa-var-beer: \f0fc; -$fa-var-behance: \f1b4; -$fa-var-behance-square: \f1b5; -$fa-var-bell: \f0f3; -$fa-var-bell-slash: \f1f6; -$fa-var-bezier-curve: \f55b; -$fa-var-bible: \f647; -$fa-var-bicycle: \f206; -$fa-var-biking: \f84a; -$fa-var-bimobject: \f378; -$fa-var-binoculars: \f1e5; -$fa-var-biohazard: \f780; -$fa-var-birthday-cake: \f1fd; -$fa-var-bitbucket: \f171; -$fa-var-bitcoin: \f379; -$fa-var-bity: \f37a; -$fa-var-black-tie: \f27e; -$fa-var-blackberry: \f37b; -$fa-var-blender: \f517; -$fa-var-blender-phone: \f6b6; -$fa-var-blind: \f29d; -$fa-var-blog: \f781; -$fa-var-blogger: \f37c; -$fa-var-blogger-b: \f37d; -$fa-var-bluetooth: \f293; -$fa-var-bluetooth-b: \f294; -$fa-var-bold: \f032; -$fa-var-bolt: \f0e7; -$fa-var-bomb: \f1e2; -$fa-var-bone: \f5d7; -$fa-var-bong: \f55c; -$fa-var-book: \f02d; -$fa-var-book-dead: \f6b7; -$fa-var-book-medical: \f7e6; -$fa-var-book-open: \f518; -$fa-var-book-reader: \f5da; -$fa-var-bookmark: \f02e; -$fa-var-bootstrap: \f836; -$fa-var-border-all: \f84c; -$fa-var-border-none: \f850; -$fa-var-border-style: \f853; -$fa-var-bowling-ball: \f436; -$fa-var-box: \f466; -$fa-var-box-open: \f49e; -$fa-var-box-tissue: \e05b; -$fa-var-boxes: \f468; -$fa-var-braille: \f2a1; -$fa-var-brain: \f5dc; -$fa-var-bread-slice: \f7ec; -$fa-var-briefcase: \f0b1; -$fa-var-briefcase-medical: \f469; -$fa-var-broadcast-tower: \f519; -$fa-var-broom: \f51a; -$fa-var-brush: \f55d; -$fa-var-btc: \f15a; -$fa-var-buffer: \f837; -$fa-var-bug: \f188; -$fa-var-building: \f1ad; -$fa-var-bullhorn: \f0a1; -$fa-var-bullseye: \f140; -$fa-var-burn: \f46a; -$fa-var-buromobelexperte: \f37f; -$fa-var-bus: \f207; -$fa-var-bus-alt: \f55e; -$fa-var-business-time: \f64a; -$fa-var-buy-n-large: \f8a6; -$fa-var-buysellads: \f20d; -$fa-var-calculator: \f1ec; -$fa-var-calendar: \f133; -$fa-var-calendar-alt: \f073; -$fa-var-calendar-check: \f274; -$fa-var-calendar-day: \f783; -$fa-var-calendar-minus: \f272; -$fa-var-calendar-plus: \f271; -$fa-var-calendar-times: \f273; -$fa-var-calendar-week: \f784; -$fa-var-camera: \f030; -$fa-var-camera-retro: \f083; -$fa-var-campground: \f6bb; -$fa-var-canadian-maple-leaf: \f785; -$fa-var-candy-cane: \f786; -$fa-var-cannabis: \f55f; -$fa-var-capsules: \f46b; -$fa-var-car: \f1b9; -$fa-var-car-alt: \f5de; -$fa-var-car-battery: \f5df; -$fa-var-car-crash: \f5e1; -$fa-var-car-side: \f5e4; -$fa-var-caravan: \f8ff; -$fa-var-caret-down: \f0d7; -$fa-var-caret-left: \f0d9; -$fa-var-caret-right: \f0da; -$fa-var-caret-square-down: \f150; -$fa-var-caret-square-left: \f191; -$fa-var-caret-square-right: \f152; -$fa-var-caret-square-up: \f151; -$fa-var-caret-up: \f0d8; -$fa-var-carrot: \f787; -$fa-var-cart-arrow-down: \f218; -$fa-var-cart-plus: \f217; -$fa-var-cash-register: \f788; -$fa-var-cat: \f6be; -$fa-var-cc-amazon-pay: \f42d; -$fa-var-cc-amex: \f1f3; -$fa-var-cc-apple-pay: \f416; -$fa-var-cc-diners-club: \f24c; -$fa-var-cc-discover: \f1f2; -$fa-var-cc-jcb: \f24b; -$fa-var-cc-mastercard: \f1f1; -$fa-var-cc-paypal: \f1f4; -$fa-var-cc-stripe: \f1f5; -$fa-var-cc-visa: \f1f0; -$fa-var-centercode: \f380; -$fa-var-centos: \f789; -$fa-var-certificate: \f0a3; -$fa-var-chair: \f6c0; -$fa-var-chalkboard: \f51b; -$fa-var-chalkboard-teacher: \f51c; -$fa-var-charging-station: \f5e7; -$fa-var-chart-area: \f1fe; -$fa-var-chart-bar: \f080; -$fa-var-chart-line: \f201; -$fa-var-chart-pie: \f200; -$fa-var-check: \f00c; -$fa-var-check-circle: \f058; -$fa-var-check-double: \f560; -$fa-var-check-square: \f14a; -$fa-var-cheese: \f7ef; -$fa-var-chess: \f439; -$fa-var-chess-bishop: \f43a; -$fa-var-chess-board: \f43c; -$fa-var-chess-king: \f43f; -$fa-var-chess-knight: \f441; -$fa-var-chess-pawn: \f443; -$fa-var-chess-queen: \f445; -$fa-var-chess-rook: \f447; -$fa-var-chevron-circle-down: \f13a; -$fa-var-chevron-circle-left: \f137; -$fa-var-chevron-circle-right: \f138; -$fa-var-chevron-circle-up: \f139; -$fa-var-chevron-down: \f078; -$fa-var-chevron-left: \f053; -$fa-var-chevron-right: \f054; -$fa-var-chevron-up: \f077; -$fa-var-child: \f1ae; -$fa-var-chrome: \f268; -$fa-var-chromecast: \f838; -$fa-var-church: \f51d; -$fa-var-circle: \f111; -$fa-var-circle-notch: \f1ce; -$fa-var-city: \f64f; -$fa-var-clinic-medical: \f7f2; -$fa-var-clipboard: \f328; -$fa-var-clipboard-check: \f46c; -$fa-var-clipboard-list: \f46d; -$fa-var-clock: \f017; -$fa-var-clone: \f24d; -$fa-var-closed-captioning: \f20a; -$fa-var-cloud: \f0c2; -$fa-var-cloud-download-alt: \f381; -$fa-var-cloud-meatball: \f73b; -$fa-var-cloud-moon: \f6c3; -$fa-var-cloud-moon-rain: \f73c; -$fa-var-cloud-rain: \f73d; -$fa-var-cloud-showers-heavy: \f740; -$fa-var-cloud-sun: \f6c4; -$fa-var-cloud-sun-rain: \f743; -$fa-var-cloud-upload-alt: \f382; -$fa-var-cloudflare: \e07d; -$fa-var-cloudscale: \f383; -$fa-var-cloudsmith: \f384; -$fa-var-cloudversify: \f385; -$fa-var-cocktail: \f561; -$fa-var-code: \f121; -$fa-var-code-branch: \f126; -$fa-var-codepen: \f1cb; -$fa-var-codiepie: \f284; -$fa-var-coffee: \f0f4; -$fa-var-cog: \f013; -$fa-var-cogs: \f085; -$fa-var-coins: \f51e; -$fa-var-columns: \f0db; -$fa-var-comment: \f075; -$fa-var-comment-alt: \f27a; -$fa-var-comment-dollar: \f651; -$fa-var-comment-dots: \f4ad; -$fa-var-comment-medical: \f7f5; -$fa-var-comment-slash: \f4b3; -$fa-var-comments: \f086; -$fa-var-comments-dollar: \f653; -$fa-var-compact-disc: \f51f; -$fa-var-compass: \f14e; -$fa-var-compress: \f066; -$fa-var-compress-alt: \f422; -$fa-var-compress-arrows-alt: \f78c; -$fa-var-concierge-bell: \f562; -$fa-var-confluence: \f78d; -$fa-var-connectdevelop: \f20e; -$fa-var-contao: \f26d; -$fa-var-cookie: \f563; -$fa-var-cookie-bite: \f564; -$fa-var-copy: \f0c5; -$fa-var-copyright: \f1f9; -$fa-var-cotton-bureau: \f89e; -$fa-var-couch: \f4b8; -$fa-var-cpanel: \f388; -$fa-var-creative-commons: \f25e; -$fa-var-creative-commons-by: \f4e7; -$fa-var-creative-commons-nc: \f4e8; -$fa-var-creative-commons-nc-eu: \f4e9; -$fa-var-creative-commons-nc-jp: \f4ea; -$fa-var-creative-commons-nd: \f4eb; -$fa-var-creative-commons-pd: \f4ec; -$fa-var-creative-commons-pd-alt: \f4ed; -$fa-var-creative-commons-remix: \f4ee; -$fa-var-creative-commons-sa: \f4ef; -$fa-var-creative-commons-sampling: \f4f0; -$fa-var-creative-commons-sampling-plus: \f4f1; -$fa-var-creative-commons-share: \f4f2; -$fa-var-creative-commons-zero: \f4f3; -$fa-var-credit-card: \f09d; -$fa-var-critical-role: \f6c9; -$fa-var-crop: \f125; -$fa-var-crop-alt: \f565; -$fa-var-cross: \f654; -$fa-var-crosshairs: \f05b; -$fa-var-crow: \f520; -$fa-var-crown: \f521; -$fa-var-crutch: \f7f7; -$fa-var-css3: \f13c; -$fa-var-css3-alt: \f38b; -$fa-var-cube: \f1b2; -$fa-var-cubes: \f1b3; -$fa-var-cut: \f0c4; -$fa-var-cuttlefish: \f38c; -$fa-var-d-and-d: \f38d; -$fa-var-d-and-d-beyond: \f6ca; -$fa-var-dailymotion: \e052; -$fa-var-dashcube: \f210; -$fa-var-database: \f1c0; -$fa-var-deaf: \f2a4; -$fa-var-deezer: \e077; -$fa-var-delicious: \f1a5; -$fa-var-democrat: \f747; -$fa-var-deploydog: \f38e; -$fa-var-deskpro: \f38f; -$fa-var-desktop: \f108; -$fa-var-dev: \f6cc; -$fa-var-deviantart: \f1bd; -$fa-var-dharmachakra: \f655; -$fa-var-dhl: \f790; -$fa-var-diagnoses: \f470; -$fa-var-diaspora: \f791; -$fa-var-dice: \f522; -$fa-var-dice-d20: \f6cf; -$fa-var-dice-d6: \f6d1; -$fa-var-dice-five: \f523; -$fa-var-dice-four: \f524; -$fa-var-dice-one: \f525; -$fa-var-dice-six: \f526; -$fa-var-dice-three: \f527; -$fa-var-dice-two: \f528; -$fa-var-digg: \f1a6; -$fa-var-digital-ocean: \f391; -$fa-var-digital-tachograph: \f566; -$fa-var-directions: \f5eb; -$fa-var-discord: \f392; -$fa-var-discourse: \f393; -$fa-var-disease: \f7fa; -$fa-var-divide: \f529; -$fa-var-dizzy: \f567; -$fa-var-dna: \f471; -$fa-var-dochub: \f394; -$fa-var-docker: \f395; -$fa-var-dog: \f6d3; -$fa-var-dollar-sign: \f155; -$fa-var-dolly: \f472; -$fa-var-dolly-flatbed: \f474; -$fa-var-donate: \f4b9; -$fa-var-door-closed: \f52a; -$fa-var-door-open: \f52b; -$fa-var-dot-circle: \f192; -$fa-var-dove: \f4ba; -$fa-var-download: \f019; -$fa-var-draft2digital: \f396; -$fa-var-drafting-compass: \f568; -$fa-var-dragon: \f6d5; -$fa-var-draw-polygon: \f5ee; -$fa-var-dribbble: \f17d; -$fa-var-dribbble-square: \f397; -$fa-var-dropbox: \f16b; -$fa-var-drum: \f569; -$fa-var-drum-steelpan: \f56a; -$fa-var-drumstick-bite: \f6d7; -$fa-var-drupal: \f1a9; -$fa-var-dumbbell: \f44b; -$fa-var-dumpster: \f793; -$fa-var-dumpster-fire: \f794; -$fa-var-dungeon: \f6d9; -$fa-var-dyalog: \f399; -$fa-var-earlybirds: \f39a; -$fa-var-ebay: \f4f4; -$fa-var-edge: \f282; -$fa-var-edge-legacy: \e078; -$fa-var-edit: \f044; -$fa-var-egg: \f7fb; -$fa-var-eject: \f052; -$fa-var-elementor: \f430; -$fa-var-ellipsis-h: \f141; -$fa-var-ellipsis-v: \f142; -$fa-var-ello: \f5f1; -$fa-var-ember: \f423; -$fa-var-empire: \f1d1; -$fa-var-envelope: \f0e0; -$fa-var-envelope-open: \f2b6; -$fa-var-envelope-open-text: \f658; -$fa-var-envelope-square: \f199; -$fa-var-envira: \f299; -$fa-var-equals: \f52c; -$fa-var-eraser: \f12d; -$fa-var-erlang: \f39d; -$fa-var-ethereum: \f42e; -$fa-var-ethernet: \f796; -$fa-var-etsy: \f2d7; -$fa-var-euro-sign: \f153; -$fa-var-evernote: \f839; -$fa-var-exchange-alt: \f362; -$fa-var-exclamation: \f12a; -$fa-var-exclamation-circle: \f06a; -$fa-var-exclamation-triangle: \f071; -$fa-var-expand: \f065; -$fa-var-expand-alt: \f424; -$fa-var-expand-arrows-alt: \f31e; -$fa-var-expeditedssl: \f23e; -$fa-var-external-link-alt: \f35d; -$fa-var-external-link-square-alt: \f360; -$fa-var-eye: \f06e; -$fa-var-eye-dropper: \f1fb; -$fa-var-eye-slash: \f070; -$fa-var-facebook: \f09a; -$fa-var-facebook-f: \f39e; -$fa-var-facebook-messenger: \f39f; -$fa-var-facebook-square: \f082; -$fa-var-fan: \f863; -$fa-var-fantasy-flight-games: \f6dc; -$fa-var-fast-backward: \f049; -$fa-var-fast-forward: \f050; -$fa-var-faucet: \e005; -$fa-var-fax: \f1ac; -$fa-var-feather: \f52d; -$fa-var-feather-alt: \f56b; -$fa-var-fedex: \f797; -$fa-var-fedora: \f798; -$fa-var-female: \f182; -$fa-var-fighter-jet: \f0fb; -$fa-var-figma: \f799; -$fa-var-file: \f15b; -$fa-var-file-alt: \f15c; -$fa-var-file-archive: \f1c6; -$fa-var-file-audio: \f1c7; -$fa-var-file-code: \f1c9; -$fa-var-file-contract: \f56c; -$fa-var-file-csv: \f6dd; -$fa-var-file-download: \f56d; -$fa-var-file-excel: \f1c3; -$fa-var-file-export: \f56e; -$fa-var-file-image: \f1c5; -$fa-var-file-import: \f56f; -$fa-var-file-invoice: \f570; -$fa-var-file-invoice-dollar: \f571; -$fa-var-file-medical: \f477; -$fa-var-file-medical-alt: \f478; -$fa-var-file-pdf: \f1c1; -$fa-var-file-powerpoint: \f1c4; -$fa-var-file-prescription: \f572; -$fa-var-file-signature: \f573; -$fa-var-file-upload: \f574; -$fa-var-file-video: \f1c8; -$fa-var-file-word: \f1c2; -$fa-var-fill: \f575; -$fa-var-fill-drip: \f576; -$fa-var-film: \f008; -$fa-var-filter: \f0b0; -$fa-var-fingerprint: \f577; -$fa-var-fire: \f06d; -$fa-var-fire-alt: \f7e4; -$fa-var-fire-extinguisher: \f134; -$fa-var-firefox: \f269; -$fa-var-firefox-browser: \e007; -$fa-var-first-aid: \f479; -$fa-var-first-order: \f2b0; -$fa-var-first-order-alt: \f50a; -$fa-var-firstdraft: \f3a1; -$fa-var-fish: \f578; -$fa-var-fist-raised: \f6de; -$fa-var-flag: \f024; -$fa-var-flag-checkered: \f11e; -$fa-var-flag-usa: \f74d; -$fa-var-flask: \f0c3; -$fa-var-flickr: \f16e; -$fa-var-flipboard: \f44d; -$fa-var-flushed: \f579; -$fa-var-fly: \f417; -$fa-var-folder: \f07b; -$fa-var-folder-minus: \f65d; -$fa-var-folder-open: \f07c; -$fa-var-folder-plus: \f65e; -$fa-var-font: \f031; -$fa-var-font-awesome: \f2b4; -$fa-var-font-awesome-alt: \f35c; -$fa-var-font-awesome-flag: \f425; -$fa-var-font-awesome-logo-full: \f4e6; -$fa-var-fonticons: \f280; -$fa-var-fonticons-fi: \f3a2; -$fa-var-football-ball: \f44e; -$fa-var-fort-awesome: \f286; -$fa-var-fort-awesome-alt: \f3a3; -$fa-var-forumbee: \f211; -$fa-var-forward: \f04e; -$fa-var-foursquare: \f180; -$fa-var-free-code-camp: \f2c5; -$fa-var-freebsd: \f3a4; -$fa-var-frog: \f52e; -$fa-var-frown: \f119; -$fa-var-frown-open: \f57a; -$fa-var-fulcrum: \f50b; -$fa-var-funnel-dollar: \f662; -$fa-var-futbol: \f1e3; -$fa-var-galactic-republic: \f50c; -$fa-var-galactic-senate: \f50d; -$fa-var-gamepad: \f11b; -$fa-var-gas-pump: \f52f; -$fa-var-gavel: \f0e3; -$fa-var-gem: \f3a5; -$fa-var-genderless: \f22d; -$fa-var-get-pocket: \f265; -$fa-var-gg: \f260; -$fa-var-gg-circle: \f261; -$fa-var-ghost: \f6e2; -$fa-var-gift: \f06b; -$fa-var-gifts: \f79c; -$fa-var-git: \f1d3; -$fa-var-git-alt: \f841; -$fa-var-git-square: \f1d2; -$fa-var-github: \f09b; -$fa-var-github-alt: \f113; -$fa-var-github-square: \f092; -$fa-var-gitkraken: \f3a6; -$fa-var-gitlab: \f296; -$fa-var-gitter: \f426; -$fa-var-glass-cheers: \f79f; -$fa-var-glass-martini: \f000; -$fa-var-glass-martini-alt: \f57b; -$fa-var-glass-whiskey: \f7a0; -$fa-var-glasses: \f530; -$fa-var-glide: \f2a5; -$fa-var-glide-g: \f2a6; -$fa-var-globe: \f0ac; -$fa-var-globe-africa: \f57c; -$fa-var-globe-americas: \f57d; -$fa-var-globe-asia: \f57e; -$fa-var-globe-europe: \f7a2; -$fa-var-gofore: \f3a7; -$fa-var-golf-ball: \f450; -$fa-var-goodreads: \f3a8; -$fa-var-goodreads-g: \f3a9; -$fa-var-google: \f1a0; -$fa-var-google-drive: \f3aa; -$fa-var-google-pay: \e079; -$fa-var-google-play: \f3ab; -$fa-var-google-plus: \f2b3; -$fa-var-google-plus-g: \f0d5; -$fa-var-google-plus-square: \f0d4; -$fa-var-google-wallet: \f1ee; -$fa-var-gopuram: \f664; -$fa-var-graduation-cap: \f19d; -$fa-var-gratipay: \f184; -$fa-var-grav: \f2d6; -$fa-var-greater-than: \f531; -$fa-var-greater-than-equal: \f532; -$fa-var-grimace: \f57f; -$fa-var-grin: \f580; -$fa-var-grin-alt: \f581; -$fa-var-grin-beam: \f582; -$fa-var-grin-beam-sweat: \f583; -$fa-var-grin-hearts: \f584; -$fa-var-grin-squint: \f585; -$fa-var-grin-squint-tears: \f586; -$fa-var-grin-stars: \f587; -$fa-var-grin-tears: \f588; -$fa-var-grin-tongue: \f589; -$fa-var-grin-tongue-squint: \f58a; -$fa-var-grin-tongue-wink: \f58b; -$fa-var-grin-wink: \f58c; -$fa-var-grip-horizontal: \f58d; -$fa-var-grip-lines: \f7a4; -$fa-var-grip-lines-vertical: \f7a5; -$fa-var-grip-vertical: \f58e; -$fa-var-gripfire: \f3ac; -$fa-var-grunt: \f3ad; -$fa-var-guilded: \e07e; -$fa-var-guitar: \f7a6; -$fa-var-gulp: \f3ae; -$fa-var-h-square: \f0fd; -$fa-var-hacker-news: \f1d4; -$fa-var-hacker-news-square: \f3af; -$fa-var-hackerrank: \f5f7; -$fa-var-hamburger: \f805; -$fa-var-hammer: \f6e3; -$fa-var-hamsa: \f665; -$fa-var-hand-holding: \f4bd; -$fa-var-hand-holding-heart: \f4be; -$fa-var-hand-holding-medical: \e05c; -$fa-var-hand-holding-usd: \f4c0; -$fa-var-hand-holding-water: \f4c1; -$fa-var-hand-lizard: \f258; -$fa-var-hand-middle-finger: \f806; -$fa-var-hand-paper: \f256; -$fa-var-hand-peace: \f25b; -$fa-var-hand-point-down: \f0a7; -$fa-var-hand-point-left: \f0a5; -$fa-var-hand-point-right: \f0a4; -$fa-var-hand-point-up: \f0a6; -$fa-var-hand-pointer: \f25a; -$fa-var-hand-rock: \f255; -$fa-var-hand-scissors: \f257; -$fa-var-hand-sparkles: \e05d; -$fa-var-hand-spock: \f259; -$fa-var-hands: \f4c2; -$fa-var-hands-helping: \f4c4; -$fa-var-hands-wash: \e05e; -$fa-var-handshake: \f2b5; -$fa-var-handshake-alt-slash: \e05f; -$fa-var-handshake-slash: \e060; -$fa-var-hanukiah: \f6e6; -$fa-var-hard-hat: \f807; -$fa-var-hashtag: \f292; -$fa-var-hat-cowboy: \f8c0; -$fa-var-hat-cowboy-side: \f8c1; -$fa-var-hat-wizard: \f6e8; -$fa-var-hdd: \f0a0; -$fa-var-head-side-cough: \e061; -$fa-var-head-side-cough-slash: \e062; -$fa-var-head-side-mask: \e063; -$fa-var-head-side-virus: \e064; -$fa-var-heading: \f1dc; -$fa-var-headphones: \f025; -$fa-var-headphones-alt: \f58f; -$fa-var-headset: \f590; -$fa-var-heart: \f004; -$fa-var-heart-broken: \f7a9; -$fa-var-heartbeat: \f21e; -$fa-var-helicopter: \f533; -$fa-var-highlighter: \f591; -$fa-var-hiking: \f6ec; -$fa-var-hippo: \f6ed; -$fa-var-hips: \f452; -$fa-var-hire-a-helper: \f3b0; -$fa-var-history: \f1da; -$fa-var-hive: \e07f; -$fa-var-hockey-puck: \f453; -$fa-var-holly-berry: \f7aa; -$fa-var-home: \f015; -$fa-var-hooli: \f427; -$fa-var-hornbill: \f592; -$fa-var-horse: \f6f0; -$fa-var-horse-head: \f7ab; -$fa-var-hospital: \f0f8; -$fa-var-hospital-alt: \f47d; -$fa-var-hospital-symbol: \f47e; -$fa-var-hospital-user: \f80d; -$fa-var-hot-tub: \f593; -$fa-var-hotdog: \f80f; -$fa-var-hotel: \f594; -$fa-var-hotjar: \f3b1; -$fa-var-hourglass: \f254; -$fa-var-hourglass-end: \f253; -$fa-var-hourglass-half: \f252; -$fa-var-hourglass-start: \f251; -$fa-var-house-damage: \f6f1; -$fa-var-house-user: \e065; -$fa-var-houzz: \f27c; -$fa-var-hryvnia: \f6f2; -$fa-var-html5: \f13b; -$fa-var-hubspot: \f3b2; -$fa-var-i-cursor: \f246; -$fa-var-ice-cream: \f810; -$fa-var-icicles: \f7ad; -$fa-var-icons: \f86d; -$fa-var-id-badge: \f2c1; -$fa-var-id-card: \f2c2; -$fa-var-id-card-alt: \f47f; -$fa-var-ideal: \e013; -$fa-var-igloo: \f7ae; -$fa-var-image: \f03e; -$fa-var-images: \f302; -$fa-var-imdb: \f2d8; -$fa-var-inbox: \f01c; -$fa-var-indent: \f03c; -$fa-var-industry: \f275; -$fa-var-infinity: \f534; -$fa-var-info: \f129; -$fa-var-info-circle: \f05a; -$fa-var-innosoft: \e080; -$fa-var-instagram: \f16d; -$fa-var-instagram-square: \e055; -$fa-var-instalod: \e081; -$fa-var-intercom: \f7af; -$fa-var-internet-explorer: \f26b; -$fa-var-invision: \f7b0; -$fa-var-ioxhost: \f208; -$fa-var-italic: \f033; -$fa-var-itch-io: \f83a; -$fa-var-itunes: \f3b4; -$fa-var-itunes-note: \f3b5; -$fa-var-java: \f4e4; -$fa-var-jedi: \f669; -$fa-var-jedi-order: \f50e; -$fa-var-jenkins: \f3b6; -$fa-var-jira: \f7b1; -$fa-var-joget: \f3b7; -$fa-var-joint: \f595; -$fa-var-joomla: \f1aa; -$fa-var-journal-whills: \f66a; -$fa-var-js: \f3b8; -$fa-var-js-square: \f3b9; -$fa-var-jsfiddle: \f1cc; -$fa-var-kaaba: \f66b; -$fa-var-kaggle: \f5fa; -$fa-var-key: \f084; -$fa-var-keybase: \f4f5; -$fa-var-keyboard: \f11c; -$fa-var-keycdn: \f3ba; -$fa-var-khanda: \f66d; -$fa-var-kickstarter: \f3bb; -$fa-var-kickstarter-k: \f3bc; -$fa-var-kiss: \f596; -$fa-var-kiss-beam: \f597; -$fa-var-kiss-wink-heart: \f598; -$fa-var-kiwi-bird: \f535; -$fa-var-korvue: \f42f; -$fa-var-landmark: \f66f; -$fa-var-language: \f1ab; -$fa-var-laptop: \f109; -$fa-var-laptop-code: \f5fc; -$fa-var-laptop-house: \e066; -$fa-var-laptop-medical: \f812; -$fa-var-laravel: \f3bd; -$fa-var-lastfm: \f202; -$fa-var-lastfm-square: \f203; -$fa-var-laugh: \f599; -$fa-var-laugh-beam: \f59a; -$fa-var-laugh-squint: \f59b; -$fa-var-laugh-wink: \f59c; -$fa-var-layer-group: \f5fd; -$fa-var-leaf: \f06c; -$fa-var-leanpub: \f212; -$fa-var-lemon: \f094; -$fa-var-less: \f41d; -$fa-var-less-than: \f536; -$fa-var-less-than-equal: \f537; -$fa-var-level-down-alt: \f3be; -$fa-var-level-up-alt: \f3bf; -$fa-var-life-ring: \f1cd; -$fa-var-lightbulb: \f0eb; -$fa-var-line: \f3c0; -$fa-var-link: \f0c1; -$fa-var-linkedin: \f08c; -$fa-var-linkedin-in: \f0e1; -$fa-var-linode: \f2b8; -$fa-var-linux: \f17c; -$fa-var-lira-sign: \f195; -$fa-var-list: \f03a; -$fa-var-list-alt: \f022; -$fa-var-list-ol: \f0cb; -$fa-var-list-ul: \f0ca; -$fa-var-location-arrow: \f124; -$fa-var-lock: \f023; -$fa-var-lock-open: \f3c1; -$fa-var-long-arrow-alt-down: \f309; -$fa-var-long-arrow-alt-left: \f30a; -$fa-var-long-arrow-alt-right: \f30b; -$fa-var-long-arrow-alt-up: \f30c; -$fa-var-low-vision: \f2a8; -$fa-var-luggage-cart: \f59d; -$fa-var-lungs: \f604; -$fa-var-lungs-virus: \e067; -$fa-var-lyft: \f3c3; -$fa-var-magento: \f3c4; -$fa-var-magic: \f0d0; -$fa-var-magnet: \f076; -$fa-var-mail-bulk: \f674; -$fa-var-mailchimp: \f59e; -$fa-var-male: \f183; -$fa-var-mandalorian: \f50f; -$fa-var-map: \f279; -$fa-var-map-marked: \f59f; -$fa-var-map-marked-alt: \f5a0; -$fa-var-map-marker: \f041; -$fa-var-map-marker-alt: \f3c5; -$fa-var-map-pin: \f276; -$fa-var-map-signs: \f277; -$fa-var-markdown: \f60f; -$fa-var-marker: \f5a1; -$fa-var-mars: \f222; -$fa-var-mars-double: \f227; -$fa-var-mars-stroke: \f229; -$fa-var-mars-stroke-h: \f22b; -$fa-var-mars-stroke-v: \f22a; -$fa-var-mask: \f6fa; -$fa-var-mastodon: \f4f6; -$fa-var-maxcdn: \f136; -$fa-var-mdb: \f8ca; -$fa-var-medal: \f5a2; -$fa-var-medapps: \f3c6; -$fa-var-medium: \f23a; -$fa-var-medium-m: \f3c7; -$fa-var-medkit: \f0fa; -$fa-var-medrt: \f3c8; -$fa-var-meetup: \f2e0; -$fa-var-megaport: \f5a3; -$fa-var-meh: \f11a; -$fa-var-meh-blank: \f5a4; -$fa-var-meh-rolling-eyes: \f5a5; -$fa-var-memory: \f538; -$fa-var-mendeley: \f7b3; -$fa-var-menorah: \f676; -$fa-var-mercury: \f223; -$fa-var-meteor: \f753; -$fa-var-microblog: \e01a; -$fa-var-microchip: \f2db; -$fa-var-microphone: \f130; -$fa-var-microphone-alt: \f3c9; -$fa-var-microphone-alt-slash: \f539; -$fa-var-microphone-slash: \f131; -$fa-var-microscope: \f610; -$fa-var-microsoft: \f3ca; -$fa-var-minus: \f068; -$fa-var-minus-circle: \f056; -$fa-var-minus-square: \f146; -$fa-var-mitten: \f7b5; -$fa-var-mix: \f3cb; -$fa-var-mixcloud: \f289; -$fa-var-mixer: \e056; -$fa-var-mizuni: \f3cc; -$fa-var-mobile: \f10b; -$fa-var-mobile-alt: \f3cd; -$fa-var-modx: \f285; -$fa-var-monero: \f3d0; -$fa-var-money-bill: \f0d6; -$fa-var-money-bill-alt: \f3d1; -$fa-var-money-bill-wave: \f53a; -$fa-var-money-bill-wave-alt: \f53b; -$fa-var-money-check: \f53c; -$fa-var-money-check-alt: \f53d; -$fa-var-monument: \f5a6; -$fa-var-moon: \f186; -$fa-var-mortar-pestle: \f5a7; -$fa-var-mosque: \f678; -$fa-var-motorcycle: \f21c; -$fa-var-mountain: \f6fc; -$fa-var-mouse: \f8cc; -$fa-var-mouse-pointer: \f245; -$fa-var-mug-hot: \f7b6; -$fa-var-music: \f001; -$fa-var-napster: \f3d2; -$fa-var-neos: \f612; -$fa-var-network-wired: \f6ff; -$fa-var-neuter: \f22c; -$fa-var-newspaper: \f1ea; -$fa-var-nimblr: \f5a8; -$fa-var-node: \f419; -$fa-var-node-js: \f3d3; -$fa-var-not-equal: \f53e; -$fa-var-notes-medical: \f481; -$fa-var-npm: \f3d4; -$fa-var-ns8: \f3d5; -$fa-var-nutritionix: \f3d6; -$fa-var-object-group: \f247; -$fa-var-object-ungroup: \f248; -$fa-var-octopus-deploy: \e082; -$fa-var-odnoklassniki: \f263; -$fa-var-odnoklassniki-square: \f264; -$fa-var-oil-can: \f613; -$fa-var-old-republic: \f510; -$fa-var-om: \f679; -$fa-var-opencart: \f23d; -$fa-var-openid: \f19b; -$fa-var-opera: \f26a; -$fa-var-optin-monster: \f23c; -$fa-var-orcid: \f8d2; -$fa-var-osi: \f41a; -$fa-var-otter: \f700; -$fa-var-outdent: \f03b; -$fa-var-page4: \f3d7; -$fa-var-pagelines: \f18c; -$fa-var-pager: \f815; -$fa-var-paint-brush: \f1fc; -$fa-var-paint-roller: \f5aa; -$fa-var-palette: \f53f; -$fa-var-palfed: \f3d8; -$fa-var-pallet: \f482; -$fa-var-paper-plane: \f1d8; -$fa-var-paperclip: \f0c6; -$fa-var-parachute-box: \f4cd; -$fa-var-paragraph: \f1dd; -$fa-var-parking: \f540; -$fa-var-passport: \f5ab; -$fa-var-pastafarianism: \f67b; -$fa-var-paste: \f0ea; -$fa-var-patreon: \f3d9; -$fa-var-pause: \f04c; -$fa-var-pause-circle: \f28b; -$fa-var-paw: \f1b0; -$fa-var-paypal: \f1ed; -$fa-var-peace: \f67c; -$fa-var-pen: \f304; -$fa-var-pen-alt: \f305; -$fa-var-pen-fancy: \f5ac; -$fa-var-pen-nib: \f5ad; -$fa-var-pen-square: \f14b; -$fa-var-pencil-alt: \f303; -$fa-var-pencil-ruler: \f5ae; -$fa-var-penny-arcade: \f704; -$fa-var-people-arrows: \e068; -$fa-var-people-carry: \f4ce; -$fa-var-pepper-hot: \f816; -$fa-var-perbyte: \e083; -$fa-var-percent: \f295; -$fa-var-percentage: \f541; -$fa-var-periscope: \f3da; -$fa-var-person-booth: \f756; -$fa-var-phabricator: \f3db; -$fa-var-phoenix-framework: \f3dc; -$fa-var-phoenix-squadron: \f511; -$fa-var-phone: \f095; -$fa-var-phone-alt: \f879; -$fa-var-phone-slash: \f3dd; -$fa-var-phone-square: \f098; -$fa-var-phone-square-alt: \f87b; -$fa-var-phone-volume: \f2a0; -$fa-var-photo-video: \f87c; -$fa-var-php: \f457; -$fa-var-pied-piper: \f2ae; -$fa-var-pied-piper-alt: \f1a8; -$fa-var-pied-piper-hat: \f4e5; -$fa-var-pied-piper-pp: \f1a7; -$fa-var-pied-piper-square: \e01e; -$fa-var-piggy-bank: \f4d3; -$fa-var-pills: \f484; -$fa-var-pinterest: \f0d2; -$fa-var-pinterest-p: \f231; -$fa-var-pinterest-square: \f0d3; -$fa-var-pizza-slice: \f818; -$fa-var-place-of-worship: \f67f; -$fa-var-plane: \f072; -$fa-var-plane-arrival: \f5af; -$fa-var-plane-departure: \f5b0; -$fa-var-plane-slash: \e069; -$fa-var-play: \f04b; -$fa-var-play-circle: \f144; -$fa-var-playstation: \f3df; -$fa-var-plug: \f1e6; -$fa-var-plus: \f067; -$fa-var-plus-circle: \f055; -$fa-var-plus-square: \f0fe; -$fa-var-podcast: \f2ce; -$fa-var-poll: \f681; -$fa-var-poll-h: \f682; -$fa-var-poo: \f2fe; -$fa-var-poo-storm: \f75a; -$fa-var-poop: \f619; -$fa-var-portrait: \f3e0; -$fa-var-pound-sign: \f154; -$fa-var-power-off: \f011; -$fa-var-pray: \f683; -$fa-var-praying-hands: \f684; -$fa-var-prescription: \f5b1; -$fa-var-prescription-bottle: \f485; -$fa-var-prescription-bottle-alt: \f486; -$fa-var-print: \f02f; -$fa-var-procedures: \f487; -$fa-var-product-hunt: \f288; -$fa-var-project-diagram: \f542; -$fa-var-pump-medical: \e06a; -$fa-var-pump-soap: \e06b; -$fa-var-pushed: \f3e1; -$fa-var-puzzle-piece: \f12e; -$fa-var-python: \f3e2; -$fa-var-qq: \f1d6; -$fa-var-qrcode: \f029; -$fa-var-question: \f128; -$fa-var-question-circle: \f059; -$fa-var-quidditch: \f458; -$fa-var-quinscape: \f459; -$fa-var-quora: \f2c4; -$fa-var-quote-left: \f10d; -$fa-var-quote-right: \f10e; -$fa-var-quran: \f687; -$fa-var-r-project: \f4f7; -$fa-var-radiation: \f7b9; -$fa-var-radiation-alt: \f7ba; -$fa-var-rainbow: \f75b; -$fa-var-random: \f074; -$fa-var-raspberry-pi: \f7bb; -$fa-var-ravelry: \f2d9; -$fa-var-react: \f41b; -$fa-var-reacteurope: \f75d; -$fa-var-readme: \f4d5; -$fa-var-rebel: \f1d0; -$fa-var-receipt: \f543; -$fa-var-record-vinyl: \f8d9; -$fa-var-recycle: \f1b8; -$fa-var-red-river: \f3e3; -$fa-var-reddit: \f1a1; -$fa-var-reddit-alien: \f281; -$fa-var-reddit-square: \f1a2; -$fa-var-redhat: \f7bc; -$fa-var-redo: \f01e; -$fa-var-redo-alt: \f2f9; -$fa-var-registered: \f25d; -$fa-var-remove-format: \f87d; -$fa-var-renren: \f18b; -$fa-var-reply: \f3e5; -$fa-var-reply-all: \f122; -$fa-var-replyd: \f3e6; -$fa-var-republican: \f75e; -$fa-var-researchgate: \f4f8; -$fa-var-resolving: \f3e7; -$fa-var-restroom: \f7bd; -$fa-var-retweet: \f079; -$fa-var-rev: \f5b2; -$fa-var-ribbon: \f4d6; -$fa-var-ring: \f70b; -$fa-var-road: \f018; -$fa-var-robot: \f544; -$fa-var-rocket: \f135; -$fa-var-rocketchat: \f3e8; -$fa-var-rockrms: \f3e9; -$fa-var-route: \f4d7; -$fa-var-rss: \f09e; -$fa-var-rss-square: \f143; -$fa-var-ruble-sign: \f158; -$fa-var-ruler: \f545; -$fa-var-ruler-combined: \f546; -$fa-var-ruler-horizontal: \f547; -$fa-var-ruler-vertical: \f548; -$fa-var-running: \f70c; -$fa-var-rupee-sign: \f156; -$fa-var-rust: \e07a; -$fa-var-sad-cry: \f5b3; -$fa-var-sad-tear: \f5b4; -$fa-var-safari: \f267; -$fa-var-salesforce: \f83b; -$fa-var-sass: \f41e; -$fa-var-satellite: \f7bf; -$fa-var-satellite-dish: \f7c0; -$fa-var-save: \f0c7; -$fa-var-schlix: \f3ea; -$fa-var-school: \f549; -$fa-var-screwdriver: \f54a; -$fa-var-scribd: \f28a; -$fa-var-scroll: \f70e; -$fa-var-sd-card: \f7c2; -$fa-var-search: \f002; -$fa-var-search-dollar: \f688; -$fa-var-search-location: \f689; -$fa-var-search-minus: \f010; -$fa-var-search-plus: \f00e; -$fa-var-searchengin: \f3eb; -$fa-var-seedling: \f4d8; -$fa-var-sellcast: \f2da; -$fa-var-sellsy: \f213; -$fa-var-server: \f233; -$fa-var-servicestack: \f3ec; -$fa-var-shapes: \f61f; -$fa-var-share: \f064; -$fa-var-share-alt: \f1e0; -$fa-var-share-alt-square: \f1e1; -$fa-var-share-square: \f14d; -$fa-var-shekel-sign: \f20b; -$fa-var-shield-alt: \f3ed; -$fa-var-shield-virus: \e06c; -$fa-var-ship: \f21a; -$fa-var-shipping-fast: \f48b; -$fa-var-shirtsinbulk: \f214; -$fa-var-shoe-prints: \f54b; -$fa-var-shopify: \e057; -$fa-var-shopping-bag: \f290; -$fa-var-shopping-basket: \f291; -$fa-var-shopping-cart: \f07a; -$fa-var-shopware: \f5b5; -$fa-var-shower: \f2cc; -$fa-var-shuttle-van: \f5b6; -$fa-var-sign: \f4d9; -$fa-var-sign-in-alt: \f2f6; -$fa-var-sign-language: \f2a7; -$fa-var-sign-out-alt: \f2f5; -$fa-var-signal: \f012; -$fa-var-signature: \f5b7; -$fa-var-sim-card: \f7c4; -$fa-var-simplybuilt: \f215; -$fa-var-sink: \e06d; -$fa-var-sistrix: \f3ee; -$fa-var-sitemap: \f0e8; -$fa-var-sith: \f512; -$fa-var-skating: \f7c5; -$fa-var-sketch: \f7c6; -$fa-var-skiing: \f7c9; -$fa-var-skiing-nordic: \f7ca; -$fa-var-skull: \f54c; -$fa-var-skull-crossbones: \f714; -$fa-var-skyatlas: \f216; -$fa-var-skype: \f17e; -$fa-var-slack: \f198; -$fa-var-slack-hash: \f3ef; -$fa-var-slash: \f715; -$fa-var-sleigh: \f7cc; -$fa-var-sliders-h: \f1de; -$fa-var-slideshare: \f1e7; -$fa-var-smile: \f118; -$fa-var-smile-beam: \f5b8; -$fa-var-smile-wink: \f4da; -$fa-var-smog: \f75f; -$fa-var-smoking: \f48d; -$fa-var-smoking-ban: \f54d; -$fa-var-sms: \f7cd; -$fa-var-snapchat: \f2ab; -$fa-var-snapchat-ghost: \f2ac; -$fa-var-snapchat-square: \f2ad; -$fa-var-snowboarding: \f7ce; -$fa-var-snowflake: \f2dc; -$fa-var-snowman: \f7d0; -$fa-var-snowplow: \f7d2; -$fa-var-soap: \e06e; -$fa-var-socks: \f696; -$fa-var-solar-panel: \f5ba; -$fa-var-sort: \f0dc; -$fa-var-sort-alpha-down: \f15d; -$fa-var-sort-alpha-down-alt: \f881; -$fa-var-sort-alpha-up: \f15e; -$fa-var-sort-alpha-up-alt: \f882; -$fa-var-sort-amount-down: \f160; -$fa-var-sort-amount-down-alt: \f884; -$fa-var-sort-amount-up: \f161; -$fa-var-sort-amount-up-alt: \f885; -$fa-var-sort-down: \f0dd; -$fa-var-sort-numeric-down: \f162; -$fa-var-sort-numeric-down-alt: \f886; -$fa-var-sort-numeric-up: \f163; -$fa-var-sort-numeric-up-alt: \f887; -$fa-var-sort-up: \f0de; -$fa-var-soundcloud: \f1be; -$fa-var-sourcetree: \f7d3; -$fa-var-spa: \f5bb; -$fa-var-space-shuttle: \f197; -$fa-var-speakap: \f3f3; -$fa-var-speaker-deck: \f83c; -$fa-var-spell-check: \f891; -$fa-var-spider: \f717; -$fa-var-spinner: \f110; -$fa-var-splotch: \f5bc; -$fa-var-spotify: \f1bc; -$fa-var-spray-can: \f5bd; -$fa-var-square: \f0c8; -$fa-var-square-full: \f45c; -$fa-var-square-root-alt: \f698; -$fa-var-squarespace: \f5be; -$fa-var-stack-exchange: \f18d; -$fa-var-stack-overflow: \f16c; -$fa-var-stackpath: \f842; -$fa-var-stamp: \f5bf; -$fa-var-star: \f005; -$fa-var-star-and-crescent: \f699; -$fa-var-star-half: \f089; -$fa-var-star-half-alt: \f5c0; -$fa-var-star-of-david: \f69a; -$fa-var-star-of-life: \f621; -$fa-var-staylinked: \f3f5; -$fa-var-steam: \f1b6; -$fa-var-steam-square: \f1b7; -$fa-var-steam-symbol: \f3f6; -$fa-var-step-backward: \f048; -$fa-var-step-forward: \f051; -$fa-var-stethoscope: \f0f1; -$fa-var-sticker-mule: \f3f7; -$fa-var-sticky-note: \f249; -$fa-var-stop: \f04d; -$fa-var-stop-circle: \f28d; -$fa-var-stopwatch: \f2f2; -$fa-var-stopwatch-20: \e06f; -$fa-var-store: \f54e; -$fa-var-store-alt: \f54f; -$fa-var-store-alt-slash: \e070; -$fa-var-store-slash: \e071; -$fa-var-strava: \f428; -$fa-var-stream: \f550; -$fa-var-street-view: \f21d; -$fa-var-strikethrough: \f0cc; -$fa-var-stripe: \f429; -$fa-var-stripe-s: \f42a; -$fa-var-stroopwafel: \f551; -$fa-var-studiovinari: \f3f8; -$fa-var-stumbleupon: \f1a4; -$fa-var-stumbleupon-circle: \f1a3; -$fa-var-subscript: \f12c; -$fa-var-subway: \f239; -$fa-var-suitcase: \f0f2; -$fa-var-suitcase-rolling: \f5c1; -$fa-var-sun: \f185; -$fa-var-superpowers: \f2dd; -$fa-var-superscript: \f12b; -$fa-var-supple: \f3f9; -$fa-var-surprise: \f5c2; -$fa-var-suse: \f7d6; -$fa-var-swatchbook: \f5c3; -$fa-var-swift: \f8e1; -$fa-var-swimmer: \f5c4; -$fa-var-swimming-pool: \f5c5; -$fa-var-symfony: \f83d; -$fa-var-synagogue: \f69b; -$fa-var-sync: \f021; -$fa-var-sync-alt: \f2f1; -$fa-var-syringe: \f48e; -$fa-var-table: \f0ce; -$fa-var-table-tennis: \f45d; -$fa-var-tablet: \f10a; -$fa-var-tablet-alt: \f3fa; -$fa-var-tablets: \f490; -$fa-var-tachometer-alt: \f3fd; -$fa-var-tag: \f02b; -$fa-var-tags: \f02c; -$fa-var-tape: \f4db; -$fa-var-tasks: \f0ae; -$fa-var-taxi: \f1ba; -$fa-var-teamspeak: \f4f9; -$fa-var-teeth: \f62e; -$fa-var-teeth-open: \f62f; -$fa-var-telegram: \f2c6; -$fa-var-telegram-plane: \f3fe; -$fa-var-temperature-high: \f769; -$fa-var-temperature-low: \f76b; -$fa-var-tencent-weibo: \f1d5; -$fa-var-tenge: \f7d7; -$fa-var-terminal: \f120; -$fa-var-text-height: \f034; -$fa-var-text-width: \f035; -$fa-var-th: \f00a; -$fa-var-th-large: \f009; -$fa-var-th-list: \f00b; -$fa-var-the-red-yeti: \f69d; -$fa-var-theater-masks: \f630; -$fa-var-themeco: \f5c6; -$fa-var-themeisle: \f2b2; -$fa-var-thermometer: \f491; -$fa-var-thermometer-empty: \f2cb; -$fa-var-thermometer-full: \f2c7; -$fa-var-thermometer-half: \f2c9; -$fa-var-thermometer-quarter: \f2ca; -$fa-var-thermometer-three-quarters: \f2c8; -$fa-var-think-peaks: \f731; -$fa-var-thumbs-down: \f165; -$fa-var-thumbs-up: \f164; -$fa-var-thumbtack: \f08d; -$fa-var-ticket-alt: \f3ff; -$fa-var-tiktok: \e07b; -$fa-var-times: \f00d; -$fa-var-times-circle: \f057; -$fa-var-tint: \f043; -$fa-var-tint-slash: \f5c7; -$fa-var-tired: \f5c8; -$fa-var-toggle-off: \f204; -$fa-var-toggle-on: \f205; -$fa-var-toilet: \f7d8; -$fa-var-toilet-paper: \f71e; -$fa-var-toilet-paper-slash: \e072; -$fa-var-toolbox: \f552; -$fa-var-tools: \f7d9; -$fa-var-tooth: \f5c9; -$fa-var-torah: \f6a0; -$fa-var-torii-gate: \f6a1; -$fa-var-tractor: \f722; -$fa-var-trade-federation: \f513; -$fa-var-trademark: \f25c; -$fa-var-traffic-light: \f637; -$fa-var-trailer: \e041; -$fa-var-train: \f238; -$fa-var-tram: \f7da; -$fa-var-transgender: \f224; -$fa-var-transgender-alt: \f225; -$fa-var-trash: \f1f8; -$fa-var-trash-alt: \f2ed; -$fa-var-trash-restore: \f829; -$fa-var-trash-restore-alt: \f82a; -$fa-var-tree: \f1bb; -$fa-var-trello: \f181; -$fa-var-tripadvisor: \f262; -$fa-var-trophy: \f091; -$fa-var-truck: \f0d1; -$fa-var-truck-loading: \f4de; -$fa-var-truck-monster: \f63b; -$fa-var-truck-moving: \f4df; -$fa-var-truck-pickup: \f63c; -$fa-var-tshirt: \f553; -$fa-var-tty: \f1e4; -$fa-var-tumblr: \f173; -$fa-var-tumblr-square: \f174; -$fa-var-tv: \f26c; -$fa-var-twitch: \f1e8; -$fa-var-twitter: \f099; -$fa-var-twitter-square: \f081; -$fa-var-typo3: \f42b; -$fa-var-uber: \f402; -$fa-var-ubuntu: \f7df; -$fa-var-uikit: \f403; -$fa-var-umbraco: \f8e8; -$fa-var-umbrella: \f0e9; -$fa-var-umbrella-beach: \f5ca; -$fa-var-uncharted: \e084; -$fa-var-underline: \f0cd; -$fa-var-undo: \f0e2; -$fa-var-undo-alt: \f2ea; -$fa-var-uniregistry: \f404; -$fa-var-unity: \e049; -$fa-var-universal-access: \f29a; -$fa-var-university: \f19c; -$fa-var-unlink: \f127; -$fa-var-unlock: \f09c; -$fa-var-unlock-alt: \f13e; -$fa-var-unsplash: \e07c; -$fa-var-untappd: \f405; -$fa-var-upload: \f093; -$fa-var-ups: \f7e0; -$fa-var-usb: \f287; -$fa-var-user: \f007; -$fa-var-user-alt: \f406; -$fa-var-user-alt-slash: \f4fa; -$fa-var-user-astronaut: \f4fb; -$fa-var-user-check: \f4fc; -$fa-var-user-circle: \f2bd; -$fa-var-user-clock: \f4fd; -$fa-var-user-cog: \f4fe; -$fa-var-user-edit: \f4ff; -$fa-var-user-friends: \f500; -$fa-var-user-graduate: \f501; -$fa-var-user-injured: \f728; -$fa-var-user-lock: \f502; -$fa-var-user-md: \f0f0; -$fa-var-user-minus: \f503; -$fa-var-user-ninja: \f504; -$fa-var-user-nurse: \f82f; -$fa-var-user-plus: \f234; -$fa-var-user-secret: \f21b; -$fa-var-user-shield: \f505; -$fa-var-user-slash: \f506; -$fa-var-user-tag: \f507; -$fa-var-user-tie: \f508; -$fa-var-user-times: \f235; -$fa-var-users: \f0c0; -$fa-var-users-cog: \f509; -$fa-var-users-slash: \e073; -$fa-var-usps: \f7e1; -$fa-var-ussunnah: \f407; -$fa-var-utensil-spoon: \f2e5; -$fa-var-utensils: \f2e7; -$fa-var-vaadin: \f408; -$fa-var-vector-square: \f5cb; -$fa-var-venus: \f221; -$fa-var-venus-double: \f226; -$fa-var-venus-mars: \f228; -$fa-var-vest: \e085; -$fa-var-vest-patches: \e086; -$fa-var-viacoin: \f237; -$fa-var-viadeo: \f2a9; -$fa-var-viadeo-square: \f2aa; -$fa-var-vial: \f492; -$fa-var-vials: \f493; -$fa-var-viber: \f409; -$fa-var-video: \f03d; -$fa-var-video-slash: \f4e2; -$fa-var-vihara: \f6a7; -$fa-var-vimeo: \f40a; -$fa-var-vimeo-square: \f194; -$fa-var-vimeo-v: \f27d; -$fa-var-vine: \f1ca; -$fa-var-virus: \e074; -$fa-var-virus-slash: \e075; -$fa-var-viruses: \e076; -$fa-var-vk: \f189; -$fa-var-vnv: \f40b; -$fa-var-voicemail: \f897; -$fa-var-volleyball-ball: \f45f; -$fa-var-volume-down: \f027; -$fa-var-volume-mute: \f6a9; -$fa-var-volume-off: \f026; -$fa-var-volume-up: \f028; -$fa-var-vote-yea: \f772; -$fa-var-vr-cardboard: \f729; -$fa-var-vuejs: \f41f; -$fa-var-walking: \f554; -$fa-var-wallet: \f555; -$fa-var-warehouse: \f494; -$fa-var-watchman-monitoring: \e087; -$fa-var-water: \f773; -$fa-var-wave-square: \f83e; -$fa-var-waze: \f83f; -$fa-var-weebly: \f5cc; -$fa-var-weibo: \f18a; -$fa-var-weight: \f496; -$fa-var-weight-hanging: \f5cd; -$fa-var-weixin: \f1d7; -$fa-var-whatsapp: \f232; -$fa-var-whatsapp-square: \f40c; -$fa-var-wheelchair: \f193; -$fa-var-whmcs: \f40d; -$fa-var-wifi: \f1eb; -$fa-var-wikipedia-w: \f266; -$fa-var-wind: \f72e; -$fa-var-window-close: \f410; -$fa-var-window-maximize: \f2d0; -$fa-var-window-minimize: \f2d1; -$fa-var-window-restore: \f2d2; -$fa-var-windows: \f17a; -$fa-var-wine-bottle: \f72f; -$fa-var-wine-glass: \f4e3; -$fa-var-wine-glass-alt: \f5ce; -$fa-var-wix: \f5cf; -$fa-var-wizards-of-the-coast: \f730; -$fa-var-wodu: \e088; -$fa-var-wolf-pack-battalion: \f514; -$fa-var-won-sign: \f159; -$fa-var-wordpress: \f19a; -$fa-var-wordpress-simple: \f411; -$fa-var-wpbeginner: \f297; -$fa-var-wpexplorer: \f2de; -$fa-var-wpforms: \f298; -$fa-var-wpressr: \f3e4; -$fa-var-wrench: \f0ad; -$fa-var-x-ray: \f497; -$fa-var-xbox: \f412; -$fa-var-xing: \f168; -$fa-var-xing-square: \f169; -$fa-var-y-combinator: \f23b; -$fa-var-yahoo: \f19e; -$fa-var-yammer: \f840; -$fa-var-yandex: \f413; -$fa-var-yandex-international: \f414; -$fa-var-yarn: \f7e3; -$fa-var-yelp: \f1e9; -$fa-var-yen-sign: \f157; -$fa-var-yin-yang: \f6ad; -$fa-var-yoast: \f2b1; -$fa-var-youtube: \f167; -$fa-var-youtube-square: \f431; -$fa-var-zhihu: \f63f; diff --git a/_sass/type-on-strap.scss b/_sass/type-on-strap.scss deleted file mode 100644 index 18f33a894..000000000 --- a/_sass/type-on-strap.scss +++ /dev/null @@ -1,54 +0,0 @@ -/* TYPE_ON_STRAP Main style sheet */ - -/* Variables */ -// All the options to customize your theme in one file -@import 'base/variables'; - -/* External */ -// CSS from external sources -@import 'external/reset'; -@import 'external/font-awesome'; -@import 'external/pacifico'; -@import 'external/katex'; -@import 'external/source-sans-pro'; - -/* Base */ -// For general CSS in the theme -@import 'base/global'; -@import 'base/highlight'; -@import 'base/utility'; - -/* Includes */ -// Linked with the html in the _includes folder -@import 'includes/post_nav'; -@import 'includes/footer'; -@import 'includes/navbar'; -@import 'includes/share_buttons'; -@import 'includes/blog_nav'; -@import 'includes/gallery'; -@import 'includes/portfolio'; - -/* Posts */ -// Linked with the html in the _layouts folder -@import 'layouts/posts'; -@import 'layouts/blog'; -@import 'layouts/page'; -@import 'layouts/tags'; -@import 'layouts/search'; - -/** - -CUSTOM STYLING - -In the case you want to add your own style on top of the type-on-strap one. -You can add a custom scss file using: - -@import 'custom'; - -Put it right after this comment for your changes to be applied over the default style. -(Once it processed into the assets/css/main.css by Jekyll at run time) - -Then create your _custom.scss right next to type-on-strap.scss and add in it all -of the unique scss that your blog needs. - -*/ diff --git a/amplify.yml b/amplify.yml new file mode 100644 index 000000000..71a6f048d --- /dev/null +++ b/amplify.yml @@ -0,0 +1,20 @@ +version: 1 +applications: + - appRoot: astro + frontend: + phases: + preBuild: + commands: + - nvm install 22 + - nvm use 22 + - npm ci + build: + commands: + - npm run build + artifacts: + baseDirectory: dist + files: + - '**/*' + cache: + paths: + - node_modules/**/* diff --git a/astro/.gitignore b/astro/.gitignore new file mode 100644 index 000000000..3441a7995 --- /dev/null +++ b/astro/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +dist/ +.astro/ +.env +.env.* +!.env.example diff --git a/astro/REVIEW.md b/astro/REVIEW.md new file mode 100644 index 000000000..867425b72 --- /dev/null +++ b/astro/REVIEW.md @@ -0,0 +1,226 @@ +# Astro Migration — Manual Pixel-Parity Review Checklist + +> This checklist MUST be completed BEFORE the cutover commit (W7 task 63). +> Since automated visual regression was not enabled (per user decision), this is the gating human review. + +--- + +## Pre-Review Setup + +1. Build the Astro site: + ```bash + cd astro && npm run build + ``` + +2. Serve the Astro build locally (pick one): + ```bash + cd astro && npx http-server dist -p 8080 + # OR + cd astro && npx astro preview + ``` + +3. Serve the current Jekyll build alongside (in another terminal): + ```bash + bundle exec jekyll serve --port 4000 + # OR use Docker + docker run -it -v $(pwd):/var/content:ro -p 4000:4000 tech-blog:latest + ``` + +4. Open BOTH in adjacent browser tabs at: + - Desktop: 1440 × 900 + - Mobile: 375 × 667 (iPhone 8) + +--- + +## Pre-Cutover Verification (Automated) + +Before manual review, run these automated checks: + +- [ ] `cd astro && npm run build` exits 0 +- [ ] `node astro/scripts/verify-urls.mjs` exits 0 (URL preservation) +- [ ] `xmllint --noout astro/dist/feed.xml` exits 0 (RSS valid) +- [ ] `xmllint --noout astro/dist/sitemap-index.xml` exits 0 (sitemap valid) +- [ ] `grep -q 'bedrockstreaming.matomo.cloud' astro/dist/index.html` (Matomo present in prod build) +- [ ] `cd astro && PUBLIC_MATOMO_ENABLED=false npm run build && ! grep -q 'matomo' astro/dist/index.html` (Matomo absent in preview build) + +--- + +## Manual Visual Review (Side-by-Side Comparison) + +### Home page (`/`) + +- [ ] Hero banner image visible (`/images/common/banner_xl.jpg`) +- [ ] Header text "Creating Streaming Champions" present +- [ ] Featured post cards count matches Jekyll (10 posts) +- [ ] Post card order identical (newest first) +- [ ] Pagination link to `/blog/page/2/` present +- [ ] No layout shift or missing styles + +### Sample blog post (any from 2024+) + +Pick one: `/2024/10/03/enhancing-production-monitoring-with-newrelic/` + +- [ ] Title, date, author rendered identically +- [ ] Tags pill display matches Jekyll +- [ ] Code blocks: syntax highlighting visually similar (Shiki themes may differ slightly from Pygments — acceptable) +- [ ] Inline images appear in same positions +- [ ] Share buttons present (RSS, Twitter, LinkedIn, Email — per `_data/social.yml`) +- [ ] Click each share button — opens correct social share URL +- [ ] Prev/Next navigation at bottom (if applicable) +- [ ] Author bio rendered correctly +- [ ] No console errors + +### Sample post with `color` frontmatter + +Pick one: any 2024+ post (167 posts have `color: rgb(251,87,66)`) + +- [ ] Post content `a` tags use the post color +- [ ] Share button `a` tags use the post color +- [ ] Tag list links use the post color +- [ ] Post navigation links use the post color +- [ ] Footer links use the post color + +### Sample conference post (with slideshare) + +Pick a conference with `slideshareKey` (3 total). + +- [ ] Event name + date + speaker rendered +- [ ] Slideshare iframe loads +- [ ] If has `youtubeId` — YouTube iframe also loads + +### Sample video post (LFT) + +Pick any video from `/lft/`. + +- [ ] YouTube iframe loads +- [ ] Video autoplay is OFF +- [ ] Video metadata rendered + +### Mermaid + KaTeX rendering + +- [ ] Open `/2024/11/07/compute-at-edge-personalize-static-pages/` +- [ ] All 3 Mermaid diagrams render as SVG (NOT raw ```mermaid``` text) +- [ ] If KaTeX post exists: math renders, no raw `$$` visible + +### Twitter embeds + +Open a post with embedded tweets (8 posts have `class="twitter-tweet"`). + +- [ ] Tweet renders with Twitter widget styling (script `widgets.js` loaded) + +### Dark mode + +- [ ] Theme toggle button visible in navbar +- [ ] Click toggle → page switches theme immediately +- [ ] Reload page → theme persists (localStorage) +- [ ] No FOUC (flash of unstyled theme) on page load +- [ ] All pages respect theme (especially code blocks) +- [ ] Set OS to dark → fresh visit (incognito) shows dark theme + +### Navigation (Navbar + Footer) + +- [ ] Navbar links: Jobs, LFT, Meetups/Conferences, OSS, Search, Tags +- [ ] Each link leads to correct page (no 404) +- [ ] Active link styled correctly on each route +- [ ] Mobile menu: hamburger toggle works on 375px viewport +- [ ] Footer social icons: GitHub, LinkedIn (per `_data/icons.yml`) +- [ ] Footer copyright shows current year + +### Tag pages + +- [ ] `/tags/` lists all unique tags with counts +- [ ] Tags sorted alphabetically (or matching Jekyll order) +- [ ] Sample `/tags/php/` lists php-tagged posts only +- [ ] Tag pills on posts link to correct tag page + +### Search + +- [ ] `/search/` page loads +- [ ] Pagefind UI renders search input +- [ ] Search "kubernetes" returns ≄3 results +- [ ] Search "performance" returns ≄3 results +- [ ] Search "BFF" returns relevant results +- [ ] Result clicks navigate to correct posts + +### Static pages + +- [ ] `/oss/` — all OSS project entries visible with images +- [ ] `/jobs/` — content present (redirect to Bedrock careers) +- [ ] `/lft/` — 61 LFT videos listed with thumbnails +- [ ] `/meetup-conference/` — conferences listed (merged data + posts) +- [ ] `/404.html` — renders 404 layout (test with deliberately bad URL) + +### SEO / feeds + +- [ ] `/feed.xml` opens in browser, shows valid RSS feed with all posts +- [ ] `/sitemap-index.xml` opens, lists sub-sitemaps +- [ ] `/robots.txt` references sitemap URL +- [ ] Pick a random post — view source — confirm: + - `og:image` present (featureImg/thumbnail/default fallback) + - `twitter:card content="summary_large_image"` present + - `twitter:site content="@Bedrock_Tech"` present + - Canonical link present + - Matomo ` @@ -93,7 +98,7 @@ Etant donnĂ© que dans notre cas, 99% du poids Js est concentrĂ© dans "Vendor", n 
. +author: p_martin +date: '2022-11-22' --- Many of the microservices in our VOD and Replay platform use DynamoDB as their database. diff --git a/_posts/2022-12-23-haproxyconf-paris-2022.md b/astro/src/content/blog/2022-12-23-haproxyconf-paris-2022.md similarity index 97% rename from _posts/2022-12-23-haproxyconf-paris-2022.md rename to astro/src/content/blog/2022-12-23-haproxyconf-paris-2022.md index 5c60c9699..f94fd3d80 100644 --- a/_posts/2022-12-23-haproxyconf-paris-2022.md +++ b/astro/src/content/blog/2022-12-23-haproxyconf-paris-2022.md @@ -1,14 +1,19 @@ --- -layout: post -title: "Nos retours sur l'HAProxyConf Paris 2022" -description: "Retour sur la virĂ©e de Bedrock Ă  l'HAProxyconf Paris 2022, et ce que nous en retenons" -author: bedrock -tags: [haproxy, haproxyconf, conference] -feature-img: "images/posts/2022-12-23-haproxyconf-paris-2022/haproxyconf_2022_paris.png" -thumbnail: "images/posts/2022-12-23-haproxyconf-paris-2022/haproxyconf_2022_paris.png" -color: rgb(251,87,66) +title: Nos retours sur l'HAProxyConf Paris 2022 +description: >- + Retour sur la virĂ©e de Bedrock Ă  l'HAProxyconf Paris 2022, et ce que nous en + retenons +tags: + - haproxy + - haproxyconf + - conference +featureImg: images/posts/2022-12-23-haproxyconf-paris-2022/haproxyconf_2022_paris.png +thumbnail: images/posts/2022-12-23-haproxyconf-paris-2022/haproxyconf_2022_paris.png +color: 'rgb(251,87,66)' language: fr comments: true +author: bedrock +date: '2022-12-23' --- Bedrock Ă©tait prĂ©sent lors de la ConfĂ©rence HAProxy qui se dĂ©roulait Ă  Paris en novembre 2022 : en tant que speaker, avec [la prĂ©sentation de Vincent Gallissot](https://www.youtube.com/watch?v=5jzOXlmRDao){:target="_blank"}, mais aussi en tant que spectateur. Cet article relate les points forts qui nous ont marquĂ©s. diff --git a/_posts/2022-12-23-varnish-operator.md b/astro/src/content/blog/2022-12-23-varnish-operator.md similarity index 92% rename from _posts/2022-12-23-varnish-operator.md rename to astro/src/content/blog/2022-12-23-varnish-operator.md index 0ec1a98e7..1c2691e56 100644 --- a/_posts/2022-12-23-varnish-operator.md +++ b/astro/src/content/blog/2022-12-23-varnish-operator.md @@ -1,15 +1,26 @@ --- -layout: post -title: "How Micro-Services changed our caching architecture" -description: "Varnish Operator is a good solution to problem caused by Microservices architecture in Kubernetes environment. Especially where most of the traffic comes from other API rather than from an end-user." -author: a_zinck -category: -tags: [on-premise, cloud, cdn, varnish, aws, cloud, fastly, varnish-operator, cloudfront, alb] -color: rgb(0, 150, 255) -thumbnail: "/images/posts/2022-12-23-varnish-operator/main.png" -feature-img: +title: How Micro-Services changed our caching architecture +description: >- + Varnish Operator is a good solution to problem caused by Microservices + architecture in Kubernetes environment. Especially where most of the traffic + comes from other API rather than from an end-user. +tags: + - on-premise + - cloud + - cdn + - varnish + - aws + - cloud + - fastly + - varnish-operator + - cloudfront + - alb +color: 'rgb(0, 150, 255)' +thumbnail: /images/posts/2022-12-23-varnish-operator/main.png language: en comments: true +author: a_zinck +date: '2022-12-23' --- At Bedrock we use Cloudfront or Fastly for two different reason. To protect our applications from potential Distributed Denial of Service Attack. And to provide a layer of cache in front of our applications. No need to go down to the app for an easily cacheable response. diff --git a/_posts/2023-01-10-bedrock-app-launcher.md b/astro/src/content/blog/2023-01-10-bedrock-app-launcher.md similarity index 98% rename from _posts/2023-01-10-bedrock-app-launcher.md rename to astro/src/content/blog/2023-01-10-bedrock-app-launcher.md index 86f8ce058..4aecc18fc 100644 --- a/_posts/2023-01-10-bedrock-app-launcher.md +++ b/astro/src/content/blog/2023-01-10-bedrock-app-launcher.md @@ -1,13 +1,12 @@ --- -layout: post -title: "A journey into connected TVs industrialisation process, Part 1" -description: "The Launcher App" -author: bedrock -category: +title: 'A journey into connected TVs industrialisation process, Part 1' +description: The Launcher App tags: [] -color: rgb(251,87,66) +color: 'rgb(251,87,66)' language: en comments: true +author: bedrock +date: '2023-01-10' --- At Bedrock, we build and run streaming applications on a wide variety of OTT devices (more than 60 different ecosystems). While testing and experimenting is easy on web and mobile devices, even for non-developers, it’s not as easy for Connected TV (CTV). In this article, you’ll discover how all of our employees can now access testing and pre-release environments on TV devices, with ease and without any technical knowledge. diff --git a/_posts/2023-03-02-aws_transit_gateway.md b/astro/src/content/blog/2023-03-02-aws_transit_gateway.md similarity index 93% rename from _posts/2023-03-02-aws_transit_gateway.md rename to astro/src/content/blog/2023-03-02-aws_transit_gateway.md index 2876b1703..c5aefff14 100644 --- a/_posts/2023-03-02-aws_transit_gateway.md +++ b/astro/src/content/blog/2023-03-02-aws_transit_gateway.md @@ -1,16 +1,20 @@ --- -layout: post -title: "Why is Transit Gateway service not right for us?" -description: "Transit Gateway is being promoted as the answer to a lot of network problems in AWS. But is it really a good solution?" -author: c_vanderzwaard -category: -tags: [on-premise, cloud, aws, network] -color: rgb(251,87,66) -thumbnail: "/images/posts/2023-03-02-aws_tgw/tgw.png" -feature-img: +title: Why is Transit Gateway service not right for us? +description: >- + Transit Gateway is being promoted as the answer to a lot of network problems + in AWS. But is it really a good solution? +tags: + - on-premise + - cloud + - aws + - network +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2023-03-02-aws_tgw/tgw.png language: en comments: true excerpt_separator: +author: c_vanderzwaard +date: '2023-03-02' --- Managing the network of many interconnected AWS accounts can quickly lead to having a messy network architecture. diff --git a/_posts/2023-03-13-bedrock-dev-facts-19.md b/astro/src/content/blog/2023-03-13-bedrock-dev-facts-19.md similarity index 96% rename from _posts/2023-03-13-bedrock-dev-facts-19.md rename to astro/src/content/blog/2023-03-13-bedrock-dev-facts-19.md index 7b5f580ae..30b43c375 100644 --- a/_posts/2023-03-13-bedrock-dev-facts-19.md +++ b/astro/src/content/blog/2023-03-13-bedrock-dev-facts-19.md @@ -1,11 +1,12 @@ --- -layout: post -title: "Bedrock Dev Facts #19" -description: "Les plus belles phrases de nos Ă©quipes techniques" -author: bedrock -category: -tags: [devfacts, humour] -color: rgb(251,87,66) +title: 'Bedrock Dev Facts #19' +description: Les plus belles phrases de nos Ă©quipes techniques +tags: + - devfacts + - humour +color: 'rgb(251,87,66)' +author: bedrock +date: '2023-03-13' --- La fin de l'hiver approche, il est temps de faire un bilan ! Quelles bĂȘtises le froid aura-t-il apportĂ©es parmi les devs ? ❄ diff --git a/_posts/2023-03-20-La-gamification-contre-le-legacy.md b/astro/src/content/blog/2023-03-20-La-gamification-contre-le-legacy.md similarity index 97% rename from _posts/2023-03-20-La-gamification-contre-le-legacy.md rename to astro/src/content/blog/2023-03-20-La-gamification-contre-le-legacy.md index 39ef1fed8..93c5a24f8 100644 --- a/_posts/2023-03-20-La-gamification-contre-le-legacy.md +++ b/astro/src/content/blog/2023-03-20-La-gamification-contre-le-legacy.md @@ -1,12 +1,24 @@ --- -layout: post title: La gamification contre le legacy -description: Retour d'expĂ©rience des Ă©quipes Infra de Bedrock sur la mise en place de journĂ©es dĂ©diĂ©es au traitement des sujets legacy -author: [e_perrin, a_ferez] -tags: [infra, legacy, retour d'expĂ©rience] -color: rgb(251,87,66) # this is Bedrock color here -excerpt: "Elles sont lĂ , tapies dans l’ombre de la colonne “To do” de vos backlogs, attendant que leur heure vienne. À chaque backlog refinement, vous vous demandez s’il ne faut pas tout simplement les annuler, puisque personne ne les prend en charge
 De quoi parle-t-on ? De ces user stories qui existent dans le backlog
" +description: >- + Retour d'expĂ©rience des Ă©quipes Infra de Bedrock sur la mise en place de + journĂ©es dĂ©diĂ©es au traitement des sujets legacy +tags: + - infra + - legacy + - retour d'expĂ©rience +color: 'rgb(251,87,66)' +excerpt: >- + Elles sont lĂ , tapies dans l’ombre de la colonne “To do” de vos backlogs, + attendant que leur heure vienne. À chaque backlog refinement, vous vous + demandez s’il ne faut pas tout simplement les annuler, puisque personne ne les + prend en charge
 De quoi parle-t-on ? De ces user stories qui existent dans le + backlog
 thumbnail: /images/posts/2023-03-16-la-gamification-contre-le-legacy/Article-Target.png +author: + - e_perrin + - a_ferez +date: '2023-03-20' --- ## Ce que vous ne voulez pas voir dans vos backlogs
 diff --git a/_posts/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md b/astro/src/content/blog/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md similarity index 95% rename from _posts/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md rename to astro/src/content/blog/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md index 2fbb4297a..651c72eb8 100644 --- a/_posts/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md +++ b/astro/src/content/blog/2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md @@ -1,12 +1,31 @@ --- -layout: post -title: De Node.js 10 Ă  Node.js 18, nous avons rattrapĂ© 8 ans de retard et de dette technique -description: Difficile de faire Ă©voluer des applications et amĂ©liorer une stack si l’ensemble est basĂ© sur une version obsolĂšte de Node.js
 Dans cet article, nous verrons comment nous avons rĂ©ussi Ă  migrer vers une version rĂ©cente et maintenue de Node.js grĂące Ă  une approche progressive et incrĂ©mentale. -author: t_crespy -tags: [node, Node.js, vue, Vue.js, vuex, pinia, vite, Vite.js, Vitest, TypeScript, developer retention, migration] -color: rgb(251,87,66) -redirect_from: - - /2023/03/25/de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique-et-seule-une-approche-progressive-et-incrementale-etait-viable.html +title: >- + De Node.js 10 Ă  Node.js 18, nous avons rattrapĂ© 8 ans de retard et de dette + technique +description: >- + Difficile de faire Ă©voluer des applications et amĂ©liorer une stack si + l’ensemble est basĂ© sur une version obsolĂšte de Node.js
 Dans cet article, + nous verrons comment nous avons rĂ©ussi Ă  migrer vers une version rĂ©cente et + maintenue de Node.js grĂące Ă  une approche progressive et incrĂ©mentale. +tags: + - node + - Node.js + - vue + - Vue.js + - vuex + - pinia + - vite + - Vite.js + - Vitest + - TypeScript + - developer retention + - migration +color: 'rgb(251,87,66)' +author: t_crespy +date: '2023-03-25' +redirectFrom: + - >- + /2023/03/25/de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique-et-seule-une-approche-progressive-et-incrementale-etait-viable.html/ --- Difficile de faire Ă©voluer des applications et amĂ©liorer une stack si l’ensemble est basĂ© sur une version obsolĂšte de Node.js
 Dans cet article, nous verrons comment nous avons rĂ©ussi Ă  migrer vers une version rĂ©cente et maintenue de Node.js grĂące Ă  une approche progressive et incrĂ©mentale. diff --git a/_posts/2023-03-31-retour-vue-amsterdam-2023.md b/astro/src/content/blog/2023-03-31-retour-vue-amsterdam-2023.md similarity index 97% rename from _posts/2023-03-31-retour-vue-amsterdam-2023.md rename to astro/src/content/blog/2023-03-31-retour-vue-amsterdam-2023.md index 5461d70bc..a2e0c7d14 100644 --- a/_posts/2023-03-31-retour-vue-amsterdam-2023.md +++ b/astro/src/content/blog/2023-03-31-retour-vue-amsterdam-2023.md @@ -1,11 +1,24 @@ --- -layout: post title: Retour ConfĂ©rence Vue Amsterdam 2023 description: Retour sur la confĂ©rence Vuejs Ă  Amsterdam 2023 -author: [pl_perez, l_penaguin, c_berard] -tags: [node, Node, vue, vuex, pinia, vite, Vitest, TypeScript, developer, javascript] -color: rgb(251,87,66) +tags: + - node + - Node + - vue + - vuex + - pinia + - vite + - Vitest + - TypeScript + - developer + - javascript +color: 'rgb(251,87,66)' thumbnail: /images/posts/2023-03-31-retour-vue-amsterdam-2023/vue_amsterdam_logo.jpeg +author: + - pl_perez + - l_penaguin + - c_berard +date: '2023-03-31' --- C’est dans le Theater Amsterdam que se sont dĂ©roulĂ©s ces deux jours de VueJS Amsterdam, Ă©vĂ©nement faisant partie de la JSWorld Conference, durant toute la semaine. diff --git a/_posts/2023-04-03-kubernetes-community-days.md b/astro/src/content/blog/2023-04-03-kubernetes-community-days.md similarity index 96% rename from _posts/2023-04-03-kubernetes-community-days.md rename to astro/src/content/blog/2023-04-03-kubernetes-community-days.md index 49c9dcb0c..a1ea72567 100644 --- a/_posts/2023-04-03-kubernetes-community-days.md +++ b/astro/src/content/blog/2023-04-03-kubernetes-community-days.md @@ -1,11 +1,18 @@ --- -layout: post title: Bedrock au Kubernetes Community Days France 2023 description: Notre retour sur cette Ă©dition de Kubernetes Community Days en France +tags: + - kubernetes + - cloud + - devops + - opensource + - community + - conference + - rex +color: 'rgb(251,87,66)' +thumbnail: images/posts/2023-kcd-france/KCD_LOGO_2023-color-2000px.png author: c_vanderzwaard -tags: [kubernetes, cloud, devops, opensource, community, conference, rex] -color: rgb(251,87,66) -thumbnail: "images/posts/2023-kcd-france/KCD_LOGO_2023-color-2000px.png" +date: '2023-04-03' --- La premiĂšre Ă©dition de KCD (Kubernetes Community Days) en France s’est dĂ©roulĂ©e le 7 mars au Centre Pompidou et rassemblant prĂšs de 1000 participants pour une belle journĂ©e de confĂ©rences. diff --git a/_posts/2023-04-20-aws-summit-paris-2023.md b/astro/src/content/blog/2023-04-20-aws-summit-paris-2023.md similarity index 97% rename from _posts/2023-04-20-aws-summit-paris-2023.md rename to astro/src/content/blog/2023-04-20-aws-summit-paris-2023.md index 1f6bcb8b4..671be299c 100644 --- a/_posts/2023-04-20-aws-summit-paris-2023.md +++ b/astro/src/content/blog/2023-04-20-aws-summit-paris-2023.md @@ -1,11 +1,24 @@ --- -layout: post title: Bedrock Ă  l'AWS Summit Paris 2023 description: Notre retour sur cette Ă©dition 2023 de l'AWS Summit Paris -author: [p_martin, l_caillet, v_chabrier] -tags: [kubernetes, cloud, devops, opensource, community, conference, aws, summit, paris, 2023] -color: rgb(251,87,66) -thumbnail: "/images/posts/2023-04-20-aws-summit-paris-2023/aws-summit-2023-keynote.jpg" +tags: + - kubernetes + - cloud + - devops + - opensource + - community + - conference + - aws + - summit + - paris + - 2023 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2023-04-20-aws-summit-paris-2023/aws-summit-2023-keynote.jpg +author: + - p_martin + - l_caillet + - v_chabrier +date: '2023-04-20' --- L’AWS Summit Paris 2023 s’est dĂ©roulĂ© le 4 avril. C’était pour nous l’occasion de dĂ©couvrir les derniĂšres innovations au cƓur des services AWS, comme la solution d’IA d’aide au dĂ©veloppement nommĂ©e CodeWhisperer. De plus, [Pascal Martin, Principal Engineer](https://twitter.com/pascal_martin), y assistait aussi en tant que speaker pour partager notre expĂ©rience en conception et maintenance de SystĂšmes DistribuĂ©s. diff --git a/_posts/2023-04-25-mixit-lyon-2023.md b/astro/src/content/blog/2023-04-25-mixit-lyon-2023.md similarity index 97% rename from _posts/2023-04-25-mixit-lyon-2023.md rename to astro/src/content/blog/2023-04-25-mixit-lyon-2023.md index b5a56792d..ff22835cd 100644 --- a/_posts/2023-04-25-mixit-lyon-2023.md +++ b/astro/src/content/blog/2023-04-25-mixit-lyon-2023.md @@ -1,11 +1,15 @@ --- -layout: post title: Bedrock Ă  MiXiT Lyon (2023) description: Nous Ă©tions Ă  MiXiT pour l'Ă©dition 2023 ! +tags: + - conference + - lyon + - tech + - agilitĂ© +color: 'rgb(251,87,66)' +thumbnail: /images/posts/mixit-2023/mixit-2023.jpg author: al_deboissieu -tags: [conference, lyon, tech, agilitĂ©] -color: rgb(251,87,66) -thumbnail: "/images/posts/mixit-2023/mixit-2023.jpg" +date: '2023-04-25' --- Nous Ă©tions prĂ©sent les 13 et 14 avril 2023 Ă  CPE pour l'Ă©dition de MiXiT 2023, pour suivre les diff --git a/_posts/2023-06-06-afup-day-lyon-2023.md b/astro/src/content/blog/2023-06-06-afup-day-lyon-2023.md similarity index 98% rename from _posts/2023-06-06-afup-day-lyon-2023.md rename to astro/src/content/blog/2023-06-06-afup-day-lyon-2023.md index 6ff5b60bc..b17a39d27 100644 --- a/_posts/2023-06-06-afup-day-lyon-2023.md +++ b/astro/src/content/blog/2023-06-06-afup-day-lyon-2023.md @@ -1,11 +1,16 @@ --- -layout: post title: Bedrock Ă  l'AFUP Day Lyon (2023) description: Nous Ă©tions Ă  l'AFUP Day Ă  Lyon pour l'Ă©dition 2023 ! +tags: + - conference + - lyon + - tech + - php + - afup +color: 'rgb(251,87,66)' +thumbnail: /images/posts/afup-day-lyon-2023/thumbnail.jpg author: team_backend -tags: [conference, lyon, tech, php, afup] -color: rgb(251,87,66) -thumbnail: "/images/posts/afup-day-lyon-2023/thumbnail.jpg" +date: '2023-06-06' --- Comme Ă  l'accoutumĂ©e, les Ă©quipes backend de Bedrock Ă©taient prĂ©sentes le 12 mai 2023 Ă  CPE (au Campus Lyontech) pour une nouvelle Ă©dition de l'AFUP Day. diff --git a/_posts/2023-06-19-android-makers-23.md b/astro/src/content/blog/2023-06-19-android-makers-23.md similarity index 96% rename from _posts/2023-06-19-android-makers-23.md rename to astro/src/content/blog/2023-06-19-android-makers-23.md index cc77b0cd4..81f6d2c1e 100644 --- a/_posts/2023-06-19-android-makers-23.md +++ b/astro/src/content/blog/2023-06-19-android-makers-23.md @@ -1,12 +1,20 @@ --- -layout: post title: Deux jours Ă  Android Makers by Droidcon 2023 -description: "Les Ă©quipes Android de Bedrock Ă©taient Ă  Android Makers 2023 − on vous rĂ©sume tout." -author: [b_candellier, a_pitel] -tags: [android, mobile, conference, makers] -color: rgb(254,91,73) +description: >- + Les Ă©quipes Android de Bedrock Ă©taient Ă  Android Makers 2023 − on vous rĂ©sume + tout. +tags: + - android + - mobile + - conference + - makers +color: 'rgb(254,91,73)' language: fr -thumbnail: "/images/posts/2023-06-19-android-makers-23/cover.jpg" +thumbnail: /images/posts/2023-06-19-android-makers-23/cover.jpg +author: + - b_candellier + - a_pitel +date: '2023-06-19' --- Il y a quelques semaines dĂ©jĂ , nous avons pu nous rendre Ă  LA confĂ©rence annuelle Android en France : Android Makers. ConfĂ©rence qui s'associe tout juste avec une initiative un peu plus internationale qui est DroidCon (cf. [notre prĂ©cĂ©dent article](https://tech.bedrockstreaming.com/2022/11/22/droidcon-london-2022.html), par exemple). diff --git a/_posts/2023-07-07-gradle-convention-plugins.md b/astro/src/content/blog/2023-07-07-gradle-convention-plugins.md similarity index 97% rename from _posts/2023-07-07-gradle-convention-plugins.md rename to astro/src/content/blog/2023-07-07-gradle-convention-plugins.md index 13d12ef25..a62672c54 100644 --- a/_posts/2023-07-07-gradle-convention-plugins.md +++ b/astro/src/content/blog/2023-07-07-gradle-convention-plugins.md @@ -1,13 +1,18 @@ --- -layout: post -title: You Need a Custom Gradle Plugin, and Here’s Why -description: Convention plugins are the recommended way to modularize your builds. Let's see how to write one. -author: b_candellier -tags: [android, gradle, plugin] -color: rgb(17, 46, 56) +title: 'You Need a Custom Gradle Plugin, and Here’s Why' +description: >- + Convention plugins are the recommended way to modularize your builds. Let's + see how to write one. +tags: + - android + - gradle + - plugin +color: 'rgb(17, 46, 56)' language: en -thumbnail: "/images/posts/2023-07-07-gradle-convention-plugins/cover.jpg" -feature-img: "/images/posts/2023-07-07-gradle-convention-plugins/cover.jpg" +thumbnail: /images/posts/2023-07-07-gradle-convention-plugins/cover.jpg +featureImg: /images/posts/2023-07-07-gradle-convention-plugins/cover.jpg +author: b_candellier +date: '2023-07-07' --- In the last couple of years, Gradle has been encouraging developers to work towards modularizing their projects. Of course, when effectively implemented, this approach offers several advantages, with build parallelization being a significant factor. diff --git a/_posts/2023-07-10-gophercon-eu-2023-a-berlin.md b/astro/src/content/blog/2023-07-10-gophercon-eu-2023-a-berlin.md similarity index 98% rename from _posts/2023-07-10-gophercon-eu-2023-a-berlin.md rename to astro/src/content/blog/2023-07-10-gophercon-eu-2023-a-berlin.md index 70bff0e50..cd8d0941d 100644 --- a/_posts/2023-07-10-gophercon-eu-2023-a-berlin.md +++ b/astro/src/content/blog/2023-07-10-gophercon-eu-2023-a-berlin.md @@ -1,11 +1,15 @@ --- -layout: post title: Bedrock Ă  la GopherCon EU (2023) description: Nous Ă©tions Ă  Berlin pour l'Ă©dition 2023 de la GopherCon EU ! +tags: + - conference + - berlin + - tech + - go +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2023-07-10-gophercon-eu-2023-a-berlin/thumbnail.jpg author: team_backend -tags: [conference, berlin, tech, go] -color: rgb(251,87,66) -thumbnail: "/images/posts/2023-07-10-gophercon-eu-2023-a-berlin/thumbnail.jpg" +date: '2023-07-10' --- Depuis maintenant presque 1 an, la verticale Backend de Bedrock, s'ouvre Ă  d'autres langages de programmation que PHP, Ă  diff --git a/_posts/2023-08-11-we-love-speed-2023.md b/astro/src/content/blog/2023-08-11-we-love-speed-2023.md similarity index 99% rename from _posts/2023-08-11-we-love-speed-2023.md rename to astro/src/content/blog/2023-08-11-we-love-speed-2023.md index bed846dc3..39b7269f0 100644 --- a/_posts/2023-08-11-we-love-speed-2023.md +++ b/astro/src/content/blog/2023-08-11-we-love-speed-2023.md @@ -1,11 +1,15 @@ --- -layout: post -title: "Bedrock at We Love Speed 2023" +title: Bedrock at We Love Speed 2023 description: We tell you all about web performance in 2023! -author: team_frontend -tags: [conference, paris, tech, webperf] -color: rgb(251,87,66) +tags: + - conference + - paris + - tech + - webperf +color: 'rgb(251,87,66)' thumbnail: /images/posts/we-love-speed-2023/thumbnail.jpeg +author: team_frontend +date: '2023-08-11' --- The Frontend Bedrock teams were present at the 2023 edition of the _We Love Speed_ conference in Paris on May 10. Its aim is to share as widely as possible knowledge and experience in the field of web performance. diff --git a/_posts/2023-08-12-gophercon-uk-london-2023.md b/astro/src/content/blog/2023-08-12-gophercon-uk-london-2023.md similarity index 99% rename from _posts/2023-08-12-gophercon-uk-london-2023.md rename to astro/src/content/blog/2023-08-12-gophercon-uk-london-2023.md index 0f8690eff..5f2c26231 100644 --- a/_posts/2023-08-12-gophercon-uk-london-2023.md +++ b/astro/src/content/blog/2023-08-12-gophercon-uk-london-2023.md @@ -1,11 +1,16 @@ --- -layout: post -title: "GopherCon UK 2023 highlights" +title: GopherCon UK 2023 highlights description: My highlights of GopherCon UK 2023 -author: pa_bedu -tags: [conference, london, tech, golang, go] -color: rgb(251,87,66) +tags: + - conference + - london + - tech + - golang + - go +color: 'rgb(251,87,66)' thumbnail: /images/posts/gopherconuk2023/IMG_6877.jpeg +author: pa_bedu +date: '2023-08-12' --- Hello there! I'm Pierre-Alain, a senior back-end developer at Bedrock and I had the opportunity to go to London for the GopherCon UK. diff --git a/_posts/2023-10-20-forum-php-afup-2023.md b/astro/src/content/blog/2023-10-20-forum-php-afup-2023.md similarity index 98% rename from _posts/2023-10-20-forum-php-afup-2023.md rename to astro/src/content/blog/2023-10-20-forum-php-afup-2023.md index 1f4c675e4..9dd867066 100644 --- a/_posts/2023-10-20-forum-php-afup-2023.md +++ b/astro/src/content/blog/2023-10-20-forum-php-afup-2023.md @@ -1,13 +1,17 @@ --- -layout: post -title: "Bedrock au Forum PHP 2023" -description: "Nos retours du Forum PHP Ă  Paris, les 12 et 13 octobre 2023" -author: team_backend -tags: [afup, php, forumphp, conference] -color: rgb(251,87,66) -thumbnail: "images/posts/forumphp2023/header.jpg" +title: Bedrock au Forum PHP 2023 +description: 'Nos retours du Forum PHP Ă  Paris, les 12 et 13 octobre 2023' +tags: + - afup + - php + - forumphp + - conference +color: 'rgb(251,87,66)' +thumbnail: images/posts/forumphp2023/header.jpg language: fr comments: true +author: team_backend +date: '2023-10-20' --- Cette annĂ©e encore, Bedrock Ă©tait prĂ©sent au Forum PHP pour cette Ă©dition 2023. diff --git a/_posts/2023-11-14-swift-concurrency-in-a-nutshell.md b/astro/src/content/blog/2023-11-14-swift-concurrency-in-a-nutshell.md similarity index 99% rename from _posts/2023-11-14-swift-concurrency-in-a-nutshell.md rename to astro/src/content/blog/2023-11-14-swift-concurrency-in-a-nutshell.md index eeef7b872..8f579d8bb 100644 --- a/_posts/2023-11-14-swift-concurrency-in-a-nutshell.md +++ b/astro/src/content/blog/2023-11-14-swift-concurrency-in-a-nutshell.md @@ -1,11 +1,16 @@ --- -layout: post title: Swift Concurrency in a Nutshell -description: This article offers an overview of Swift's Concurrency, detailing its main features and principles. -author: d_petrilli -tags: [swift, apple, xcode] -color: rgb(251,87,66) # this is Bedrock color here +description: >- + This article offers an overview of Swift's Concurrency, detailing its main + features and principles. +tags: + - swift + - apple + - xcode +color: 'rgb(251,87,66)' thumbnail: /images/posts/2023-11-14-swift-concurrency-in-a-nutshell/thumbnail.jpg +author: d_petrilli +date: '2023-11-14' --- As modern apps grow in complexity and features, the need for multitasking to enhance the user experience becomes evident. Whether processing large datasets or querying multiple systems over the network, concurrency is essential. diff --git a/_posts/2023-12-05-android-14.md b/astro/src/content/blog/2023-12-05-android-14.md similarity index 98% rename from _posts/2023-12-05-android-14.md rename to astro/src/content/blog/2023-12-05-android-14.md index 449e2b718..adc5e9b63 100644 --- a/_posts/2023-12-05-android-14.md +++ b/astro/src/content/blog/2023-12-05-android-14.md @@ -1,12 +1,17 @@ --- -layout: post title: Android 14 is out -description: "Android 14 changes impacts" -author: [c_goffoy] -tags: [android, mobile, google, "14"] -color: rgb(254,91,73) +description: Android 14 changes impacts +tags: + - android + - mobile + - google + - '14' +color: 'rgb(254,91,73)' language: en -thumbnail: "/images/posts/2023-12-05-android-14/header.png" +thumbnail: /images/posts/2023-12-05-android-14/header.png +author: + - c_goffoy +date: '2023-12-05' --- Here’s what it means for users and developers. diff --git a/_posts/2023-12-18-aws-reinvent-lasvegas-2023.md b/astro/src/content/blog/2023-12-18-aws-reinvent-lasvegas-2023.md similarity index 96% rename from _posts/2023-12-18-aws-reinvent-lasvegas-2023.md rename to astro/src/content/blog/2023-12-18-aws-reinvent-lasvegas-2023.md index 57fa83a8a..3b38394f7 100644 --- a/_posts/2023-12-18-aws-reinvent-lasvegas-2023.md +++ b/astro/src/content/blog/2023-12-18-aws-reinvent-lasvegas-2023.md @@ -1,11 +1,24 @@ --- -layout: post -title: Bedrock at 2023 AWS re:Invent Las Vegas -description: A look back at the 2023 edition of the Las Vegas AWS re:Invent -author: [a_ferez, v_chabrier] -tags: [kubernetes, cloud, devops, opensource, community, conference, aws, re:invent, las vegas, 2023] -color: rgb(251,87,66) -thumbnail: "/images/posts/2023-12-18-aws-reinvent-lasvegas-2023/aws-reinvent-2023-cover.jpeg" +title: 'Bedrock at 2023 AWS re:Invent Las Vegas' +description: 'A look back at the 2023 edition of the Las Vegas AWS re:Invent' +tags: + - kubernetes + - cloud + - devops + - opensource + - community + - conference + - aws + - 're:invent' + - las vegas + - 2023 +color: 'rgb(251,87,66)' +thumbnail: >- + /images/posts/2023-12-18-aws-reinvent-lasvegas-2023/aws-reinvent-2023-cover.jpeg +author: + - a_ferez + - v_chabrier +date: '2023-12-18' --- diff --git a/_posts/2023-12-20-api-days-paris-2023.md b/astro/src/content/blog/2023-12-20-api-days-paris-2023.md similarity index 98% rename from _posts/2023-12-20-api-days-paris-2023.md rename to astro/src/content/blog/2023-12-20-api-days-paris-2023.md index 4777ce6cf..c23868a9f 100644 --- a/_posts/2023-12-20-api-days-paris-2023.md +++ b/astro/src/content/blog/2023-12-20-api-days-paris-2023.md @@ -1,12 +1,24 @@ --- -layout: post title: Bedrock aux API Days Paris (2023) description: Nous Ă©tions aux API Days Ă  Paris pour l'Ă©dition 2023 ! -author: [g_bouyge, j_hardeman, k_phan, n_alscher, o_thebault, o_weber, t_geindre] -tags: [conference, paris, tech, api, eda] -color: rgb(251,87,66) -thumbnail: "/images/posts/api-days-paris-2023/welcome-to-api-days-paris.png" -permalink: api-days-paris-2023 +tags: + - conference + - paris + - tech + - api + - eda +color: 'rgb(251,87,66)' +thumbnail: /images/posts/api-days-paris-2023/welcome-to-api-days-paris.png +author: + - g_bouyge + - j_hardeman + - k_phan + - n_alscher + - o_thebault + - o_weber + - t_geindre +date: '2023-12-20' +permalinkOverride: api-days-paris-2023 --- Cette annĂ©e Bedrock a envoyĂ© 7 de ses collaborateurs et collaboratrices (i.e. nous, les auteurs de cet article) Ă  l'Ă©dition 2023 des confĂ©rences "API Days" Ă  Paris. diff --git a/_posts/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md b/astro/src/content/blog/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md similarity index 97% rename from _posts/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md rename to astro/src/content/blog/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md index 5bd46aa1f..59040cc5a 100644 --- a/_posts/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md +++ b/astro/src/content/blog/2024-01-10-journal-de-l-alternant-comment-jai-perdu-mes-dependences-pnpm.md @@ -1,11 +1,16 @@ --- -layout: post title: Journal de l'alternant - Comment j'ai perdu mes dĂ©pendances pnpm -description: "Comment la non-comprĂ©hension du hoisting m'a fait perdre des dĂ©pendances" -author: [j_poissonnet] -tags: [pnpm, hoisting, node_modules, alternant] -color: rgb(254,91,73) +description: Comment la non-comprĂ©hension du hoisting m'a fait perdre des dĂ©pendances +tags: + - pnpm + - hoisting + - node_modules + - alternant +color: 'rgb(254,91,73)' language: fr +author: + - j_poissonnet +date: '2024-01-10' --- À Bedrock, on m’a chargĂ© de faire un POC ([proof of concept](https://fr.wikipedia.org/wiki/Preuve_de_concept)) pour tester les avantages et les limites d’un double run entre notre app cĂŽtĂ© web (sur [une base maison React Server Side Rendering](https://tech.bedrockstreaming.com/2017/05/17/spa-mode-isomorphism-js.html)) en dĂ©lĂ©guant des pages progressivement vers une app [Next.js](https://nextjs.org/). Étant tout nouveau dans le dev et encore plus nouveau sur le projet, ma vie ces derniers temps est une suite d’obstacles, d’essais, d’erreurs et de triomphes (pas toujours, mais souvent) bien mĂ©ritĂ©s. Je suis habituĂ© Ă  faire des erreurs plus lunaires les unes que les autres, mais je vais m’attarder dans cet article sur une erreur qui m’a retournĂ© le cerveau. Au menu : erreurs soudaines, dĂ©pendances disparues et dĂ©sespoir
 Bonne lecture. diff --git a/_posts/2024-04-09-kubecon-europe-2024.md b/astro/src/content/blog/2024-04-09-kubecon-europe-2024.md similarity index 97% rename from _posts/2024-04-09-kubecon-europe-2024.md rename to astro/src/content/blog/2024-04-09-kubecon-europe-2024.md index 7683ada56..d0d195efa 100644 --- a/_posts/2024-04-09-kubecon-europe-2024.md +++ b/astro/src/content/blog/2024-04-09-kubecon-europe-2024.md @@ -1,11 +1,24 @@ --- -layout: post -title: KubeCon Europe 2024, Paris -description: A few notes and ideas, coming back from KubeCon EU 2024 Paris. -author: [g_sanchez, j_menan, l_caillet, p_martin, v_chabrier, v_pelus] -tags: [kubernetes, cloud, devops, opensource, community, conference, 2024] -color: rgb(251,87,66) -thumbnail: "/images/posts/2024-04-09-kubecon-europe-2024/bienvenue-kubecon.jpeg" +title: 'KubeCon Europe 2024, Paris' +description: 'A few notes and ideas, coming back from KubeCon EU 2024 Paris.' +tags: + - kubernetes + - cloud + - devops + - opensource + - community + - conference + - 2024 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2024-04-09-kubecon-europe-2024/bienvenue-kubecon.jpeg +author: + - g_sanchez + - j_menan + - l_caillet + - p_martin + - v_chabrier + - v_pelus +date: '2024-04-09' --- Two weeks ago, six of us were at KubeCon in Paris. For a few, it was their first KubeCon! For one, it was the fourth one. Since Copenhagen in 2018, which was before we started [moving to AWS and Kubernetes](https://leanpub.com/tci/), so much has changed -- and so much has not ;-) diff --git a/_posts/2024-04-17-qcon-london-2024.md b/astro/src/content/blog/2024-04-17-qcon-london-2024.md similarity index 96% rename from _posts/2024-04-17-qcon-london-2024.md rename to astro/src/content/blog/2024-04-17-qcon-london-2024.md index 6d91207a3..62288edd1 100644 --- a/_posts/2024-04-17-qcon-london-2024.md +++ b/astro/src/content/blog/2024-04-17-qcon-london-2024.md @@ -1,11 +1,18 @@ --- -layout: post title: QCon London 2024 -description: A few notes and ideas, coming back from this QCon conference at London. -author: [c_petit, j_foray, v_gallissot] -tags: [cloud, devops, conference, 2024] -color: rgb(251,87,66) -thumbnail: "/images/posts/2024-04-17-qcon-london-2024/2024-04-09-Qcon-London-arrival.jpg" +description: 'A few notes and ideas, coming back from this QCon conference at London.' +tags: + - cloud + - devops + - conference + - 2024 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2024-04-17-qcon-london-2024/2024-04-09-Qcon-London-arrival.jpg +author: + - c_petit + - j_foray + - v_gallissot +date: '2024-04-17' --- We really enjoyed this [QCon conference in London](https://qconlondon.com/). It's based on 5 tracks a day, covering resilience, scalability, architecture, monitoring, performance, management and all the subjects that speak to tech companies. None of these tracks are sponsored: they're all about feedback, with no marketing whatsoever. There is a 6th track where sponsorship is permitted, and it's the only one. There aren't many sponsorship stands, and you go to this conference to talk to your peers first and foremost. diff --git a/_posts/2024-07-18-gophercon-eu-berlin-2024.md b/astro/src/content/blog/2024-07-18-gophercon-eu-berlin-2024.md similarity index 96% rename from _posts/2024-07-18-gophercon-eu-berlin-2024.md rename to astro/src/content/blog/2024-07-18-gophercon-eu-berlin-2024.md index 92ca5854f..9d91d9a13 100644 --- a/_posts/2024-07-18-gophercon-eu-berlin-2024.md +++ b/astro/src/content/blog/2024-07-18-gophercon-eu-berlin-2024.md @@ -1,11 +1,25 @@ --- -layout: post title: Bedrock GopherCon Berlin 2024 -description: The 2024 GopherCon Europe took place in Berlin. Four of us had the opportunity to take part in the event in-person while others could attend the talks virtually. -author: [k_phan, m_millet, n_boiron, pa_bedu, t_geindre, y_chauvel] -tags: [golang, opensource, community, conference, 2024] -color: rgb(251,87,66) -thumbnail: "/images/posts/2024-07-18-gophercon-eu-berlin-2024/thumbnail.png" +description: >- + The 2024 GopherCon Europe took place in Berlin. Four of us had the opportunity + to take part in the event in-person while others could attend the talks + virtually. +tags: + - golang + - opensource + - community + - conference + - 2024 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2024-07-18-gophercon-eu-berlin-2024/thumbnail.png +author: + - k_phan + - m_millet + - n_boiron + - pa_bedu + - t_geindre + - y_chauvel +date: '2024-07-18' --- The 2024 GopherCon Europe took place in Berlin. Four of us had the opportunity to take part in the event in-person while diff --git a/_posts/2024-07-26-bedrock-dev-facts-20.md b/astro/src/content/blog/2024-07-26-bedrock-dev-facts-20.md similarity index 98% rename from _posts/2024-07-26-bedrock-dev-facts-20.md rename to astro/src/content/blog/2024-07-26-bedrock-dev-facts-20.md index 3a43a71d0..3ab8307ee 100644 --- a/_posts/2024-07-26-bedrock-dev-facts-20.md +++ b/astro/src/content/blog/2024-07-26-bedrock-dev-facts-20.md @@ -1,11 +1,12 @@ --- -layout: post -title: "Bedrock Dev Facts #20" -description: "Les plus belles phrases de nos Ă©quipes techniques" -author: bedrock -category: -tags: [devfacts, humour] -color: rgb(251,87,66) +title: 'Bedrock Dev Facts #20' +description: Les plus belles phrases de nos Ă©quipes techniques +tags: + - devfacts + - humour +color: 'rgb(251,87,66)' +author: bedrock +date: '2024-07-26' --- Bien que cela fasse prĂšs de 18 mois que nous n'avons pas publiĂ© une nouvelle fournĂ©e de Dev Facts, nos Ă©quipes ont continuĂ©s Ă  alimenter la pile des perles des dĂ©veloppeurs. @@ -278,4 +279,4 @@ Et du coup, double fournĂ©e !! > Mais quoi ? Zelda c'est pas le personnage principal qu'on joue dans Zelda ## Et le meilleur pour la fin -> Y a peu de temps j'Ă©tais en train de faire du python, lĂ  je reviens sur du JS. Et du coup je suis en train de debugger mon site, quand d'un coup sans que je comprenne pourquoi Ă  chaque fois que je le reload il imprime une feuille de papier. J'ai mis une heure Ă  chercher avant de voir que par rĂ©flexe, j'ai debuggĂ© mon code en utilisant la commande `print` au lieu de faire un `console.log` \ No newline at end of file +> Y a peu de temps j'Ă©tais en train de faire du python, lĂ  je reviens sur du JS. Et du coup je suis en train de debugger mon site, quand d'un coup sans que je comprenne pourquoi Ă  chaque fois que je le reload il imprime une feuille de papier. J'ai mis une heure Ă  chercher avant de voir que par rĂ©flexe, j'ai debuggĂ© mon code en utilisant la commande `print` au lieu de faire un `console.log` diff --git a/_posts/2024-08-07-euro-resiliency-special-event-page.md b/astro/src/content/blog/2024-08-07-euro-resiliency-special-event-page.md similarity index 95% rename from _posts/2024-08-07-euro-resiliency-special-event-page.md rename to astro/src/content/blog/2024-08-07-euro-resiliency-special-event-page.md index e38ee27b8..cfede0740 100644 --- a/_posts/2024-08-07-euro-resiliency-special-event-page.md +++ b/astro/src/content/blog/2024-08-07-euro-resiliency-special-event-page.md @@ -1,11 +1,19 @@ --- -layout: post title: How Special Event Page allowed us to handle more than 1 million of users -description: "Earlier this year took place the Euro: with the increase of traffic that was expected, we developed a way to both enhance user experience, allowing them to access easier than ever their soccer match, and protect our backend servers at the same time. But how did we do that ?" -author: bedrock -tags: [ resilience, frontend, back-for-front, 2024 ] -color: rgb(251,87,66) -thumbnail: "/images/posts/2024-08-07-euro-resiliency-special-event-page/Euro2024.png" +description: >- + Earlier this year took place the Euro: with the increase of traffic that was + expected, we developed a way to both enhance user experience, allowing them to + access easier than ever their soccer match, and protect our backend servers at + the same time. But how did we do that ? +tags: + - resilience + - frontend + - back-for-front + - 2024 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2024-08-07-euro-resiliency-special-event-page/Euro2024.png +author: bedrock +date: '2024-08-07' --- Earlier this year took place the [Euro soccer competition](https://www.uefa.com/euro2024/), spanning over a month and with thousands of people tuning all over the world to watch the matches. One of our customers, [M6+](https://www.6play.fr/), was streaming several of these games - And during the competition, hundreds of thousands of browsers, phones and TVs were able to seamlessly stream the matches with no major issue at all. It was, however, no easy feat to reach that state. How did we do that? What were the challenges we faced, the solutions we envisioned? In this article, we'll discuss one of the features we developed specifically for the Euro: something that we called the **"Special Event Page"**. diff --git a/_posts/2024-08-20-js-nation-react-summit-2024.md b/astro/src/content/blog/2024-08-20-js-nation-react-summit-2024.md similarity index 97% rename from _posts/2024-08-20-js-nation-react-summit-2024.md rename to astro/src/content/blog/2024-08-20-js-nation-react-summit-2024.md index 344a5049b..20ae2fbd8 100644 --- a/_posts/2024-08-20-js-nation-react-summit-2024.md +++ b/astro/src/content/blog/2024-08-20-js-nation-react-summit-2024.md @@ -1,11 +1,17 @@ --- -layout: post title: JS Nation x React Summit 2024 highlights -description: "A few notes on the combo JS Nation x React Summit Amsterdam 2024 conferences" -author: [f_dubost, y_frommelt] -tags: [conference, frontend, react, javascript] -feature-img: "/images/posts/2024-08-20-js-nation-react-summit-2024/reactSummit.png" -thumbnail: "/images/posts/2024-08-20-js-nation-react-summit-2024/teamBedrock.jpg" +description: A few notes on the combo JS Nation x React Summit Amsterdam 2024 conferences +tags: + - conference + - frontend + - react + - javascript +featureImg: /images/posts/2024-08-20-js-nation-react-summit-2024/reactSummit.png +thumbnail: /images/posts/2024-08-20-js-nation-react-summit-2024/teamBedrock.jpg +author: + - f_dubost + - y_frommelt +date: '2024-08-20' --- The Frontend Bedrock teams were present at the 2024 edition of the _JS Nation_ and _React Summit_ conferences in Amsterdam on 13 & 14 June. We would like to highlight and share some of the subjects we find relevant about our favourite language and framework 🙂 Feel free to explore them further if you are interested. diff --git a/_posts/2024-08-22-how-to-manage-hundreds-of-templates.md b/astro/src/content/blog/2024-08-22-how-to-manage-hundreds-of-templates.md similarity index 95% rename from _posts/2024-08-22-how-to-manage-hundreds-of-templates.md rename to astro/src/content/blog/2024-08-22-how-to-manage-hundreds-of-templates.md index 1b28de7e2..adb90527f 100644 --- a/_posts/2024-08-22-how-to-manage-hundreds-of-templates.md +++ b/astro/src/content/blog/2024-08-22-how-to-manage-hundreds-of-templates.md @@ -1,13 +1,22 @@ --- -layout: post title: How to manage hundreds of view templates? -description: Let’s dive together into the depths of a large scale template versioning for a white label streaming application. -author: [d_cuny, m_oudji] -tags: [android, versioning, design, atomic design, design system] -color: rgb(251,87,66) +description: >- + Let’s dive together into the depths of a large scale template versioning for a + white label streaming application. +tags: + - android + - versioning + - design + - atomic design + - design system +color: 'rgb(251,87,66)' language: en -thumbnail: "/images/posts/2024-08-22-how-to-manage-hundreds-of-templates/thumbnail.png" -feature-img: "/images/posts/2024-08-22-how-to-manage-hundreds-of-templates/thumbnail.png" +thumbnail: /images/posts/2024-08-22-how-to-manage-hundreds-of-templates/thumbnail.png +featureImg: /images/posts/2024-08-22-how-to-manage-hundreds-of-templates/thumbnail.png +author: + - d_cuny + - m_oudji +date: '2024-08-22' --- Let’s dive together into the depths of a large scale template versioning for a white label streaming application. diff --git a/_posts/2024-10-03-enhancing-production-monitoring-with-newrelic.md b/astro/src/content/blog/2024-10-03-enhancing-production-monitoring-with-newrelic.md similarity index 97% rename from _posts/2024-10-03-enhancing-production-monitoring-with-newrelic.md rename to astro/src/content/blog/2024-10-03-enhancing-production-monitoring-with-newrelic.md index 7ea0ba231..15b7a0189 100644 --- a/_posts/2024-10-03-enhancing-production-monitoring-with-newrelic.md +++ b/astro/src/content/blog/2024-10-03-enhancing-production-monitoring-with-newrelic.md @@ -1,12 +1,22 @@ --- -layout: post title: Enhancing Production Monitoring with New Relic -description: How did we improve the monitoring practices on the mobile service? Let's find out. -author: [m_benali, m_julieron] -tags: [monitoring, production, newrelic, shared practice, alerting] -color: rgb(251,87,66) +description: >- + How did we improve the monitoring practices on the mobile service? Let's find + out. +tags: + - monitoring + - production + - newrelic + - shared practice + - alerting +color: 'rgb(251,87,66)' language: en -thumbnail: "/images/posts/2024-10-03-enhancing-production-monitoring-with-newrelic/main.png" +thumbnail: >- + /images/posts/2024-10-03-enhancing-production-monitoring-with-newrelic/main.png +author: + - m_benali + - m_julieron +date: '2024-10-03' --- At *Bedrock*, we develop a streaming solution tailored for European media companies. Our application is a customizable white-label product used by millions across Europe. Bedrock’s clients have high expectations for stability, early incident detection, quick resolution, and effective communication during those times. Naturally, our goal is to deliver a stable product, and we dedicate significant effort toward this objective. diff --git a/_posts/2024-10-29-we-love-speed-2024.md b/astro/src/content/blog/2024-10-29-we-love-speed-2024.md similarity index 97% rename from _posts/2024-10-29-we-love-speed-2024.md rename to astro/src/content/blog/2024-10-29-we-love-speed-2024.md index c4d637b33..2d53f25ba 100644 --- a/_posts/2024-10-29-we-love-speed-2024.md +++ b/astro/src/content/blog/2024-10-29-we-love-speed-2024.md @@ -1,12 +1,23 @@ --- -layout: post title: We love speed 2024 ❀ -description: Retour sur la confĂ©rence We love speed 2024 ❀, une confĂ©rence annuelle axĂ©e sur la performance du web. -author: [ j_nginn, j_poissonnet ] -tags: [ performance, conference, webperf, javascript, react, web, frontend ] -color: rgb(251,87,66) +description: >- + Retour sur la confĂ©rence We love speed 2024 ❀, une confĂ©rence annuelle axĂ©e + sur la performance du web. +tags: + - performance + - conference + - webperf + - javascript + - react + - web + - frontend +color: 'rgb(251,87,66)' language: fr -thumbnail: "images/posts/2024-10-29-we-love-speed-2024/welovespeed_2024-1709240237.jpg" +thumbnail: images/posts/2024-10-29-we-love-speed-2024/welovespeed_2024-1709240237.jpg +author: + - j_nginn + - j_poissonnet +date: '2024-10-29' --- Nous avons eu la chance de participer Ă  la confĂ©rence We love speed, une confĂ©rence annuelle axĂ©e sur la diff --git a/_posts/2024-11-07-compute-at-edge-personalize-static-pages.md b/astro/src/content/blog/2024-11-07-compute-at-edge-personalize-static-pages.md similarity index 97% rename from _posts/2024-11-07-compute-at-edge-personalize-static-pages.md rename to astro/src/content/blog/2024-11-07-compute-at-edge-personalize-static-pages.md index 9872dcdba..d78c96102 100644 --- a/_posts/2024-11-07-compute-at-edge-personalize-static-pages.md +++ b/astro/src/content/blog/2024-11-07-compute-at-edge-personalize-static-pages.md @@ -1,10 +1,18 @@ --- -layout: post title: Using Fastly's Compute at-edge to personalize static pre-generated pages -description: How we used Fastly's Compute at-edge and KVStore to personalize static pre-generated pages, during UEFA Euro 2024. -author: [p_martin] -tags: [edge, fastly, cloud, devops, 2024] -color: rgb(251,87,66) +description: >- + How we used Fastly's Compute at-edge and KVStore to personalize static + pre-generated pages, during UEFA Euro 2024. +tags: + - edge + - fastly + - cloud + - devops + - 2024 +color: 'rgb(251,87,66)' +author: + - p_martin +date: '2024-11-07' --- During the [UEFA Euro](https://www.uefa.com/euro2024/) football cup in June and July 2024, M6 broadcasted several matches. Of course, this competition was available, live, on [M6+](https://www.6play.fr/). For every user joining right from the first second and or for all users hearing their neighbors shouting and wanting to re-watch the action, starting a live video stream had to work! @@ -19,7 +27,7 @@ We also worked on reducing load on our backend applications, allowing our platfo All our frontend (web/mobile/TV) applications communicate with our backend components through what we call [BFF](/2022/10/13/bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.html). This BFF then calls many other backend APIs and returns a *layout* that contains everything an app needs. This layout will contain lists of rows and blocks when you are browsing the catalog, or most information required to start a stream when you are trying to do so. -
      +```mermaid flowchart LR user1[User 1] user2[User 2] @@ -42,7 +50,7 @@ flowchart LR api3[API-3] api4[API-4] api5[API-5] -
      +```
      Schema 1: one BFF between frontend apps and backend APIs.
      @@ -71,7 +79,7 @@ Several months before the Euro competition, one of our Principal Engineers had d We reworked our architecture this way: -
      +```mermaid flowchart LR user1[User 1] user2[User 2] @@ -103,7 +111,7 @@ flowchart LR api3[API-3] api4[API-4] api5[API-5] -
      +```
      Schema 2: doing work in front of the BFF.
      @@ -119,7 +127,7 @@ As BFF was already using a Fastly VCL service as its CDN and a VCL service canno This means our CDN architecture was looking like this: -
      +```mermaid flowchart LR users[Users] users --> fastlyVCL @@ -138,7 +146,7 @@ flowchart LR fastlyCompute -- "read
      (with cache)" --> bff bff((BFF)) -
      +```
      Schema 3: chaining a VCL and a compute service.
      @@ -160,7 +168,7 @@ Several months before, one of our Principal Engineers had done a few demos and p So, in both “users” and “subscriptions” projects, we added a DynamoDB Stream on the tables used to store the relevant data. Those streams are read from a couple of Lambda functions *(with retries, batches bisect, dead-letters queues
 all natively handled by AWS)*. And those functions call Fastly’s KVStore API to insert/update/delete data there. We did not forget to deal with the 1000 RPS per KVStore limit. -
      +```mermaid flowchart LR subgraph "API-2 (AWS)" api2[API-2] @@ -184,7 +192,7 @@ flowchart LR subgraph "Fastly CDN" datastore[(Datastore)] end -
      +```
      Schema 4: pushing data asynchronously to Fastly’s KVStores.
      @@ -200,7 +208,7 @@ Looking at the architecture schema shared before, one of our Principal Engineers So, we chose to asynchronously pre-generate the non-personalized layouts, and store them on Amazon S3. S3 would then be used as origin by Fastly Compute. -
      +```mermaid flowchart LR users[Users] users --> fastlyVCL @@ -222,7 +230,7 @@ flowchart LR bff((BFF)) bff -- "Generate static
      files every X minutes" --> s3 -
      +```
      Schema 5: storing non-personalized layouts on Amazon S3.
      diff --git a/_posts/2024-11-12-golab-florence.md b/astro/src/content/blog/2024-11-12-golab-florence.md similarity index 95% rename from _posts/2024-11-12-golab-florence.md rename to astro/src/content/blog/2024-11-12-golab-florence.md index 673cb22a7..c2d4594a3 100644 --- a/_posts/2024-11-12-golab-florence.md +++ b/astro/src/content/blog/2024-11-12-golab-florence.md @@ -1,11 +1,19 @@ --- -layout: post -title: Insights from Golab Conference 2024, Florence -description: TODO -author: [t_geindre, k_phan, j_hardeman] -tags: [golang, opensource, community, conference, 2024] -color: rgb(251,87,66) -thumbnail: "/images/posts/2024-11-12-golab-firenze/firenze.jpg" +title: 'Insights from Golab Conference 2024, Florence' +description: Key takeaways from the talks our team attended at the Golab 2024 conference in Florence, covering Go telemetry, OpenTelemetry, Watermill, generics, TinyGo, DDD and more. +tags: + - golang + - opensource + - community + - conference + - 2024 +color: 'rgb(251,87,66)' +thumbnail: /images/posts/2024-11-12-golab-firenze/firenze.jpg +author: + - t_geindre + - k_phan + - j_hardeman +date: '2024-11-12' --- Attending the [Golab conference](https://golab.io/) in Florence has been a thrilling experience for us as developers. Immersing ourselves in talks by some of the most brilliant minds in the Go community gave us a deeper understanding of advanced concepts, practical libraries, and the future of Go. We’ve summarized the key takeaways from the talks we attended to share some of the valuable lessons and fresh perspectives we gained. diff --git a/_posts/2024-11-22-tvjs-scroll-performance-enhancement.md b/astro/src/content/blog/2024-11-22-tvjs-scroll-performance-enhancement.md similarity index 96% rename from _posts/2024-11-22-tvjs-scroll-performance-enhancement.md rename to astro/src/content/blog/2024-11-22-tvjs-scroll-performance-enhancement.md index 898b089d1..9cab8d08f 100644 --- a/_posts/2024-11-22-tvjs-scroll-performance-enhancement.md +++ b/astro/src/content/blog/2024-11-22-tvjs-scroll-performance-enhancement.md @@ -1,10 +1,19 @@ --- -layout: post title: How we improved scroll performance on Smart TV apps -description: From an R&D project came a new scroll implementation for our Smart TV apps, with better performance and experience. -author: [m_bernier] -tags: [TV, performance, javascript, react, web, frontend] -color: rgb(251,87,66) +description: >- + From an R&D project came a new scroll implementation for our Smart TV apps, + with better performance and experience. +tags: + - TV + - performance + - javascript + - react + - web + - frontend +color: 'rgb(251,87,66)' +author: + - m_bernier +date: '2024-11-22' --- One of the core experiences of a Bedrock app for the end user is browsing the catalog. Scrolling vertically through blocks of content, and scrolling horizontally through lists of items. However, TVs do not offer high performance and provide poor user experience during heavy resource actions. We especially noticed that scrolling horizontally in a list was laggy and unpleasant. This article focuses on performance optimization to enhance the horizontal scroll experience on Smart TVs. @@ -125,4 +134,4 @@ Beyond benchmarks, on-device tests were also conclusive: the scroll is smoother, ![New and more fluid scroll](/images/posts/2024-11-22-tvjs-scroll-performance-enhancement/new-scroll.gif) -This frontend R&D project successfully addressed the scrolling performance issues on TV. The new scrolling solution dramatically improved performance by limiting re-renders. This optimization ensured a smoother scrolling experience, enhancing usability on TV devices. From this experience, we also moved on to implementing the same virtualization on the horizontal scroll of the catalog, which presented its own challenges but was also a success. \ No newline at end of file +This frontend R&D project successfully addressed the scrolling performance issues on TV. The new scrolling solution dramatically improved performance by limiting re-renders. This optimization ensured a smoother scrolling experience, enhancing usability on TV devices. From this experience, we also moved on to implementing the same virtualization on the horizontal scroll of the catalog, which presented its own challenges but was also a success. diff --git a/_posts/2025-02-26-tvjs-accessibility.md b/astro/src/content/blog/2025-02-26-tvjs-accessibility.md similarity index 97% rename from _posts/2025-02-26-tvjs-accessibility.md rename to astro/src/content/blog/2025-02-26-tvjs-accessibility.md index f9ca6a94a..342626490 100644 --- a/_posts/2025-02-26-tvjs-accessibility.md +++ b/astro/src/content/blog/2025-02-26-tvjs-accessibility.md @@ -1,11 +1,22 @@ --- -layout: post -title: How we made our apps more accessible on SmartTVs đŸ“ș -description: In this article, I'm going to share with you how we improved our accessibility score of our apps at _TVJS_. -author: [j_nginn] -tags: [TVJS, smartTV, javascript, react, web, frontend, accessibility, a11y] -color: rgb(251,87,66) +title: "How we made our apps more accessible on SmartTVs \U0001F4FA" +description: >- + In this article, I'm going to share with you how we improved our accessibility + score of our apps at _TVJS_. +tags: + - TVJS + - smartTV + - javascript + - react + - web + - frontend + - accessibility + - a11y +color: 'rgb(251,87,66)' language: en +author: + - j_nginn +date: '2025-02-26' --- Accessibility is at the heart of our concerns, at Bedrock Streaming we work hard to make our applications accessible to everyone. @@ -248,4 +259,4 @@ ___ - RGAA: [https://accessibilite.numerique.gouv.fr](https://accessibilite.numerique.gouv.fr)/ - Accessibility Tools: [Wave](https://wave.webaim.org/) - [Axe](https://www.deque.com/axe/) - [Screen reader](https://www.nvaccess.org/) - [Browser accessibility panel](https://developer.mozilla.org/en-US/docs/Tools/Accessibility_inspector) - HTMLElement.focus(): [https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus) -- WebOS audio guidance: [https://webostv.developer.lge.com/develop/references/luna-service-introduction](https://webostv.developer.lge.com/develop/references/luna-service-introduction) \ No newline at end of file +- WebOS audio guidance: [https://webostv.developer.lge.com/develop/references/luna-service-introduction](https://webostv.developer.lge.com/develop/references/luna-service-introduction) diff --git a/_posts/2025-05-06-bedrock-au-devoxx-2025.md b/astro/src/content/blog/2025-05-06-bedrock-au-devoxx-2025.md similarity index 99% rename from _posts/2025-05-06-bedrock-au-devoxx-2025.md rename to astro/src/content/blog/2025-05-06-bedrock-au-devoxx-2025.md index 79e88b39f..05b2a4ace 100644 --- a/_posts/2025-05-06-bedrock-au-devoxx-2025.md +++ b/astro/src/content/blog/2025-05-06-bedrock-au-devoxx-2025.md @@ -1,12 +1,26 @@ --- -layout: post title: Bedrock au Devoxx 2025 -description: -author: [p_rambaud, f_ferriere, g_damour, b_colin] -tags: [devoxx, conference, event, backend, go, kubernetes, github, IA, openid, oauth2, architecture] -color: rgb(251,87,66) +tags: + - devoxx + - conference + - event + - backend + - go + - kubernetes + - github + - IA + - openid + - oauth2 + - architecture +color: 'rgb(251,87,66)' language: fr -thumbnail: "/images/posts/2025-04-16_devoxx_2025/thumbnail.jpg" +thumbnail: /images/posts/2025-04-16_devoxx_2025/thumbnail.jpg +author: + - p_rambaud + - f_ferriere + - g_damour + - b_colin +date: '2025-05-06' --- Le Devoxx est un Ă©vĂ©nement incontournable pour les dĂ©veloppeurs et les professionnels de la technologie, qui a eu lieu du 16 avril 2025 au 18 avril 2025 au Palais des CongrĂšs de Paris. diff --git a/_posts/2025-05-13-bedrock-au-mixit-2025.md b/astro/src/content/blog/2025-05-13-bedrock-au-mixit-2025.md similarity index 98% rename from _posts/2025-05-13-bedrock-au-mixit-2025.md rename to astro/src/content/blog/2025-05-13-bedrock-au-mixit-2025.md index b5fb325ef..f583a3f67 100644 --- a/_posts/2025-05-13-bedrock-au-mixit-2025.md +++ b/astro/src/content/blog/2025-05-13-bedrock-au-mixit-2025.md @@ -1,11 +1,20 @@ --- -layout: post title: Bedrock au MiXiT 2025 -description: -author: [y_ferlin, p_rambaud, a_moutounet, v_clavreul, h_detang, p_martin] -tags: [conference, lyon, tech, agilitĂ©] -color: rgb(251,87,66) +tags: + - conference + - lyon + - tech + - agilitĂ© +color: 'rgb(251,87,66)' language: fr +author: + - y_ferlin + - p_rambaud + - a_moutounet + - v_clavreul + - h_detang + - p_martin +date: '2025-05-13' --- Bedrock Ă©tait prĂ©sent au [MiXiT 2025](https://mixitconf.org/fr/), les 29 et 30 avril Ă  Lyon. diff --git a/_posts/2025-07-01-video-player-mse-introduction.md b/astro/src/content/blog/2025-07-01-video-player-mse-introduction.md similarity index 95% rename from _posts/2025-07-01-video-player-mse-introduction.md rename to astro/src/content/blog/2025-07-01-video-player-mse-introduction.md index e277589c6..5bc358db6 100644 --- a/_posts/2025-07-01-video-player-mse-introduction.md +++ b/astro/src/content/blog/2025-07-01-video-player-mse-introduction.md @@ -1,12 +1,22 @@ --- -layout: post -title: "Crafting Your Own Streamer: A Hands-on Guide to JavaScript MSE" -description: In this article, I'm going to explain how to enhance your player using the Media Source Extension API. -author: [a_gaudard] -tags: [TVJS, smartTV, web, javascript, frontend, player, video] -color: rgb(251,87,66) +title: 'Crafting Your Own Streamer: A Hands-on Guide to JavaScript MSE' +description: >- + In this article, I'm going to explain how to enhance your player using the + Media Source Extension API. +tags: + - TVJS + - smartTV + - web + - javascript + - frontend + - player + - video +color: 'rgb(251,87,66)' language: en -thumbnail: "/images/posts/2025-07-01-video-player-mse-introduction/thumbnail.jpeg" +thumbnail: /images/posts/2025-07-01-video-player-mse-introduction/thumbnail.jpeg +author: + - a_gaudard +date: '2025-07-01' --- Streaming is now everywhere, an indispensable part of our daily lives, used by almost everyone for entertainment, communication, and learning. It appears effortless, almost magical, as high-quality video instantly appears on our screens. But beneath that seamless playback lies a complex and fascinating architecture of web technologies. Have you ever wondered what truly happens behind the frame to bring those pixels to life, adapting to your network, and ensuring a smooth experience right within your browser? Join us as we pull back the curtain and demystify the magic of modern web video playback. diff --git a/_posts/2025-11-18-performance-now-2025.md b/astro/src/content/blog/2025-11-18-performance-now-2025.md similarity index 96% rename from _posts/2025-11-18-performance-now-2025.md rename to astro/src/content/blog/2025-11-18-performance-now-2025.md index 56f0f02d5..71cadb111 100644 --- a/_posts/2025-11-18-performance-now-2025.md +++ b/astro/src/content/blog/2025-11-18-performance-now-2025.md @@ -1,14 +1,25 @@ --- -layout: post -title: "Performance.now() 2025 - Pragmatic, Magical and Responsible Performance" -description: "Takeaways from the Performance.now() 2025 conference in Amsterdam - investigating runtime costs, modern DevTools and responsible performance." -tags: [performance, conference, webperf, javascript, react, web, frontend] -author: [f_dubost, m_bernier] +title: 'Performance.now() 2025 - Pragmatic, Magical and Responsible Performance' +description: >- + Takeaways from the Performance.now() 2025 conference in Amsterdam - + investigating runtime costs, modern DevTools and responsible performance. +tags: + - performance + - conference + - webperf + - javascript + - react + - web + - frontend cover: /assets/images/perfnow-2025-cover.jpg -color: rgb(251,87,66) +color: 'rgb(251,87,66)' language: en -feature-img: "/images/posts/2025-11-18-performance-now-2025/perfnow-2025-1.jpg" -thumbnail: "/images/posts/2025-11-18-performance-now-2025/perfnow-2025.jpg" +featureImg: /images/posts/2025-11-18-performance-now-2025/perfnow-2025-1.jpg +thumbnail: /images/posts/2025-11-18-performance-now-2025/perfnow-2025.jpg +author: + - f_dubost + - m_bernier +date: '2025-11-18' --- On October 30-31, the Bedrock Web & TV team attended **performance.now() 2025** in Amsterdam, one of the few conferences entirely dedicated to web frontend performance. Two intense days of real-world insights, browser deep-dives and discussions about what “fast” truly means in 2025. diff --git a/_posts/2025-12-22-switching-from-babel-to-swc.md b/astro/src/content/blog/2025-12-22-switching-from-babel-to-swc.md similarity index 97% rename from _posts/2025-12-22-switching-from-babel-to-swc.md rename to astro/src/content/blog/2025-12-22-switching-from-babel-to-swc.md index ddb12ac07..c7c77bffd 100644 --- a/_posts/2025-12-22-switching-from-babel-to-swc.md +++ b/astro/src/content/blog/2025-12-22-switching-from-babel-to-swc.md @@ -1,12 +1,28 @@ --- -layout: post -title: "Switching from Babel to SWC: Balancing performance with modern tools and legacy code" -description: "From Babel to SWC: our journey of migrating from a 10-year-old transpiler to a next-gen compiler, overcoming challenges and achieving build performance improvements." -tags: [swc, babel, JavaScript, react, web, frontend, performance, bundler] -author: [jf_farge, m_alves, t_gianella] -color: rgb(251,87,66) +title: >- + Switching from Babel to SWC: Balancing performance with modern tools and + legacy code +description: >- + From Babel to SWC: our journey of migrating from a 10-year-old transpiler to a + next-gen compiler, overcoming challenges and achieving build performance + improvements. +tags: + - swc + - babel + - JavaScript + - react + - web + - frontend + - performance + - bundler +color: 'rgb(251,87,66)' language: en -thumbnail: "/images/posts/2025-12-22-switching-from-babel-to-swc/thumbnail.jpeg" +thumbnail: /images/posts/2025-12-22-switching-from-babel-to-swc/thumbnail.jpeg +author: + - jf_farge + - m_alves + - t_gianella +date: '2025-12-22' --- Ever since websites started being made essentially from JavaScript, transpiling this code to run in the largest number of different browsers has been an essential step in the build process. From the very beginning, more than ten years ago, the BedrockStreaming web application has relied on [Babel](https://babeljs.io/) for this task. This year we migrated from Babel to its next-gen replacement, [SWC](https://swc.rs/). It was not a smooth ride all the way, so let’s see what challenges we’ve had to overcome and if the payoff was worth the effort! @@ -226,4 +242,4 @@ On a longer-term horizon, we also plan to remove the remaining parts of the lega It’s also worth mentioning that SWC’s documentation can be limited when it comes to more specific or advanced use cases. A big part of this migration involved experimentation, reading source code, and validating assumptions through benchmarks. We hope this article can help others facing similar constraints and reduce some of the friction we encountered along the way. -Throughout this process, our goal was clear: push developer experience as far as possible without compromising the quality of the final production bundle. And while this migration alone already delivers strong gains, it really starts to shine when combined with other optimizations, such as smarter caching strategies. **More on that in a follow-up article.** \ No newline at end of file +Throughout this process, our goal was clear: push developer experience as far as possible without compromising the quality of the final production bundle. And while this migration alone already delivers strong gains, it really starts to shine when combined with other optimizations, such as smarter caching strategies. **More on that in a follow-up article.** diff --git a/_posts/2025-12-23-tvjs-e2e-tests.md b/astro/src/content/blog/2025-12-23-tvjs-e2e-tests.md similarity index 95% rename from _posts/2025-12-23-tvjs-e2e-tests.md rename to astro/src/content/blog/2025-12-23-tvjs-e2e-tests.md index e0533082d..d58c7d4f7 100644 --- a/_posts/2025-12-23-tvjs-e2e-tests.md +++ b/astro/src/content/blog/2025-12-23-tvjs-e2e-tests.md @@ -1,12 +1,21 @@ --- -layout: post -title: "Writing end-to-end tests for a Smart TV app" -description: "REX on stabilising end-to-end tests for a focused based app, using Cypress." -author: [m_bernier] -tags: [smartTV, javascript, react, web, frontend, e2e, testing, cypress] -color: rgb(251,87,66) -feature-img: "/images/posts/2025-12-23-tvjs-e2e-tests/catalog.jpg" +title: Writing end-to-end tests for a Smart TV app +description: 'REX on stabilising end-to-end tests for a focused based app, using Cypress.' +tags: + - smartTV + - javascript + - react + - web + - frontend + - e2e + - testing + - cypress +color: 'rgb(251,87,66)' +featureImg: /images/posts/2025-12-23-tvjs-e2e-tests/catalog.jpg language: en +author: + - m_bernier +date: '2025-12-23' --- End-to-end can be challenging for focus-based interfaces like Smart TV apps that rely on LRUD (Left, Right, Up, Down) navigation. This article shares how the TVJS team overcame the instability in their Cypress test suite by incorporating focus-aware assertions and adapting testing strategies for directional navigation, leading to more reliable and trustworthy automated tests. diff --git a/_posts/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md b/astro/src/content/blog/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md similarity index 96% rename from _posts/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md rename to astro/src/content/blog/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md index 5eeec70a6..367436adb 100644 --- a/_posts/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md +++ b/astro/src/content/blog/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime.md @@ -1,15 +1,27 @@ --- -layout: post -title: "How Blue-Green helped us migrating critical components with zero downtime" -description: "How can you hot change your CNI from VPC CNI to Cilium on your Kubernetes cluster with zero downtime in a production environment?" -author: [v_pelus] -category: -tags: [kubernetes, cloud, HAProxy, aws, cilium, consul, nlb, ebpf, migration, bluegreen] -color: rgb(0, 150, 255) -thumbnail: "/images/posts/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime/main.png" -feature-img: +title: How Blue-Green helped us migrating critical components with zero downtime +description: >- + How can you hot change your CNI from VPC CNI to Cilium on your Kubernetes + cluster with zero downtime in a production environment? +tags: + - kubernetes + - cloud + - HAProxy + - aws + - cilium + - consul + - nlb + - ebpf + - migration + - bluegreen +color: 'rgb(0, 150, 255)' +thumbnail: >- + /images/posts/2026-02-02-how-blue-green-helped-migrating-with-zero-downtime/main.png language: en comments: true +author: + - v_pelus +date: '2026-02-02' --- At Bedrock, we recently migrated our Kubernetes clusters from AWS VPC CNI to Cilium—with zero downtime. By leveraging Blue-Green canary with HAProxy for progressive traffic shifting and Consul for dynamic configuration updates, we achieved a seamless transition to eBPF-powered networking. diff --git a/_posts/2026-02-06-web-homologation-as-app.md b/astro/src/content/blog/2026-02-06-web-homologation-as-app.md similarity index 96% rename from _posts/2026-02-06-web-homologation-as-app.md rename to astro/src/content/blog/2026-02-06-web-homologation-as-app.md index 898c8c0c2..3feb77281 100644 --- a/_posts/2026-02-06-web-homologation-as-app.md +++ b/astro/src/content/blog/2026-02-06-web-homologation-as-app.md @@ -1,12 +1,21 @@ --- -layout: post -title: "Building a Scalable, Multi-Tenant QA Automation Stack at Bedrock Streaming" -description: "We share here QA context, key takeaways and reveal the architecture of the Web homologation stack." -tags: [bdd, frontend, ownership, playwright, QA, web] -author: [m_bayard] -color: rgb(251,87,66) +title: 'Building a Scalable, Multi-Tenant QA Automation Stack at Bedrock Streaming' +description: >- + We share here QA context, key takeaways and reveal the architecture of the Web + homologation stack. +tags: + - bdd + - frontend + - ownership + - playwright + - QA + - web +color: 'rgb(251,87,66)' language: en -thumbnail: "/images/posts/2026-02-06-web-homologation-as-app/homologation_qa_web_10.jpg" +thumbnail: /images/posts/2026-02-06-web-homologation-as-app/homologation_qa_web_10.jpg +author: + - m_bayard +date: '2026-02-06' --- At Bedrock Streaming, we create and operate full-scope streaming services for leading media companies with best-in-class user experience across AVOD, SVOD and hybrid business models. diff --git a/astro/src/content/conferences/2016-05-24-arretons-de-perdre-du-temps.md b/astro/src/content/conferences/2016-05-24-arretons-de-perdre-du-temps.md new file mode 100644 index 000000000..6ce8f56a2 --- /dev/null +++ b/astro/src/content/conferences/2016-05-24-arretons-de-perdre-du-temps.md @@ -0,0 +1,21 @@ +--- +title: ArrĂȘtons de perdre du temps Ă  dĂ©buguer ! +eventName: PHPTour Clermont‑Ferrand 2016 +eventUrl: 'https://event.afup.org/php-tour-2016/home-phptour-2016/' +youtubeId: iuod3e6e7FM +tags: + - afup + - php + - debug + - conference +color: 'rgb(251,87,66)' +language: fr +author: n_saby +date: '2016-05-24' +--- + +ArrĂȘtons de perdre du temps Ă  dĂ©buguer ! DĂ©buguer peut se rĂ©vĂ©ler long et fastidieux. +C'est du temps perdu qu'on pourrait passer Ă  crĂ©er de la valeur ajoutĂ©e. +C'est d'une maniĂšre ou d'une autre une perte pour le business. +Ayant commencĂ© mon entrĂ©e dans la vie active par une TMA, j'ai compris vite et de maniĂšre un peu brutale que ça fait pourtant partie de la vie du dĂ©veloppeur qui devient parfois dĂ©bugueur. +Quelles solutions et astuces pouvons-nous mettre en place afin d'ĂȘtre plus efficace dans cette tĂąche rĂ©barbative ? diff --git a/astro/src/content/conferences/2016-11-24-une-donnee-presque-parfaite.md b/astro/src/content/conferences/2016-11-24-une-donnee-presque-parfaite.md new file mode 100644 index 000000000..2845a2d8b --- /dev/null +++ b/astro/src/content/conferences/2016-11-24-une-donnee-presque-parfaite.md @@ -0,0 +1,23 @@ +--- +title: Une donnĂ©e presque parfaite sur 6play +description: La gestion de la mise Ă  disposition des donnĂ©es sur 6play +eventName: ForumPHP 2016 +eventUrl: 'https://event.afup.org/forum-php-2016/home-forum-php-2016/' +youtubeId: kSlYXpezjIQ +tags: + - lyon + - conference + - elasticsearch + - video +thumbnail: images/posts/conf-afup-viguier/6play.jpg +color: 'rgb(42, 153, 213)' +comments: true +author: o_mansour +date: '2016-11-24' +--- + +[Benoit Viguier](https://twitter.com/b_viguier), prestataire de la sociĂ©tĂ© [Elao](https://www.elao.com) pour M6Web, a fait un retour d'expĂ©rience au Forum PHP de l'[AFUP](https://www.afup.org) sur l'architecture technique mise en place autour de la mise Ă  disposition des donnĂ©es nĂ©cessaires Ă  6play. + + + +Les slides sont Ă©galement [disponibles en PDF](https://b-viguier.github.io/downloads/talks/ForumPhp-Une-Donne%CC%81e-Presque-Parfaite.pdf). diff --git a/astro/src/content/conferences/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md b/astro/src/content/conferences/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md new file mode 100644 index 000000000..a90b4f455 --- /dev/null +++ b/astro/src/content/conferences/2017-03-10-confoo-2017-nouveau-socle-nouvelle-vie.md @@ -0,0 +1,18 @@ +--- +title: Nouveau socle pour une nouvelle vie +eventName: Confoo Montreal 2017 +eventUrl: 'https://confoo.ca/fr/yul2017' +conferenceUrl: 'https://afup.org/talks/3497-la-scalabilite-d-une-equipe-d-un-pole-technique' +slideshareKey: t7BqO8Q87GOIfl +lang: fr +tags: + - conference + - confoo + - PHP + - Symfony +color: 'rgb(251,87,66)' +author: m_randy +date: '2017-03-10' +--- + +A travers cette confĂ©rence, je me propose de vous tracer l’histoire de la migration de 6play (systĂšme de tĂ©lĂ©vision de rattrapage du groupe M6, premier groupe de tĂ©lĂ©vision privĂ© français) d’une application monolithique vers un univers de micro-service, des avantages en terme de maintenance, d’évolution, de montĂ©e en charge, mais Ă©galement des diffĂ©rents Ă©cueils rencontrĂ©s lors de ce changement de paradigme : caching, logging, complexitĂ© globale. diff --git a/astro/src/content/conferences/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md b/astro/src/content/conferences/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md new file mode 100644 index 000000000..7a30f9672 --- /dev/null +++ b/astro/src/content/conferences/2018-03-07-atteindre-les-etoiles-avec-php-et-symfony.md @@ -0,0 +1,19 @@ +--- +title: Atteindre les Ă©toiles avec PHP et Symfony +eventName: Confoo Montreal 2018 +eventUrl: 'https://confoo.ca/fr/yul2018' +conferenceUrl: 'https://confoo.ca/fr/yul2018/session/atteindre-les-etoiles-avec-php-et-symfony' +slideshareKey: 2CHGfkIFMor2BU +lang: fr +tags: + - conference + - confoo + - PHP + - Symfony +color: 'rgb(251,87,66)' +author: m_randy +date: '2018-03-07' +--- + +À l’automne 2014, M6 dĂ©cide d’adapter le programme Rising Star en France, un concours de chant en direct, mais dont le jury est le public, qui vote en direct depuis son application mobile. +A travers cette confĂ©rence, je me propose de vous prĂ©senter l’architecture mise en place pour ĂȘtre capable de traiter plusieurs dizaines de millions de votes dans un dĂ©lais de quelques secondes, tout en se synchronisant avec une Ă©mission de tĂ©lĂ© en direct. diff --git a/astro/src/content/conferences/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md b/astro/src/content/conferences/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md new file mode 100644 index 000000000..ff9e573c2 --- /dev/null +++ b/astro/src/content/conferences/2018-10-26-docker-en-prod-oui-avec-kubernetes-pascal-martin.md @@ -0,0 +1,30 @@ +--- +title: 'Docker en prod ? Oui, avec Kubernetes !' +description: >- + Kubernetes. À en croire certains articles, c’est une solution miracle. + DĂ©veloppeurs, vous avez peut-ĂȘtre entendu ce mot ? C’est l’outil qui vous + permettra de dĂ©ployer du Docker en production ! Parce qu’autant utiliser + Docker en dev c’est facile, autant en prod
 +eventName: ForumPHP 2018 +eventUrl: 'https://event.afup.org/forumphp2018/' +youtubeId: Cq1sR005B2E +lang: fr +tags: + - conference + - php + - open-source + - afup + - docker + - kubernetes +color: 'rgb(251,87,66)' +author: p_martin +date: '2018-10-26' +--- + +Kubernetes. À en croire certains articles, c’est une solution miracle. DĂ©veloppeurs, vous avez peut-ĂȘtre entendu ce mot ? +C’est l’outil qui vous permettra de dĂ©ployer du Docker en production ! Parce qu’autant utiliser Docker en dev c’est facile, autant en prod
 + +Mais qu’est-ce que Kubernetes ? Quelles possibilitĂ©s si intĂ©ressantes nous fournit cet orchestrateur de conteneurs ? +Pods, nodes, deployments, services, ou auto-scaling et health checks : autant de primitives et de fonctionnalitĂ©s que vous allez dĂ©couvrir et adorer, y compris en tant que dĂ©veloppeurs ! + +AprĂšs avoir prĂ©sentĂ© ces bases, je vous proposerai un retour d’expĂ©rience sur la migration vers Kubernetes que nous sommes en train d’effectuer pour 6play.fr. Comment dĂ©veloppeurs et sysadmins se rĂ©partissent-ils les tĂąches ? Avons-nous dĂ» adapter nos applications PHP ? Quelles difficultĂ©s avons-nous rencontrĂ©es, quels compromis avons-nous acceptĂ©s et quelle route nous reste-t-il Ă  parcourir ? diff --git a/astro/src/content/conferences/2018-10-26-generators-for-async-programming-user-manual.md b/astro/src/content/conferences/2018-10-26-generators-for-async-programming-user-manual.md new file mode 100644 index 000000000..7e2041e8d --- /dev/null +++ b/astro/src/content/conferences/2018-10-26-generators-for-async-programming-user-manual.md @@ -0,0 +1,24 @@ +--- +title: 'Generators for Asynchronous Programming: User Manual' +description: >- + Les gĂ©nĂ©rateurs sont souvent rĂ©duits Ă  une simplification des itĂ©rateurs, mais + ils sont surtout trĂšs pratiques et performants pour executer des traitements + asynchrones. Nous aborderons le fonctionnement d’un programme asynchrone, le + rĂŽle des promises, et approfondirons l'utilisation des gĂ©nĂ©rateurs pour + simplifier l’écriture de notre code. Enfin nous dĂ©taillerons des cas pratiques + « prĂȘts Ă  l’emploi » pour tout type d’application, avec un retour d’expĂ©rience + sur ce qui a Ă©tĂ© mis en place chez M6Web. +eventName: ForumPHP 2018 +eventUrl: 'https://event.afup.org/forumphp2018/' +youtubeId: 7TvIIt4c8uY +lang: fr +tags: + - conference + - php + - afup +color: 'rgb(251,87,66)' +author: b_viguier +date: '2018-10-26' +--- + +Les gĂ©nĂ©rateurs sont souvent rĂ©duits Ă  une simplification des itĂ©rateurs, mais ils sont surtout trĂšs pratiques et performants pour executer des traitements asynchrones. Nous aborderons le fonctionnement d’un programme asynchrone, le rĂŽle des promises, et approfondirons l'utilisation des gĂ©nĂ©rateurs pour simplifier l’écriture de notre code. Enfin nous dĂ©taillerons des cas pratiques « prĂȘts Ă  l’emploi » pour tout type d’application, avec un retour d’expĂ©rience sur ce qui a Ă©tĂ© mis en place chez M6Web. diff --git a/_posts/2019-01-14-7-conseils-pour-demarrer-avec-spark.md b/astro/src/content/conferences/2019-01-14-7-conseils-pour-demarrer-avec-spark.md similarity index 79% rename from _posts/2019-01-14-7-conseils-pour-demarrer-avec-spark.md rename to astro/src/content/conferences/2019-01-14-7-conseils-pour-demarrer-avec-spark.md index 8488042cc..e65a56e17 100644 --- a/_posts/2019-01-14-7-conseils-pour-demarrer-avec-spark.md +++ b/astro/src/content/conferences/2019-01-14-7-conseils-pour-demarrer-avec-spark.md @@ -1,15 +1,16 @@ --- -layout: conference - -title: "7 conseils pour dĂ©marrer avec Spark" -author: n_saby +title: 7 conseils pour dĂ©marrer avec Spark eventName: Scala IO -eventUrl: https://scala.io/ +eventUrl: 'https://scala.io/' youtubeId: QCFnjpUL95I - -tags: [spark, scalaio, conference] -color: rgb(251,87,66) +tags: + - spark + - scalaio + - conference +color: 'rgb(251,87,66)' language: fr +author: n_saby +date: '2019-01-14' --- Je suis entrĂ©e dans le monde de la data avec Spark. @@ -17,4 +18,4 @@ Il y a eu des moments clairement plus ou moins compliquĂ©s. Au dĂ©but, c’était le Far West : un monde inconnu et dangereux (il ne fallait pas casser la production). Avec ce retour d’expĂ©rience, je vous propose de vous dire ce que j’aurais aimĂ© qu’on me dise avant de me lancer. Je promets aussi de vous parler de ce que bien heureusement mes camarades plus expĂ©rimentĂ©s m’ont aussi donnĂ© comme astuces pour m’aider dans ce grand saut. -Ce sera donc une entrĂ©e en matiĂšre dans le monde de Spark au travers de 7 conseils qui m’ont Ă©tĂ© ou m’auraient Ă©tĂ© bien pratiques pour dĂ©marrer. \ No newline at end of file +Ce sera donc une entrĂ©e en matiĂšre dans le monde de Spark au travers de 7 conseils qui m’ont Ă©tĂ© ou m’auraient Ă©tĂ© bien pratiques pour dĂ©marrer. diff --git a/astro/src/content/conferences/2019-10-25-one-year-of-asynchronous-code-in-production.md b/astro/src/content/conferences/2019-10-25-one-year-of-asynchronous-code-in-production.md new file mode 100644 index 000000000..fd70e3763 --- /dev/null +++ b/astro/src/content/conferences/2019-10-25-one-year-of-asynchronous-code-in-production.md @@ -0,0 +1,29 @@ +--- +title: One year of asynchronous PHP in production +description: >- + Oui, il est tout Ă  fait possible de faire de la programmation asynchrone en + PHP et il existe des librairies matures pour le mettre en place dans vos + projets. Oui, ça peut amĂ©liorer considĂ©rablement la performance de vos + applications, mais si c’était aussi simple tout le monde le ferait dĂ©jĂ . Cela + fait plus d'an que les Ă©quipes de 6play ont franchit le pas sur certains + projets et les applications asynchrones tiennent toutes leurs promesses en + production, mais la mise en place a soulevĂ© beaucoup de questions. À quels + critĂšres se fier pour rendre une application asynchrone? Comment former les + Ă©quipes sur ces nouveaux paradigmes? Comment adapter les outils existants et + comment gĂ©rer ce nouveau type de charge sur les serveurs? Voici notre retour + d’expĂ©rience sur le PHP asynchrone, du dĂ©veloppement Ă  la production, en + passant par la vie de tous les jours. +eventName: ForumPHP 2019 +eventUrl: 'https://event.afup.org/forumphp2019/' +youtubeId: R6ldQzXScCs +lang: fr +tags: + - conference + - php + - afup +color: 'rgb(251,87,66)' +author: b_viguier +date: '2019-10-25' +--- + +Oui, il est tout Ă  fait possible de faire de la programmation asynchrone en PHP et il existe des librairies matures pour le mettre en place dans vos projets. Oui, ça peut amĂ©liorer considĂ©rablement la performance de vos applications, mais si c’était aussi simple tout le monde le ferait dĂ©jĂ . Cela fait plus d'an que les Ă©quipes de 6play ont franchit le pas sur certains projets et les applications asynchrones tiennent toutes leurs promesses en production, mais la mise en place a soulevĂ© beaucoup de questions. À quels critĂšres se fier pour rendre une application asynchrone? Comment former les Ă©quipes sur ces nouveaux paradigmes? Comment adapter les outils existants et comment gĂ©rer ce nouveau type de charge sur les serveurs? Voici notre retour d’expĂ©rience sur le PHP asynchrone, du dĂ©veloppement Ă  la production, en passant par la vie de tous les jours. diff --git a/astro/src/content/conferences/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md b/astro/src/content/conferences/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md new file mode 100644 index 000000000..193cbcce8 --- /dev/null +++ b/astro/src/content/conferences/2019-10-25-une-application-resiliente-dans-un-monde-partiellement-degrade-pascal-martin.md @@ -0,0 +1,29 @@ +--- +title: 'Une application rĂ©siliente, dans un monde partiellement dĂ©gradĂ©' +description: >- + Dans un monde en perpĂ©tuelle Ă©volution, pouvons-nous toujours atteindre « + four-nines » de disponibilitĂ© ? Cloud et Kubernetes. APIs et Microservices
 + Nos architectures s’enrichissent et se complexifient. Au prix d’une certaine + fragilitĂ© ? +eventName: ForumPHP 2019 +eventUrl: 'https://event.afup.org/forumphp2019/' +youtubeId: U7wuMyv8YzA +lang: fr +tags: + - conference + - architecture + - resilience + - afup + - cloud +color: 'rgb(251,87,66)' +author: p_martin +date: '2019-10-25' +--- + +Dans un monde en perpĂ©tuelle Ă©volution, pouvons-nous toujours atteindre *« four-nines »* de disponibilité ? +Cloud et Kubernetes. APIs et Microservices
 Nos architectures s’enrichissent et se complexifient. Au prix d’une certaine fragilité ? + +Nous commencerons par dĂ©finir SLA, SLO et SLI et rappeler la signification de ces X-nines. +Nous montrerons ensuite comment, dans un contexte en permanence partiellement dĂ©gradĂ©, nos assemblages de services distribuĂ©s nuisent Ă  la fiabilitĂ© de nos plateformes. + +En profitant de l’expĂ©rience acquise sur 6play, nous verrons quelques pistes pour amĂ©liorer la rĂ©silience de nos applications, pour qu’elles rĂ©pondent Ă  nouveau aux besoins de notre public. Nous prononcerons peut-ĂȘtre mĂȘme le terme de *« Chaos Engineering »* ;-) diff --git a/astro/src/content/conferences/2020-02-07-pascal-martin-laduckconf.md b/astro/src/content/conferences/2020-02-07-pascal-martin-laduckconf.md new file mode 100644 index 000000000..fbd7496a0 --- /dev/null +++ b/astro/src/content/conferences/2020-02-07-pascal-martin-laduckconf.md @@ -0,0 +1,23 @@ +--- +title: Migration de 6PLAY - l'amour est dans le cloud +description: VidĂ©o de la confĂ©rence de Pascal Martin Ă  la Duck Conf +eventName: La Duck Conf +eventUrl: 'https://www.laduckconf.com/' +youtubeId: xLELSIEt2xA +tags: + - conference + - video +featureImg: images/posts/6play/logo.jpg +thumbnail: images/posts/6play/logo.jpg +comments: true +author: p_martin +date: '2020-02-07' +redirectFrom: + - /pascal-martin-laduckconf/ +--- + +[Pascal Martin](https://twitter.com/pascal_martin) a eu le plaisir d'ĂȘtre invitĂ© par [Octo](https://www.octo.com/) pour un REX sur la migration de notre architecture dans *le cloud*. + +Nous vous invitons Ă  dĂ©couvrir sa confĂ©rence en vidĂ©o. + + Si vous voulez en savoir encore plus, Pascal a Ă©crit Ă©galement [un livre sur le sujet](https://leanpub.com/6cloud/). diff --git a/astro/src/content/conferences/2020-06-24-6play_API-v2-Final(1).md b/astro/src/content/conferences/2020-06-24-6play_API-v2-Final(1).md new file mode 100644 index 000000000..6ff11853a --- /dev/null +++ b/astro/src/content/conferences/2020-06-24-6play_API-v2-Final(1).md @@ -0,0 +1,24 @@ +--- +title: 6play_API-v2-Final(1).doc +description: >- + Votre API est confrontĂ©e Ă  des contraintes techniques mais elle doit surtout + rĂ©pondre Ă  vos problĂ©matiques mĂ©tier qui ne cessent d'Ă©voluer. Nous avons + souvent vĂ©cu cette situation pour 6play (service de Replay du Groupe M6), et + il nous a fallu plusieurs gĂ©nĂ©rations d'API avant d'arriver Ă  une version + adaptĂ©e Ă  nos besoins. Micro-services, Rest/GraphQL, Developer eXperience
 Un + rĂ©cit et des conseils pragmatiques pour concevoir et maintenir votre API. +eventName: AFUP Day 2021 +eventUrl: 'https://event.afup.org/afup-day-2021/' +youtubeId: Y_umU8mTWho +lang: fr +tags: + - conference + - php + - afup + - api +color: 'rgb(251,87,66)' +author: b_viguier +date: '2020-06-24' +--- + +Votre API est confrontĂ©e Ă  des contraintes techniques mais elle doit surtout rĂ©pondre Ă  vos problĂ©matiques mĂ©tier qui ne cessent d'Ă©voluer. Nous avons souvent vĂ©cu cette situation pour 6play (service de Replay du Groupe M6), et il nous a fallu plusieurs gĂ©nĂ©rations d'API avant d'arriver Ă  une version adaptĂ©e Ă  nos besoins. Micro-services, Rest/GraphQL, Developer eXperience
 Un rĂ©cit et des conseils pragmatiques pour concevoir et maintenir votre API. diff --git a/_posts/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md b/astro/src/content/conferences/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md similarity index 81% rename from _posts/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md rename to astro/src/content/conferences/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md index 78ac9c71d..87f277b40 100644 --- a/_posts/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md +++ b/astro/src/content/conferences/2020-06-24-devops-je-n-ai-jamais-voulu-faire.md @@ -1,15 +1,17 @@ --- -layout: conference - -title: "DevOps ? Je n'ai jamais voulu faire ça, et pourtant 
" -author: s_lescano +title: 'DevOps ? Je n''ai jamais voulu faire ça, et pourtant 
' eventName: AFUP Day 2021 -eventUrl: https://event.afup.org/afup-day-2021/ +eventUrl: 'https://event.afup.org/afup-day-2021/' youtubeId: dNUIFe7S1A0 - lang: fr -tags: [conference, afup, php, devops] -color: rgb(251,87,66) +tags: + - conference + - afup + - php + - devops +color: 'rgb(251,87,66)' +author: s_lescano +date: '2020-06-24' --- DĂ©veloppeuse junior : premiĂšre semaine. Mes collĂšgues m'ont forcĂ©e Ă  dĂ©ployer ma premiĂšre feature sur 6play ! MalgrĂ© un petit frisson, tout s'est bien passĂ©, grĂące aux outils et bonnes pratiques qui nous guident. @@ -18,4 +20,4 @@ Ce n'Ă©tait que le dĂ©but ! Depuis, je gĂšre l'infrastructure de mon projet. Je En un an, je suis passĂ©e de "simple dĂ©veloppeuse" Ă  quelqu'un qui a conscience de sa plateforme, qui monitore son code et est responsable de sa production. Comment ai-je vĂ©cu cette transition ? Comment ai-je grandi en tant que dĂ©veloppeuse ? -Vous aussi, profitez de votre nouvelle libertĂ© : devenez DevOps ! \ No newline at end of file +Vous aussi, profitez de votre nouvelle libertĂ© : devenez DevOps ! diff --git a/astro/src/content/conferences/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md b/astro/src/content/conferences/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md new file mode 100644 index 000000000..3b0e8320c --- /dev/null +++ b/astro/src/content/conferences/2020-10-22-la-scalabilite-d-une-equipe-d-un-pole-technique.md @@ -0,0 +1,22 @@ +--- +title: La scalabilitĂ© d’une Ă©quipe / d’un pĂŽle technique +eventName: ForumPHP 2020 +eventUrl: 'https://event.afup.org/forum-php-2020/' +conferenceUrl: 'https://afup.org/talks/3497-la-scalabilite-d-une-equipe-d-un-pole-technique' +youtubeId: bECYd6Qo7Qw +slideshareKey: 8bsndjV0GUOWnM +lang: fr +tags: + - conference + - forumPHP + - PHP + - Symfony +color: 'rgb(251,87,66)' +author: m_randy +date: '2020-10-22' +--- + +Vous ĂȘtes dans l’équipe technique d’une entreprise, composĂ©e de quelques dĂ©veloppeurs, dans 1 ou 2 Ă©quipes, et votre entreprise grandit, et il faut augmenter la capacitĂ© de production, et donc la taille de l’équipe technique. Sauf que comme 9 femmes ne font pas un bĂ©bĂ© un 1 mois, 4 Ă©quipes de 6 personnes ne produisent pas automatiquement 2 fois plus que 2 Ă©quipes de 6 dĂ©veloppeurs. + +Je me propose de vous faire un retour d’expĂ©rience sur comment nous avons abordĂ© la scalabilitĂ© du pĂŽle technique de Bedrock, pour passer de 10 Ă©quipes rĂ©parties en 3 verticaux techniques, Ă  plus de 30 Ă©quipes dans 5 verticaux techniques, en essayant de conserver une cohĂ©sion technique et fonctionnelle, et d’optimiser les flux de dĂ©veloppements. + diff --git a/astro/src/content/conferences/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md b/astro/src/content/conferences/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md new file mode 100644 index 000000000..29cd4b34d --- /dev/null +++ b/astro/src/content/conferences/2020-10-23-l'open-source-ce-n-est-pas-que-pour-le-web.md @@ -0,0 +1,21 @@ +--- +title: 'L''open source, ce n''est pas que pour le web' +description: >- + Un tour d’horizon des initiatives open source dans d’autres domaines que + l’informatique, pour en apprendre un peu plus sur la culture du libre. +eventName: ForumPHP 2020 +eventUrl: 'https://event.afup.org/forum-php-2020/' +youtubeId: riPzJ-IMs6k +tags: + - conference + - afup + - open-source +color: 'rgb(251,87,66)' +author: s_haim +date: '2020-10-23' +--- +Une confĂ©rence sur l'open source hors des solutions informatiques uniquement, lors du forum PHP 2020 qui marquait les 20 ans de l'AFUP. + +Connaissez-vous l'open hardware ? Savez-vous ce que la NASA partage sur Github ? Vous avez certainement dĂ©jĂ  Ă©coutĂ©, ou produit de la musique open source, savez-vous qu’il existe des mĂ©dicaments open source ? RĂ©pliquer une information, et la partager devient rapide et Ă©mancipateur, le monde se libĂšre un peu plus. + +AprĂšs une petite plongĂ©e dans les principes de partage de l’open source, nous ferons un tour d’horizon des initiatives open source dans d’autres domaines que l’informatique, pour en apprendre un peu plus sur la culture du libre, les rapports de force qui y conduisent, et revenir aux bases du partage. diff --git a/_posts/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md b/astro/src/content/conferences/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md similarity index 75% rename from _posts/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md rename to astro/src/content/conferences/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md index cbee2a605..43c1976fd 100644 --- a/_posts/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md +++ b/astro/src/content/conferences/2020-11-23-php-cest-vous-et-vous-pouvez-contribuer-pascal-martin.md @@ -1,16 +1,18 @@ --- -layout: conference - -title: "PHP, c’est vous ! Et vous pouvez contribuer !" -description: "Quand nous posons la question « qui contribue Ă  PHP ? » lors des Ă©vĂšnements que nous organisons ou auxquels nous participons, nous n’obtenons que trĂšs peu de rĂ©ponses. Est-ce parce que peu d’entre nous savent ou aiment coder en C ? Pourtant, participer et contribuer ne se limite pas Ă  des lignes de code, loin de là !" -author: p_martin +title: 'PHP, c’est vous ! Et vous pouvez contribuer !' +description: "Quand nous posons la question «\_qui contribue Ă  PHP\_?\_» lors des Ă©vĂšnements que nous organisons ou auxquels nous participons, nous n’obtenons que trĂšs peu de rĂ©ponses. Est-ce parce que peu d’entre nous savent ou aiment coder en C\_? Pourtant, participer et contribuer ne se limite pas Ă  des lignes de code, loin de lĂ \_!" eventName: ForumPHP 2020 -eventUrl: https://event.afup.org/forum-php-2020/ +eventUrl: 'https://event.afup.org/forum-php-2020/' youtubeId: bGklD-ZxIjI - lang: fr -tags: [conference, php, open-source, afup] -color: rgb(251,87,66) +tags: + - conference + - php + - open-source + - afup +color: 'rgb(251,87,66)' +author: p_martin +date: '2020-11-23' --- Quand nous posons la question « qui contribue Ă  PHP ? » lors des Ă©vĂšnements que nous organisons ou auxquels nous participons, nous n’obtenons que trĂšs peu de rĂ©ponses. Est-ce parce que peu d’entre nous savent ou aiment coder en C ? Pourtant, participer et contribuer ne se limite pas Ă  des lignes de code, loin de là ! diff --git a/astro/src/content/conferences/2021-01-21-machine-learning-en-production.md b/astro/src/content/conferences/2021-01-21-machine-learning-en-production.md new file mode 100644 index 000000000..4351e4cd5 --- /dev/null +++ b/astro/src/content/conferences/2021-01-21-machine-learning-en-production.md @@ -0,0 +1,18 @@ +--- +title: Machine Learning en production +eventName: Lyon Data Science Meetup +eventUrl: 'http://www.lyondata.science/' +youtubeId: f93yCPq-VMc +tags: + - machine learning + - Lyon Data Science + - conference +color: 'rgb(251,87,66)' +language: fr +author: n_saby +date: '2021-01-21' +--- + +Une fois passĂ©e la phase de prototype, comment va-t-on en production quand on fait du machine learning ? +Comment s'assure-t-on que tout va bien une fois en production ? +DĂ©ploiement, tests, monitoring, etc. Il y a beaucoup de choses Ă  penser. Sur ce long sujet, je vous propose ici une petite introduction basĂ©e sur mes expĂ©riences. diff --git a/astro/src/content/conferences/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md b/astro/src/content/conferences/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md new file mode 100644 index 000000000..e3755c656 --- /dev/null +++ b/astro/src/content/conferences/2021-03-11-migration-6play-vers-le-cloud-retour-experience-pascal-martin.md @@ -0,0 +1,25 @@ +--- +title: 'Migration de 6play vers Le Cloud, retour d’expĂ©rience.' +description: >- + En 2018, nous avons entamĂ© la migration de la plateforme 6play vers Le Cloud. + À prĂ©sent, nous pilotons notre infrastructure AWS avec Terraform, utilisons + des services managĂ©s et dĂ©ployons nos applications sous Kubernetes. +eventName: Cloudsud +eventUrl: 'https://cloudsud.fr/' +youtubeId: xZep9iv6tLY +lang: fr +tags: + - conference + - cloud + - migration + - cloudsud +color: 'rgb(251,87,66)' +author: p_martin +date: '2021-03-11' +--- + +En 2018, nous avons entamĂ© la migration de la plateforme 6play vers Le Cloud. +À prĂ©sent, nous pilotons notre infrastructure AWS avec Terraform, utilisons des services managĂ©s et dĂ©ployons nos applications sous Kubernetes. + +Pendant cette confĂ©rence, vous dĂ©couvrirez comment nous avons rĂ©alisĂ© cette migration. Vous trouverez des rĂ©ponses aux questions que vous vous posez si vous envisagez de revoir votre hĂ©bergement. +Comment avons-nous transformĂ© notre infrastructure ? Quels impacts sur nos projets ? Comment nous sommes-nous organisĂ©s ? Quels choix avons-nous effectuĂ©s tout au long du processus ? Qu’avons-nous appris, qu’avons-nous fait Ă©voluer ? Comment nos Ă©quipes se rĂ©partissent-elles les tĂąches ? Avons-nous dĂ» adapter nos applications PHP ? Quelles difficultĂ©s avons-nous rencontrĂ©es ? diff --git a/_posts/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md b/astro/src/content/conferences/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md similarity index 75% rename from _posts/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md rename to astro/src/content/conferences/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md index fcaabf62b..8fe52cd5b 100644 --- a/_posts/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md +++ b/astro/src/content/conferences/2021-03-30-comment-nous-reduisons-augmentation-couts-aws-pascal-martin.md @@ -1,16 +1,17 @@ --- -layout: conference - -title: "Comment nous rĂ©duisons l’augmentation de nos coĂ»ts AWS" -description: "MalgrĂ© les promesses du Cloud, votre facture AWS vous fait peur ? Je vous comprends !" -author: p_martin +title: Comment nous rĂ©duisons l’augmentation de nos coĂ»ts AWS +description: "MalgrĂ© les promesses du Cloud, votre facture AWS vous fait peur\_? Je vous comprends\_!" eventName: AWS Community Day France -eventUrl: https://www.meetup.com/fr-FR/AWS-User-Group-Strasbourg/events/277030691/ +eventUrl: 'https://www.meetup.com/fr-FR/AWS-User-Group-Strasbourg/events/277030691/' youtubeId: mMRVCtYjzLo - lang: fr -tags: [conference, aws, costs] -color: rgb(251,87,66) +tags: + - conference + - aws + - costs +color: 'rgb(251,87,66)' +author: p_martin +date: '2021-03-30' --- MalgrĂ© les promesses du Cloud, votre facture AWS vous fait peur ? Je vous comprends ! diff --git a/_posts/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md b/astro/src/content/conferences/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md similarity index 75% rename from _posts/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md rename to astro/src/content/conferences/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md index 831e1d503..d116dc73a 100644 --- a/_posts/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md +++ b/astro/src/content/conferences/2021-06-11-no-code-developpement-applications-ouvert-autres-metiers-pascal-martin.md @@ -1,16 +1,20 @@ --- -layout: conference - -title: "No-code, ou le dĂ©veloppement d’applications ouvert Ă  d’autres mĂ©tiers !" -description: "Construire une application sans coder ? C’est une idĂ©e que j’entends depuis le dĂ©but de mes Ă©tudes
 Et c’est la promesse de no-code !" -author: p_martin +title: 'No-code, ou le dĂ©veloppement d’applications ouvert Ă  d’autres mĂ©tiers !' +description: >- + Construire une application sans coder ? C’est une idĂ©e que j’entends depuis le + dĂ©but de mes Ă©tudes
 Et c’est la promesse de no-code ! eventName: AFUP Day Toulouse 2021 -eventUrl: https://event.afup.org/afup-day-2021/ +eventUrl: 'https://event.afup.org/afup-day-2021/' youtubeId: 9OM2gdMpCg0 - lang: fr -tags: [conference, nocode, lowcode, afup] -color: rgb(251,87,66) +tags: + - conference + - nocode + - lowcode + - afup +color: 'rgb(251,87,66)' +author: p_martin +date: '2021-06-11' --- Construire une application sans coder ? C’est une idĂ©e que j’entends depuis le dĂ©but de mes Ă©tudes
 Et c’est la promesse de no-code ! diff --git a/_posts/2021-10-21-confiance-aux-devs-de-votre-team.md b/astro/src/content/conferences/2021-10-21-confiance-aux-devs-de-votre-team.md similarity index 75% rename from _posts/2021-10-21-confiance-aux-devs-de-votre-team.md rename to astro/src/content/conferences/2021-10-21-confiance-aux-devs-de-votre-team.md index e009823b5..23e42f749 100644 --- a/_posts/2021-10-21-confiance-aux-devs-de-votre-team.md +++ b/astro/src/content/conferences/2021-10-21-confiance-aux-devs-de-votre-team.md @@ -1,20 +1,22 @@ --- -layout: conference - -title: "Faites confiance aux dĂ©veloppeurs.euses de votre Ă©quipe : voyez plus loin que les fonctionnalitĂ©s" -author: s_lescano +title: >- + Faites confiance aux dĂ©veloppeurs.euses de votre Ă©quipe : voyez plus loin que + les fonctionnalitĂ©s eventName: ForumPHP 2021 -eventUrl: https://event.afup.org/forum-php-2021/ -youtubeId: tuGpNiy6e9s - - +eventUrl: 'https://event.afup.org/forum-php-2021/' +youtubeId: tuGpNiy6e9s lang: fr -tags: [conference, afup, php] -color: rgb(251,87,66) +tags: + - conference + - afup + - php +color: 'rgb(251,87,66)' +author: s_lescano +date: '2021-10-21' --- Deadlines, besoins produit, pression forte et fonctionnalitĂ©s Ă  livrer : nos projets ont besoin de nous ! L'amĂ©lioration du quotidien se perd dans un second plan, alors qu’elle a un impact majeur sur l'augmentation de notre productivitĂ© et la qualitĂ© et maintenabilitĂ© de notre code. Constatant que nous voulions augmenter notre confort de travail, nous avons, depuis plus d'un an, mis en place des rĂ©unions techniques bi-hebdomadaires pour prendre le temps de discuter de notre plateforme et nos outils, au-delĂ  des fonctionnalitĂ©s. Chaque membre de l'Ă©quipe contribue ainsi Ă  amĂ©liorer son expĂ©rience de travail et notre produit. -À travers notre vĂ©cu, nos erreurs et des exemples techniques concrets, repensez vous aussi au dĂ©veloppement de votre produit. \ No newline at end of file +À travers notre vĂ©cu, nos erreurs et des exemples techniques concrets, repensez vous aussi au dĂ©veloppement de votre produit. diff --git a/astro/src/content/conferences/2021-10-21-fiber-the-open-door-to-async.md b/astro/src/content/conferences/2021-10-21-fiber-the-open-door-to-async.md new file mode 100644 index 000000000..6465d7893 --- /dev/null +++ b/astro/src/content/conferences/2021-10-21-fiber-the-open-door-to-async.md @@ -0,0 +1,27 @@ +--- +title: 'Fiber: the open door to asynchronous' +description: >- + Parmi les nouveautĂ©s apportĂ©es par Php 8.1, les Fibers tiennent une place + particuliĂšre. Il s’agit certainement d’une fonctionnalitĂ© qui aura un impact + majeur sur l’écosystĂšme Php, tout en ayant un impact mineur sur le code que + vous Ă©crivez tous les jours. Les Fibers sont comme des gĂ©nĂ©rateurs amĂ©liorĂ©s, + des fonctions interruptibles, mais qui peuvent s’imbriquer de maniĂšre + transparente avec d’autres fonctions. Il est donc enfin possible de crĂ©er des + fonctions similaires Ă  await et async pour rendre la programmation asynchrone + moins intrusive dans notre code et permettre la compatibilitĂ© avec les + frameworks existants. Voici une introduction Ă  ces nouveaux concepts, ainsi + que des exemples concrets de ce que cela permettra dans l’écosystĂšme Php. +eventName: ForumPHP 2021 +eventUrl: 'https://event.afup.org/forum-php-2021/' +youtubeId: KkRo7fAC28s +lang: fr +tags: + - conference + - php + - afup +color: 'rgb(251,87,66)' +author: b_viguier +date: '2021-10-21' +--- + +Parmi les nouveautĂ©s apportĂ©es par Php 8.1, les Fibers tiennent une place particuliĂšre. Il s’agit certainement d’une fonctionnalitĂ© qui aura un impact majeur sur l’écosystĂšme Php, tout en ayant un impact mineur sur le code que vous Ă©crivez tous les jours. Les Fibers sont comme des gĂ©nĂ©rateurs amĂ©liorĂ©s, des fonctions interruptibles, mais qui peuvent s’imbriquer de maniĂšre transparente avec d’autres fonctions. Il est donc enfin possible de crĂ©er des fonctions similaires Ă  await et async pour rendre la programmation asynchrone moins intrusive dans notre code et permettre la compatibilitĂ© avec les frameworks existants. Voici une introduction Ă  ces nouveaux concepts, ainsi que des exemples concrets de ce que cela permettra dans l’écosystĂšme Php. diff --git a/_posts/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md b/astro/src/content/conferences/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md similarity index 84% rename from _posts/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md rename to astro/src/content/conferences/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md index 5d59c073f..97de9235a 100644 --- a/_posts/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md +++ b/astro/src/content/conferences/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web.md @@ -1,16 +1,26 @@ --- -layout: conference - -title: "Comment faire un trailer vidĂ©o qui dĂ©chire avec des technos web ?" -description: "PrĂ©sentation donnĂ©e au Lyon JS n°71, pour montrer comment gĂ©nĂ©rer des vidĂ©os avec Remotion" -author: [m_alves, a_caron] +title: Comment faire un trailer vidĂ©o qui dĂ©chire avec des technos web ? +description: >- + PrĂ©sentation donnĂ©e au Lyon JS n°71, pour montrer comment gĂ©nĂ©rer des vidĂ©os + avec Remotion eventName: LyonJS Meetup -eventUrl: https://www.meetup.com/fr-FR/lyonjs/events/284549533/ +eventUrl: 'https://www.meetup.com/fr-FR/lyonjs/events/284549533/' youtubeId: 8nnDOT8b5Oc - -tags: [remotion, react, video, js, frontend, conference, lyonjs] -color: rgb(251,87,66) -thumbnail: "images/posts/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web/main-image.png" +tags: + - remotion + - react + - video + - js + - frontend + - conference + - lyonjs +color: 'rgb(251,87,66)' +thumbnail: >- + images/posts/2022-04-04-comment-faire-un-trailer-qui-dechire-avec-des-technos-web/main-image.png +author: + - m_alves + - a_caron +date: '2022-04-04' --- Avec Antoine Caron on est allĂ© mettre des paillettes dans les yeux des participants du LyonJS en leur montrant comment crĂ©er des vidĂ©os avec des technos web ! ✹ @@ -49,4 +59,4 @@ VoilĂ  un petit aperçu d'une vidĂ©o surprise que l'on a fait grĂące Ă  Remotion
      -Vous trouvez ça incroyable et vous voulez essayer ? N'hĂ©sitez pas Ă  venir nous montrer vos vidĂ©os, ou directement sur twitter avec [@Slashgear_](https://twitter.com/Slashgear_) et [@mickaelalvs](https://twitter.com/mickaelalvs) 🎞 \ No newline at end of file +Vous trouvez ça incroyable et vous voulez essayer ? N'hĂ©sitez pas Ă  venir nous montrer vos vidĂ©os, ou directement sur twitter avec [@Slashgear_](https://twitter.com/Slashgear_) et [@mickaelalvs](https://twitter.com/mickaelalvs) 🎞 diff --git a/_posts/2022-04-21-vite-the-webpack-killer.md b/astro/src/content/conferences/2022-04-21-vite-the-webpack-killer.md similarity index 80% rename from _posts/2022-04-21-vite-the-webpack-killer.md rename to astro/src/content/conferences/2022-04-21-vite-the-webpack-killer.md index aaec5373c..420a7a939 100644 --- a/_posts/2022-04-21-vite-the-webpack-killer.md +++ b/astro/src/content/conferences/2022-04-21-vite-the-webpack-killer.md @@ -1,15 +1,20 @@ --- -layout: conference - -title: "âšĄïž Vite âšĄïž the Webpack killer" -author: [a_caron, m_mure] +title: âšĄïž Vite âšĄïž the Webpack killer eventName: Devoxx France -eventUrl: https://www.devoxx.fr/ +eventUrl: 'https://www.devoxx.fr/' youtubeId: Q6N7DoCNfAE - lang: fr -tags: [conference, js, webpack, vite, devoxx] -color: rgb(251,87,66) +tags: + - conference + - js + - webpack + - vite + - devoxx +color: 'rgb(251,87,66)' +author: + - a_caron + - m_mure +date: '2022-04-21' --- Toute application web a besoin d’ĂȘtre packagĂ©e afin d’ĂȘtre livrĂ©e en production. Pour rĂ©pondre Ă  cette problĂ©matique, de nombreux outils, connus sous le nom de modules bundler, sont apparus, et ces derniĂšres annĂ©es, c’est Webpack qui semble s’ĂȘtre imposĂ© comme l’outil incontournable. diff --git a/astro/src/content/conferences/2022-05-13-docker-meetup-you-build-it-you-run-it.md b/astro/src/content/conferences/2022-05-13-docker-meetup-you-build-it-you-run-it.md new file mode 100644 index 000000000..bfccb4f57 --- /dev/null +++ b/astro/src/content/conferences/2022-05-13-docker-meetup-you-build-it-you-run-it.md @@ -0,0 +1,23 @@ +--- +title: 'You Build it, you run it' +description: >- + L'une des grandes Ă©tapes de l'autonomie d'une Ă©quipe de dĂ©veloppement dans la + mĂ©thodologie DevOps est de s'intĂ©resser Ă  l'alerting liĂ© Ă  son infrastructure. + Comment sommes-nous arrivĂ© Ă  proposer aux Ă©quipes de dĂ©veloppement de + s'intĂ©resser et de maĂźtriser cet alerting ? +eventName: Docker meetup +eventUrl: 'https://www.meetup.com/fr-FR/docker-lyon/events/285057478/' +youtubeId: SGgVKrNfTLc +sponsored: true +hosted: true +tags: + - conference + - docker + - meetup + - devops +color: 'rgb(251,87,66)' +author: j_foray +date: '2022-05-13' +--- + +L'une des grandes Ă©tapes de l'autonomie d'une Ă©quipe de dĂ©veloppement dans la mĂ©thodologie DevOps est de s'intĂ©resser Ă  l'alerting liĂ© Ă  son infrastructure. Comment sommes-nous arrivĂ© Ă  proposer aux Ă©quipes de dĂ©veloppement de s'intĂ©resser et de maĂźtriser cet alerting ? diff --git a/astro/src/content/conferences/2022-06-08-comment-ne-pas-jeter-votre-application.md b/astro/src/content/conferences/2022-06-08-comment-ne-pas-jeter-votre-application.md new file mode 100644 index 000000000..509bfa825 --- /dev/null +++ b/astro/src/content/conferences/2022-06-08-comment-ne-pas-jeter-votre-application.md @@ -0,0 +1,32 @@ +--- +title: Comment ne pas jeter son application Frontend tous les deux ans ? +eventName: LyonJS Meetup +eventUrl: 'https://www.meetup.com/fr-FR/lyonjs/events/285497869/' +youtubeId: t36UqNSmybM +sponsored: true +hosted: true +lang: fr +tags: + - conference + - js + - react + - lyonjs + - meetup +color: 'rgb(251,87,66)' +author: + - a_caron + - f_dubost +date: '2022-06-08' +--- + +Bonnes pratiques pour la maintenance d'une application web +Refaire son front tous les 2 ans, c’est devenu une pratique plutĂŽt courante dans tous les projets. Tous ? Non, chez Bedrock streaming, nous avons choisi de rester sur la mĂȘme codebase et ça depuis plus de 7 ans! En plus, ce n’est pas une petite application puisqu’il s’agit de 6play et de salto. +Vous pourriez vous dire: “Oh les pauvres, maintenir une application vieille de presque 10 ans ça doit ĂȘtre un enfer !” +Rassurez-vous, ce n’est pas le cas ! Nous avons tous travaillĂ© sur des projets bien moins vieux mais sur lesquels le dĂ©veloppement de nouvelles fonctionnalitĂ©s Ă©tait bien plus pĂ©nible. + +Quel est notre secret ? C’est ce que vous allez dĂ©couvrir pendant ce talk ! +Automatisation des tĂąches courantes, gestion de la dette, testing et architecture seront des sujets abordĂ©s. +Ce talk propose des thĂ©matiques qui ne concernent pas que le frontend ! + +[Plus de dĂ©tails dans l'article suivant.](/2021/09/01/bonnes-pratiques-web.html) + diff --git a/astro/src/content/conferences/2022-06-08-migration-progressive-vers-redux-toolkit.md b/astro/src/content/conferences/2022-06-08-migration-progressive-vers-redux-toolkit.md new file mode 100644 index 000000000..d690b86ad --- /dev/null +++ b/astro/src/content/conferences/2022-06-08-migration-progressive-vers-redux-toolkit.md @@ -0,0 +1,28 @@ +--- +title: Migration progressive vers Redux Toolkit +description: >- + Les crĂ©ateurs de Redux ont conçu Redux Toolkit, une sĂ©rie d'utilitaires + facilitant l'usage de Redux. Comment les utiliser et comment migrer + progressivement ? C'est ce que nous allons voir ! +eventName: LyonJS Meetup +eventUrl: 'https://www.meetup.com/fr-FR/lyonjs/events/285497869/' +youtubeId: YsHiH7qCjKM +sponsored: true +hosted: true +tags: + - redux + - lyonjs + - meetup + - react + - javascript + - conference +comments: true +color: 'rgb(251,87,66)' +language: fr +author: m_blanc +date: '2022-06-08' +--- + +Redux est le gestionnaire d'Ă©tat global le plus populaire au sein de la communautĂ© JS. +Ses crĂ©ateurs encouragent dĂ©sormais l'utilisation de Redux Toolkit (RTK). Une suite d'utilitaires facilitant l'usage de Redux et rĂ©duisant notamment sa verbositĂ©. +Dans cette prĂ©sentation, je vous propose un live coding pour migrer pas-Ă -pas une application React/Redux vers RTK. diff --git a/_posts/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md b/astro/src/content/conferences/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md similarity index 82% rename from _posts/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md rename to astro/src/content/conferences/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md index c295c3c65..74feb7ee0 100644 --- a/_posts/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md +++ b/astro/src/content/conferences/2022-10-13-bff-notre-best-friend-forever-pour-faire-plein-d-applications-frontend.md @@ -1,14 +1,21 @@ --- -layout: conference -title: "BFF, notre best friend forever pour faire plein d’applications frontend ?" -description: "Un Back For Front afin d’unifier et faciliter les interactions backend et frontend." -author: v_claras -eventName: "Forum PHP 2022" +title: "BFF, notre best friend forever pour faire plein d’applications frontend\_?" +description: >- + Un Back For Front afin d’unifier et faciliter les interactions backend et + frontend. +eventName: Forum PHP 2022 sponsored: true -eventUrl: "https://event.afup.org/forum-php-2022/" +eventUrl: 'https://event.afup.org/forum-php-2022/' youtubeId: pQipUAsvACA -tags: [conference, afup, forumphp, php, bff] -color: rgb(251,87,66) +tags: + - conference + - afup + - forumphp + - php + - bff +color: 'rgb(251,87,66)' +author: v_claras +date: '2022-10-13' --- Chez Bedrock nous fournissons des applications de streaming (ASVOD, AVOD) pour plusieurs clients en France et en Europe, chaque application Ă©tant dĂ©ployĂ©e sur de nombreux appareils (ordinateur, mobile, set top box, tv connectĂ©, consoles de jeux, tv stick etc 
). Il Ă©tait devenu trĂšs difficile de gĂ©rer la crĂ©ation et l’évolution de ces nombreuses applications qui requĂȘtaient et formataient chacune elles-mĂȘmes les donnĂ©es dont elles avaient besoin. diff --git a/astro/src/content/conferences/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md b/astro/src/content/conferences/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md new file mode 100644 index 000000000..242c0813b --- /dev/null +++ b/astro/src/content/conferences/2022-10-13-comprenez-comment-php-fonctionne-vos-applications-marcheront-mieux.md @@ -0,0 +1,31 @@ +--- +title: >- + Comprenez comment PHP fonctionne, vos applications marcheront mieux, Forum PHP + 2022 +description: > + Cycle de vie de PHP, communication entre nginx et php-fpm, approche + shared-nothing, compilation et cache d’opcodes, + + gestion interne de la mĂ©moire ou mĂȘme architecture logicielle et debugging
 + Pour qu’une application rĂ©ponde aux + + attentes de son public, nous devons comprendre comment PHP fonctionne ! +eventName: Forum PHP 2022 +sponsored: true +eventUrl: 'https://event.afup.org/forum-php-2022/' +youtubeId: eWlsd9Vtszs +tags: + - conference + - afup + - forumphp + - php +color: 'rgb(251,87,66)' +author: p_martin +date: '2022-10-13' +--- + +Pour exĂ©cuter du code, PHP consomme du processeur et de la mĂ©moire. Quand une requĂȘte HTTP arrive, un processus php-fpm lui est dĂ©diĂ©. Mais ces ressources sont limitĂ©es. Et, mĂȘme dans Le Cloud ou en serverless, scaler prend du temps et les coĂ»ts s’envolent ! + +Savez-vous combien de CPU et de RAM votre application rĂ©clame ? Et pendant quelle durĂ©e ? Si non ou sans comprendre « pourquoi », difficile de dĂ©velopper efficacement et de dimensionner un hĂ©bergement pĂ©renne ! Peut-ĂȘtre que ça marche
 Sur votre poste. Ou pendant un moment, en gaspillant de l’argent et des ressources. Mais l’expĂ©rience prouve que, tĂŽt ou tard, ces questions vous rattraperont. + +Cycle de vie de PHP, communication entre nginx et php-fpm, approche shared-nothing, compilation et cache d’opcodes, gestion interne de la mĂ©moire ou mĂȘme architecture logicielle et debugging
 Pour qu’une application rĂ©ponde aux attentes de son public, nous devons comprendre comment PHP fonctionne ! diff --git a/astro/src/content/conferences/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md b/astro/src/content/conferences/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md new file mode 100644 index 000000000..c784fbde4 --- /dev/null +++ b/astro/src/content/conferences/2022-10-13-revue-de-code-on-n-est-pas-venu-pour-souffrir.md @@ -0,0 +1,22 @@ +--- +title: "Revue de code : on n’est pas venu pour souffrir\_!" +description: "Un cadre positif et formateur pour les revues de code\_? C'est possible\_!" +eventName: Forum PHP 2022 +sponsored: true +eventUrl: 'https://event.afup.org/forum-php-2022/' +youtubeId: LVh6iQtJW2I +tags: + - conference + - afup + - forumphp + - revue +color: 'rgb(251,87,66)' +author: al_deboissieu +date: '2022-10-13' +--- + +J'ai rejoint ma nouvelle Ă©quipe il y a 6 mois, avec une apprĂ©hension. Comment allais-je vivre les revues de code par des collĂšgues que je ne connais pas encore ? IncomprĂ©hensions, malentendus : la communication Ă©crite rend cet exercice trĂšs dĂ©licat. Vous avez Ă©tĂ© blessĂ©-e par un commentaire ? Etait-il vraiment mal intentionnĂ© ? Vous avez blessĂ© quelqu'un sans le vouloir, Ă  cause d'une tournure maladroite ? + +Dans mon Ă©quipe, j'ai dĂ©couvert un cadre qui m'a permis de me sentir bien accueillie dĂšs mon arrivĂ©e. En adoptant une posture et une convention bien adaptĂ©e, on peut largement diminuer le risque de mal se comprendre. Non seulement on communique mieux, mais on amĂ©liore la qualitĂ© globale du projet. + +Vous n'aurez plus aucune raison de souffrir ! diff --git a/_posts/2022-10-13-sauve-une-dev-ecris-une-doc.md b/astro/src/content/conferences/2022-10-13-sauve-une-dev-ecris-une-doc.md similarity index 78% rename from _posts/2022-10-13-sauve-une-dev-ecris-une-doc.md rename to astro/src/content/conferences/2022-10-13-sauve-une-dev-ecris-une-doc.md index ff798fdcf..40567ed56 100644 --- a/_posts/2022-10-13-sauve-une-dev-ecris-une-doc.md +++ b/astro/src/content/conferences/2022-10-13-sauve-une-dev-ecris-une-doc.md @@ -1,14 +1,17 @@ --- -layout: conference -title: "Sauve un-e dĂ©v, Ă©cris une doc !" -description: "" -author: s_haim -eventName: "Forum PHP 2022" +title: 'Sauve un-e dĂ©v, Ă©cris une doc !' +eventName: Forum PHP 2022 sponsored: true -eventUrl: "https://event.afup.org/forum-php-2022/" +eventUrl: 'https://event.afup.org/forum-php-2022/' youtubeId: MbLiKVnyGSY -tags: [conference, afup, forumphp, doc] -color: rgb(251,87,66) +tags: + - conference + - afup + - forumphp + - doc +color: 'rgb(251,87,66)' +author: s_haim +date: '2022-10-13' --- Vous ĂȘtes dĂ©veloppeur ou dĂ©veloppeuse PHP : vous aimez programmer, rĂ©flĂ©chir. Vous aimez crĂ©er des applications ou des bibliothĂšques de qualitĂ©. Mais pourquoi personne ne les utilise ? Parce que votre documentation n'est pas Ă  la hauteur ! diff --git a/astro/src/content/conferences/2023-02-08-projet-xstate.md b/astro/src/content/conferences/2023-02-08-projet-xstate.md new file mode 100644 index 000000000..63b3ea415 --- /dev/null +++ b/astro/src/content/conferences/2023-02-08-projet-xstate.md @@ -0,0 +1,31 @@ +--- +title: Projet XState +description: >- + La gestion d'Ă©tat applicative est une notion complexe et fondamentale (donc + passionnante) des applications web modernes. Pour garder le contrĂŽle de votre + application, venez dĂ©couvrir XState, un moteur d'Ă©tats reposant sur le concept + de machines Ă  Ă©tats finis. +eventName: LyonJS Meetup +eventUrl: 'https://www.meetup.com/fr-FR/lyonjs/events/290762638/' +youtubeId: HWRQp2Y1rbw +sponsored: true +hosted: true +tags: + - xstate + - lyonjs + - meetup + - react + - javascript + - conference +comments: true +color: 'rgb(251,87,66)' +language: fr +author: m_blanc +date: '2023-02-08' +--- + +Dans une application frontend moderne, la gestion d'Ă©tat est un Ă©lĂ©ment central de son bon fonctionnement. MalgrĂ© les nombreuses librairies disponibles (Redux, MobX, Recoil...), cette tache reste complexe Ă  rĂ©aliser et il est facile de perdre le contrĂŽle. + +Dans l'objectif de rester maitre de son application, je vous propose de dĂ©couvrir XState, une librairie reposant sur le concept de machine Ă  Ă©tats. Si l'outil ne fait pas tout, le concept de machine Ă  Ă©tat aide grandement Ă  concevoir une application rĂ©siliente. + +Pour prĂ©senter au mieux les concepts, la thĂ©orie sera suivie de pratique au travers d'un live coding. diff --git a/astro/src/content/conferences/2024-04-17-sauve-un-e-dev-ecris-une-doc.md b/astro/src/content/conferences/2024-04-17-sauve-un-e-dev-ecris-une-doc.md new file mode 100644 index 000000000..8256798e0 --- /dev/null +++ b/astro/src/content/conferences/2024-04-17-sauve-un-e-dev-ecris-une-doc.md @@ -0,0 +1,30 @@ +--- +title: 'Sauve un-e dĂ©v, Ă©cris une doc !' +description: >- + Vous ĂȘtes dĂ©veloppeuse : vous aimez programmer, rĂ©flĂ©chir. Vous aimez crĂ©er + des applications ou des bibliothĂšques de qualitĂ©. Mais pourquoi personne ne + les utilise ? Parce que votre documentation n'est pas Ă  la hauteur ! Justement + : je suis experte de la doc, et mon mĂ©tier est de vous aider Ă  valoriser votre + logiciel auprĂšs de ses utilisateurs, Ă  travers une bonne doc. Comprenons + comment architecturer, concevoir et rĂ©diger votre contenu. DĂ©couvrons les + outils qui vous procureront une aide prĂ©cieuse. Enfin, facilitons sa mise Ă  + jour pour qu'elle soit pĂ©renne. DorĂ©navant, vous saurez identifier les + passages obligĂ©s et ceux oĂč vous pouvez gagner du temps. +eventName: Devoxx France 2024 +sponsored: true +eventUrl: 'https://mobile.devoxx.com/events/devoxxfr2024/talks/10852/details' +youtubeId: Jd8k4s7O3GM +tags: + - conference + - devoxx + - doc +color: 'rgb(251,87,66)' +author: s_haim +date: '2024-04-17' +--- + +Vous ĂȘtes dĂ©veloppeur ou dĂ©veloppeuse PHP : vous aimez programmer, rĂ©flĂ©chir. Vous aimez crĂ©er des applications ou des bibliothĂšques de qualitĂ©. Mais pourquoi personne ne les utilise ? Parce que votre documentation n'est pas Ă  la hauteur ! + +Justement : je suis Technical Writer et mon mĂ©tier est de vous aider Ă  valoriser votre logiciel auprĂšs de ses utilisateurs et utilisatrices, Ă  travers une bonne doc. Comprenons comment architecturer, concevoir et rĂ©diger votre contenu. DĂ©couvrons les outils qui vous procurerons une aide prĂ©cieuse. Enfin, facilitons sa mise Ă  jour pour qu'elle soit pĂ©renne. + +DorĂ©navant, vous saurez identifier les passages obligĂ©s et ceux oĂč vous pouvez gagner du temps. diff --git a/astro/src/content/videos/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md b/astro/src/content/videos/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md new file mode 100644 index 000000000..8696db20d --- /dev/null +++ b/astro/src/content/videos/2013-10-09-distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.md @@ -0,0 +1,25 @@ +--- +title: >- + Distribuez votre vidĂ©o partout avec 3 euros en poche et devenez millionaire. + Ou presque. +tags: + - lft + - video +comments: true +youtubeId: uGTF44yjoPg +author: o_mansour +date: '2013-10-09' +permalinkOverride: >- + 2013/10/distribuez-votre-video-partout-avec-3-euros-en-poche-et-devenez-millionaire-ou-presque.html +--- + +"Comment gagner des millions, sans sortir de chez vous, en robe de chambre, en distribuant des vidĂ©os de chats sur les internets, grĂące Ă  ffmeg, h264, dash, tous pleins de buzz word, justin bieber" (Merci ! Toute l'Ă©quipe SEO). + +Une prĂ©sentation de Ludovic Bostral, notre ex valeureux responsable R&D en charge - jusqu'il y a peu de temps - de la fabrication de toutes nos vidĂ©os et du SI associĂ©. + +Si vous vous posez des questions ce sujet, n'hĂ©sitez pas Ă  venir lui [faire un petit coucou virtuel, ou sur Nantes](https://digibos.com/). Ca marche aussi pour discuter zombie ou nanar. Ou mieux, un nanar avec des zombies ! + +Retrouvez Ludovic sur son site : [https://digibos.com](https://digibos.com/). + + + diff --git a/astro/src/content/videos/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md b/astro/src/content/videos/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md new file mode 100644 index 000000000..52401394f --- /dev/null +++ b/astro/src/content/videos/2019-11-14-machine-learning-sans-magie-et-sans-sarracher-les-cheveux.md @@ -0,0 +1,14 @@ +--- +title: Machine learning sans magie et sans s'arracher les cheveux +tags: + - machine learning + - blendwebmix + - conference +color: 'rgb(251,87,66)' +language: fr +youtubeId: 5c120IGLHk8 +author: n_saby +date: '2019-11-14' +--- + +Comprendre le machine learning en prenant l'exemple d'un barbecue. diff --git a/astro/src/content/videos/2022-06-03-amateur-de-pression.md b/astro/src/content/videos/2022-06-03-amateur-de-pression.md new file mode 100644 index 000000000..38a597331 --- /dev/null +++ b/astro/src/content/videos/2022-06-03-amateur-de-pression.md @@ -0,0 +1,16 @@ +--- +title: 'Amateur de pression #LFT 03/06/22' +tags: + - plongĂ©e + - partage + - lft + - partage +comments: true +color: 'rgb(251,87,66)' +youtubeId: 3KbXTzypKRY +author: h_riffiod +date: '2022-06-03' +permalinkOverride: amateur-de-pression +--- + +Ivresse des profondeurs, exploration, dĂ©passement de soi, durant ce talk, Hugo Riffiod nous partage sa passion pour la plongĂ©e sous-marine. diff --git a/astro/src/content/videos/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md b/astro/src/content/videos/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md new file mode 100644 index 000000000..5ee54df17 --- /dev/null +++ b/astro/src/content/videos/2022-06-03-comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web.md @@ -0,0 +1,24 @@ +--- +title: >- + Comment faire un trailer vidĂ©o qui dĂ©chire avec les technos web ? #LFT + 03/06/22 +tags: + - video + - react + - js + - remotion + - ffmpeg + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: LvaHeKiwf0o +author: + - m_alves + - a_caron +date: '2022-06-03' +permalinkOverride: comment-faire-un-trailer-video-qui-dechire-avec-les-technos-web +--- + +Un jour, alors que MickaĂ«l Alves Ă©tait fraichement arrivĂ© Ă  Bedrock, il a eu le malheur de demander Ă  Antoine Caron sur quoi il bossait entre midi et deux, qui semblait fort l'amuser. Quelle erreur du dev Franco-Portugais ! :scream: +Il ne se doutait pas encore de la folie de son nouveau tech lead : *« J'essaie de gĂ©nĂ©rer des vidĂ©os en MP4 Ă  partir de composants React, tu veux voir ? »* diff --git "a/astro/src/content/videos/2022-06-03-connaissez-vous-cache\302\260cache.md" "b/astro/src/content/videos/2022-06-03-connaissez-vous-cache\302\260cache.md" new file mode 100644 index 000000000..c7d49655a --- /dev/null +++ "b/astro/src/content/videos/2022-06-03-connaissez-vous-cache\302\260cache.md" @@ -0,0 +1,16 @@ +--- +title: 'Connaissez vous Cache°Cache ? #LFT 03/06/22' +tags: + - swift + - ios + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: zZnnW_h78-s +author: s_drode +date: '2022-06-03' +permalinkOverride: connaissez-vous-cache°cache +--- + +Petite dĂ©couverte d’un pattern de composition en utilisant une librairie de cache comme exemple, prĂ©sentĂ©e par notre expert Sebastien Drode. diff --git a/astro/src/content/videos/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md b/astro/src/content/videos/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md new file mode 100644 index 000000000..89a60087e --- /dev/null +++ b/astro/src/content/videos/2022-06-03-creer-un-jeu-video-en-moins-dune-heure-sur-unity.md @@ -0,0 +1,18 @@ +--- +title: 'CrĂ©er un jeu vidĂ©o en moins d’une heure sur Unity #LFT 03/06/22' +tags: + - diy + - livecoding + - brewing + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: qEiUSoZbQ68 +author: j_nginn +date: '2022-06-03' +permalinkOverride: creer-un-jeu-video-en-moins-dune-heure-sur-unity +--- + +Julie Nginn nous prĂ©sente une introduction au moteur de jeu Unity, en *livecodant* la construction d'un jeu video. +Pas besoin d'ĂȘtre dĂ©veloppeur pour pouvoir crĂ©er un jeu vidĂ©o, ce talk s’adresse Ă  tout le monde 🙂 diff --git a/astro/src/content/videos/2022-06-03-errances-a-kiilopaala.md b/astro/src/content/videos/2022-06-03-errances-a-kiilopaala.md new file mode 100644 index 000000000..a1244204c --- /dev/null +++ b/astro/src/content/videos/2022-06-03-errances-a-kiilopaala.md @@ -0,0 +1,15 @@ +--- +title: 'Errances Ă  KiilopÀÀ #LFT 03/06/22' +tags: + - voyage + - lft + - partage +comments: true +color: 'rgb(251,87,66)' +youtubeId: r0NahO_EvsE +author: s_guyon +date: '2022-06-03' +permalinkOverride: errances-a-kiilopaa +--- + +Mode d’emploi et retour d’expĂ©rience d’un trek polaire hivernal en solitaire prĂ©sentĂ© par [Sylvain Guyon](https://www.instagram.com/sylvain.guyon.photo/). diff --git a/astro/src/content/videos/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md b/astro/src/content/videos/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md new file mode 100644 index 000000000..a695b18f2 --- /dev/null +++ b/astro/src/content/videos/2022-06-03-la-pression-je-ne-la-subis-pas-je-la-fais.md @@ -0,0 +1,21 @@ +--- +title: 'La pression je ne la subis pas, je la fais #LFT 03/06/22' +tags: + - homemade + - diy + - beer + - brewing + - lft + - partage +comments: true +color: 'rgb(251,87,66)' +youtubeId: BWbmj3E3G7I +author: m_lopez +date: '2022-06-03' +permalinkOverride: la-pression-je-ne-la-subis-pas-je-la-fais +--- + +Dans cette prĂ©sentation, Mathieu Lopez nous prĂ©sente un retour d'expĂ©rience sur le brassage de biĂšre. +Brasser sa biĂšre, comment ça marche ? Quelles sont les Ă©tapes clĂ©s ? +Au final, c'est quoi une biĂšre ? + diff --git "a/astro/src/content/videos/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" "b/astro/src/content/videos/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" new file mode 100644 index 000000000..c7c8562d4 --- /dev/null +++ "b/astro/src/content/videos/2022-06-03-\360\237\215\252-its-cookie-jar-time-\360\237\215\252.md" @@ -0,0 +1,16 @@ +--- +title: "\U0001F36A It’s Cookie Jar Time \U0001F36A #LFT 03/06/22" +tags: + - UX + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: '-rMtDI3tvDI' +author: e_carneau +date: '2022-06-03' +permalinkOverride: "\U0001F36A-its-cookie-jar-time-\U0001F36A" +--- + +DĂ©couvrez “Cookie Jar”, la base de donnĂ©es de connaissances utilisateurs qui centralise et documente toute l’UX research produite chez Bedrock. +PrĂ©sentĂ© par Elise Carenau. diff --git a/astro/src/content/videos/2022-09-30-bullet-journal.md b/astro/src/content/videos/2022-09-30-bullet-journal.md new file mode 100644 index 000000000..6601423ef --- /dev/null +++ b/astro/src/content/videos/2022-09-30-bullet-journal.md @@ -0,0 +1,15 @@ +--- +title: 'Bullet journal #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: 30YlGB3f7es +author: b_garcia +date: '2022-09-30' +permalinkOverride: bullet-journal +--- + +Bullet Journal. +PrĂ©sentĂ© par BĂ©nĂ©dicte Garcia. diff --git a/astro/src/content/videos/2022-09-30-chaos-engineering-frontend.md b/astro/src/content/videos/2022-09-30-chaos-engineering-frontend.md new file mode 100644 index 000000000..5c3e1e80d --- /dev/null +++ b/astro/src/content/videos/2022-09-30-chaos-engineering-frontend.md @@ -0,0 +1,15 @@ +--- +title: 'Chaos engineering dans le frontend #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: Fy0xBZA2P2s +author: t_courtoison +date: '2022-09-30' +permalinkOverride: chaos-engineering-frontend +--- + +DĂ©couvrez comment faire du chaos engineering dans le frontend. +PrĂ©sentĂ© par Thibaud Courtoison. diff --git a/astro/src/content/videos/2022-09-30-comment-cloner-shazam.md b/astro/src/content/videos/2022-09-30-comment-cloner-shazam.md new file mode 100644 index 000000000..9c83f9c96 --- /dev/null +++ b/astro/src/content/videos/2022-09-30-comment-cloner-shazam.md @@ -0,0 +1,15 @@ +--- +title: 'Comment cloner Shazam ! #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: IdMdkpSNPMo +author: m_agack +date: '2022-09-30' +permalinkOverride: comment-cloner-shazam +--- + +DĂ©couvrez comment cloner Shazam! +PrĂ©sentĂ© par Moustapha Agack. diff --git a/astro/src/content/videos/2022-09-30-courir-la-voie-du-fondeur.md b/astro/src/content/videos/2022-09-30-courir-la-voie-du-fondeur.md new file mode 100644 index 000000000..9a6942ea5 --- /dev/null +++ b/astro/src/content/videos/2022-09-30-courir-la-voie-du-fondeur.md @@ -0,0 +1,15 @@ +--- +title: 'Courir: la voi(e/x) du fondeur #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: 0JM1WoOBObs +author: t_sontag +date: '2022-09-30' +permalinkOverride: courir-la-voie-du-fondeur +--- + +Courir: la voi(e/x) du fondeur +PrĂ©sentĂ© par Thomas Sontag. diff --git a/astro/src/content/videos/2022-09-30-la-facilitation-spectacle.md b/astro/src/content/videos/2022-09-30-la-facilitation-spectacle.md new file mode 100644 index 000000000..e49e950b9 --- /dev/null +++ b/astro/src/content/videos/2022-09-30-la-facilitation-spectacle.md @@ -0,0 +1,15 @@ +--- +title: 'La facilitation spectacle : Entre artifices et intention #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: ogtyP75d4gw +author: c_cousin +date: '2022-09-30' +permalinkOverride: la-facilitation-spectacle +--- + +La facilitation spectacle : Entre artifices et intention. +PrĂ©sentĂ© par Camille Cousin & Marie-AndrĂ©e Jolibois. diff --git a/astro/src/content/videos/2022-09-30-nearby-interaction-airtags.md b/astro/src/content/videos/2022-09-30-nearby-interaction-airtags.md new file mode 100644 index 000000000..63a6e52d0 --- /dev/null +++ b/astro/src/content/videos/2022-09-30-nearby-interaction-airtags.md @@ -0,0 +1,17 @@ +--- +title: >- + Nearby interaction, Airtags or how your iPhone shares your location #LFT + 30/09/22 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: gYtGrS4IchM +author: o_balystky +date: '2022-09-30' +permalinkOverride: nearby-interaction-airtags +--- + +DĂ©couvrez comment votre iPhone partage votre localisation. +PrĂ©sentĂ© par Oleksandr Balystky. diff --git a/astro/src/content/videos/2022-09-30-turn-off-your-notifications.md b/astro/src/content/videos/2022-09-30-turn-off-your-notifications.md new file mode 100644 index 000000000..d7c9766ee --- /dev/null +++ b/astro/src/content/videos/2022-09-30-turn-off-your-notifications.md @@ -0,0 +1,15 @@ +--- +title: 'Turn off your fracking notifications #LFT 30/09/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: Z5sES-tLfgE +author: f_dumas +date: '2022-09-30' +permalinkOverride: turn-off-your-notifications +--- + +Turn off your fracking notifications. +PrĂ©sentĂ© par Fabien Dumas. diff --git a/astro/src/content/videos/2022-11-25-docteur-qui.md b/astro/src/content/videos/2022-11-25-docteur-qui.md new file mode 100644 index 000000000..2310eeed8 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-docteur-qui.md @@ -0,0 +1,24 @@ +--- +title: 'Docteur qui ? #LFT 25/11/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: 9ulkF_TvaKw +author: s_haim +date: '2022-11-25' +permalinkOverride: docteur-qui +--- + +> PrĂ©sentation de la sĂ©rie TV iconique, geek et britannique qu'est Doctor Who. +> +> DĂ©couvrez : +> +> De quoi parle Doctor Who ? +> +> Pourquoi cette vieille sĂ©rie est culte ? +> +> Par oĂč commencer si on veut regarder + +PrĂ©sentĂ© par Sarah HaĂŻm-Lubczanski. diff --git a/astro/src/content/videos/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md b/astro/src/content/videos/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md new file mode 100644 index 000000000..6e7cfd4a4 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-ecrire-un-livre-mais-pourquoi-faire.md @@ -0,0 +1,20 @@ +--- +title: 'Écrire un livre, mais pourquoi faire ? #LFT 25/11/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: 9J3PeTHE56E +author: n_saby +date: '2022-11-25' +permalinkOverride: ecrire-un-livre-mais-pourquoi-faire +--- + +> Écrire un livre vous rendra-t-il riche et cĂ©lĂšbre ? Peut-ĂȘtre ou peut-ĂȘtre pas. +> +> En janvier dernier, j'ai publiĂ© un ouvrage sur Spark, framework data, aux Éditions ENI. Je vous propose de vous raconter cette aventure. +> +> De cette maniĂšre-lĂ , vous aurez une vision des bĂ©nĂ©fices (ou pas) que vous pouvez tirer en Ă©crivant un livre. + +PrĂ©sentĂ© par Nastasia Saby. diff --git a/astro/src/content/videos/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md b/astro/src/content/videos/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md new file mode 100644 index 000000000..c966cf732 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas.md @@ -0,0 +1,18 @@ +--- +title: >- + Fabriquer sa table avec plateau live edge : tout ce qu'il faut faire... ou pas + ! #LFT 25/11/22 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: SDdN_CWtv1c +author: t_crespy +date: '2022-11-25' +permalinkOverride: fabriquer-sa-table-avec-plateau-live-edge-tout-ce-quil-faut-faire-ou-pas +--- + +> Fabriquer sa table avec plateau live edge : tout ce qu'il faut faire... ou pas ! + +PrĂ©sentĂ© par TimothĂ© Crespy. diff --git a/_posts/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md b/astro/src/content/videos/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md similarity index 77% rename from _posts/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md rename to astro/src/content/videos/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md index a71c4f643..d432e3c1c 100644 --- a/_posts/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md +++ b/astro/src/content/videos/2022-11-25-quarante-min-pour-comprendre-informatique-quantique.md @@ -1,13 +1,14 @@ --- -layout: video -title: "40 min pour (tenter de) comprendre l'informatique quantique #LFT 25/11/22" -description: "" -author: g_forien -tags: [lft, tech] +title: '40 min pour (tenter de) comprendre l''informatique quantique #LFT 25/11/22' +tags: + - lft + - tech comments: true -color: rgb(251,87,66) +color: 'rgb(251,87,66)' youtubeId: _L2j8DdDUTo -permalink: quarante-min-pour-comprendre-informatique-quantique +author: g_forien +date: '2022-11-25' +permalinkOverride: quarante-min-pour-comprendre-informatique-quantique --- > C'est une technologie qui dĂ©fie l'imagination đŸ€Ż diff --git a/astro/src/content/videos/2022-11-25-reconstitution-medieval.md b/astro/src/content/videos/2022-11-25-reconstitution-medieval.md new file mode 100644 index 000000000..311069fb5 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-reconstitution-medieval.md @@ -0,0 +1,20 @@ +--- +title: >- + git log --since=486-09-16T00:00:00-00:00 --until=1453-05-29T00:00:00 #LFT + 25/11/22 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: oANKiFUavA4 +author: + - o_janin + - t_briset +date: '2022-11-25' +permalinkOverride: reconstitution-medieval +--- + +> Reconstitution medieval et autres joyeusetĂ©s đŸč + +PrĂ©sentĂ© par Olivier Janin et Thomas Briset. diff --git a/_posts/2022-11-25-to-be-or-not-to-be.md b/astro/src/content/videos/2022-11-25-to-be-or-not-to-be.md similarity index 83% rename from _posts/2022-11-25-to-be-or-not-to-be.md rename to astro/src/content/videos/2022-11-25-to-be-or-not-to-be.md index 7ca3fc66e..63960a064 100644 --- a/_posts/2022-11-25-to-be-or-not-to-be.md +++ b/astro/src/content/videos/2022-11-25-to-be-or-not-to-be.md @@ -1,13 +1,16 @@ --- -layout: video -title: "To be or not to be, ou quelques rĂ©flexions sur la dette technique et humaine #LFT 25/11/22" -description: "" -author: e_herve -tags: [lft, tech] +title: >- + To be or not to be, ou quelques rĂ©flexions sur la dette technique et humaine + #LFT 25/11/22 +tags: + - lft + - tech comments: true -color: rgb(251,87,66) +color: 'rgb(251,87,66)' youtubeId: 52JEUdJk2BY -permalink: to-be-or-not-to-be +author: e_herve +date: '2022-11-25' +permalinkOverride: to-be-or-not-to-be --- > Et si on parlait dette technique ? Oui, vous savez bien, tous les trucs qu'on laisse un peu de cĂŽtĂ© pour de bonnes ou de mauvaises raisons. Parceque on aura toujours le temps de voir ça plus tard, parcequ'il n'y a pas de temps pour s'y consacrer, parceque qu'aprĂšs tout, le produit ne fonctionne pas si mal que ça au fond, parceque cela coĂ»te cher ! Mais au fond de vous .... En bon professionnel ĂȘtes vous vraiment en accord avec cette vision ? Etes vous ok pour sacrifier le produit ? diff --git a/astro/src/content/videos/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md b/astro/src/content/videos/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md new file mode 100644 index 000000000..bcfcbd333 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-trois-patterns-avances-pour-ameliorer-la-resilience-une-application.md @@ -0,0 +1,28 @@ +--- +title: >- + Trois patterns avancĂ©s pour amĂ©liorer la rĂ©silience d’une application #LFT + 25/11/22 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: O0nYbEBsPJ0 +author: p_martin +date: '2022-11-25' +permalinkOverride: trois-patterns-avances-pour-ameliorer-la-resilience-une-application +--- + +> AprĂšs la prĂ©sentation gĂ©nĂ©rale d'il y a quelques mois (vidĂ©o publique), plongeons plus en profondeur dans trois approches qui aident Ă  amĂ©liorer la rĂ©silience d'une plateforme. +> +> Nous parlerons, aujourd'hui, de : +> +> Random Jitter ; +> +> de Cell-based architecture ; +> +> et de Shuffle Sharding. +> +> Avec quelques schĂ©mas Ă  ma façon 😍 + +PrĂ©sentĂ© par Pascal Martin. diff --git a/astro/src/content/videos/2022-11-25-trophy-hunter.md b/astro/src/content/videos/2022-11-25-trophy-hunter.md new file mode 100644 index 000000000..f18fa3849 --- /dev/null +++ b/astro/src/content/videos/2022-11-25-trophy-hunter.md @@ -0,0 +1,16 @@ +--- +title: 'Trophy Hunter #LFT 25/11/22' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: yueUdqkc3eo +author: o_thebault +date: '2022-11-25' +permalinkOverride: trophy-hunter +--- + +> Les chasseurs qui ne font de mal Ă  personne d'autres qu'Ă  eux-mĂȘmes đŸ˜» + +PrĂ©sentĂ© par Oliver ThĂ©bault. diff --git a/astro/src/content/videos/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md b/astro/src/content/videos/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md new file mode 100644 index 000000000..3a1ec9b2a --- /dev/null +++ b/astro/src/content/videos/2023-01-27-festival-de-cannes-de-sa-naissance-a-aujourdhui.md @@ -0,0 +1,15 @@ +--- +title: 'Le festival de cannes de sa naissance Ă  aujourd’hui #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: biuVR0aqHPI +author: m_lemoal +date: '2023-01-27' +permalinkOverride: festival-de-cannes-de-sa-naissance-a-aujourdhui +--- + +Le festival de cannes de sa naissance Ă  aujourd’hui +PrĂ©sentĂ© par Maxime LE MOAL. diff --git a/astro/src/content/videos/2023-01-27-hotographie-de-paysages-nocturnes.md b/astro/src/content/videos/2023-01-27-hotographie-de-paysages-nocturnes.md new file mode 100644 index 000000000..8b380a6a1 --- /dev/null +++ b/astro/src/content/videos/2023-01-27-hotographie-de-paysages-nocturnes.md @@ -0,0 +1,15 @@ +--- +title: 'La photographie de paysages nocturnes #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: XjKOT60DAWY +author: c_niel +date: '2023-01-27' +permalinkOverride: photographie-de-paysages-nocturnes +--- + +La photographie de paysages nocturnes +PrĂ©sentĂ© par Camille NIEL. diff --git a/astro/src/content/videos/2023-01-27-la-culture-hip-hop.md b/astro/src/content/videos/2023-01-27-la-culture-hip-hop.md new file mode 100644 index 000000000..657d1234b --- /dev/null +++ b/astro/src/content/videos/2023-01-27-la-culture-hip-hop.md @@ -0,0 +1,15 @@ +--- +title: 'La culture Hip-Hop #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: p2b5VSAXjlA +author: p_halter +date: '2023-01-27' +permalinkOverride: la-culture-hip-hop +--- + +La culture Hip-Hop +PrĂ©sentĂ© par Pascal HALTER. diff --git a/astro/src/content/videos/2023-01-27-la-philo-et-les-livres.md b/astro/src/content/videos/2023-01-27-la-philo-et-les-livres.md new file mode 100644 index 000000000..13f9c1e5d --- /dev/null +++ b/astro/src/content/videos/2023-01-27-la-philo-et-les-livres.md @@ -0,0 +1,17 @@ +--- +title: >- + La philo et les livres : mes compagnons de route pour les dĂ©fis sportifs #LFT + 27/01/23 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: 80caZ6ejwwA +author: c_pettinelli +date: '2023-01-27' +permalinkOverride: la-philo-et-les-livres +--- + +La philo et les livres : mes compagnons de route pour les dĂ©fis sportifs +PrĂ©sentĂ© par Chiara PETTINELLI. diff --git a/astro/src/content/videos/2023-01-27-loignon-dans-le-web.md b/astro/src/content/videos/2023-01-27-loignon-dans-le-web.md new file mode 100644 index 000000000..340632d52 --- /dev/null +++ b/astro/src/content/videos/2023-01-27-loignon-dans-le-web.md @@ -0,0 +1,15 @@ +--- +title: 'Qu’est-ce que l’oignon dans le Web ? #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: g4TUxEAXN4Q +author: e_doyon +date: '2023-01-27' +permalinkOverride: loignon-dans-le-web +--- + +Qu’est-ce que l’oignon dans le Web ? +PrĂ©sentĂ© par Etienne Doyon. diff --git a/astro/src/content/videos/2023-01-27-projet-xstate.md b/astro/src/content/videos/2023-01-27-projet-xstate.md new file mode 100644 index 000000000..5d2e0f456 --- /dev/null +++ b/astro/src/content/videos/2023-01-27-projet-xstate.md @@ -0,0 +1,15 @@ +--- +title: 'Projet XState #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: BQ6mh81tOPs +author: m_blanc +date: '2023-01-27' +permalinkOverride: projet-xstate +--- + +Projet XState. +PrĂ©sentĂ© par Maxime BLANC. diff --git a/astro/src/content/videos/2023-01-27-the-time-i-tried-to-build-a-second-brain.md b/astro/src/content/videos/2023-01-27-the-time-i-tried-to-build-a-second-brain.md new file mode 100644 index 000000000..88de669bc --- /dev/null +++ b/astro/src/content/videos/2023-01-27-the-time-i-tried-to-build-a-second-brain.md @@ -0,0 +1,15 @@ +--- +title: 'The time I tried to build a Second Brain #LFT 27/01/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: bbOM6YJcoz0 +author: s_zoccarato +date: '2023-01-27' +permalinkOverride: the-time-i-tried-to-build-a-second-brain +--- + +The time I tried to build a Second Brain +PrĂ©sentĂ© par Sylvain ZOCCARATO. diff --git a/astro/src/content/videos/2023-03-31-analyse-charte-graphique.md b/astro/src/content/videos/2023-03-31-analyse-charte-graphique.md new file mode 100644 index 000000000..42742ec19 --- /dev/null +++ b/astro/src/content/videos/2023-03-31-analyse-charte-graphique.md @@ -0,0 +1,15 @@ +--- +title: 'Couleur, Typographie, Logo: Analyse dune charte graphique #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: xxLHKgVo3qk +author: s_masson +date: '2023-03-31' +permalinkOverride: analyse-charte-graphique +--- + +Couleur, Typographie, Logo: Analyse dune charte graphique. +PrĂ©sentĂ© par Sylvain MASSON. diff --git a/astro/src/content/videos/2023-03-31-capture-et-signification-de-la-couleur.md b/astro/src/content/videos/2023-03-31-capture-et-signification-de-la-couleur.md new file mode 100644 index 000000000..f4db98bbb --- /dev/null +++ b/astro/src/content/videos/2023-03-31-capture-et-signification-de-la-couleur.md @@ -0,0 +1,17 @@ +--- +title: >- + Comment j'ai rĂ©ussi Ă  capturer la couleur et quelle est sa signification ? + #LFT 31/03/23 +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: Qjn4JZZO7C4 +author: h_detang +date: '2023-03-31' +permalinkOverride: capture-et-signification-de-la-couleur +--- + +Comment j'ai rĂ©ussi Ă  capturer la couleur et quelle est sa signification ? +PrĂ©sentĂ© par Hugo DETANG. diff --git a/astro/src/content/videos/2023-03-31-comment-enfin-sortir-vos-side-projects.md b/astro/src/content/videos/2023-03-31-comment-enfin-sortir-vos-side-projects.md new file mode 100644 index 000000000..c5ca193bd --- /dev/null +++ b/astro/src/content/videos/2023-03-31-comment-enfin-sortir-vos-side-projects.md @@ -0,0 +1,15 @@ +--- +title: 'Comment (enfin) sortir vos side projects #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: DCudohbJ6gU +author: t_jarrand +date: '2023-03-31' +permalinkOverride: comment-enfin-sortir-vos-side-projects +--- + +Comment (enfin) sortir vos side projects. +PrĂ©sentĂ© par Thomas JARRAND. diff --git a/astro/src/content/videos/2023-03-31-comment-gerer-des-journees-de-35h.md b/astro/src/content/videos/2023-03-31-comment-gerer-des-journees-de-35h.md new file mode 100644 index 000000000..11cf3ec20 --- /dev/null +++ b/astro/src/content/videos/2023-03-31-comment-gerer-des-journees-de-35h.md @@ -0,0 +1,15 @@ +--- +title: 'Comment gĂ©rer des journĂ©es de 35h #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: ylrp8D0w540 +author: s_gougouzian +date: '2023-03-31' +permalinkOverride: comment-gerer-des-journees-de-35h +--- + +Comment gĂ©rer des journĂ©es de 35h +PrĂ©sentĂ© par Sylvain GOUGOUZIAN. diff --git a/astro/src/content/videos/2023-03-31-guide-pratique-amateur-horlogerie.md b/astro/src/content/videos/2023-03-31-guide-pratique-amateur-horlogerie.md new file mode 100644 index 000000000..6003142f3 --- /dev/null +++ b/astro/src/content/videos/2023-03-31-guide-pratique-amateur-horlogerie.md @@ -0,0 +1,15 @@ +--- +title: 'Montres bracelets, le guide pratique de l''amateur d''horlogerie #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: c52fwFVdChU +author: r_panoyan +date: '2023-03-31' +permalinkOverride: guide-pratique-amateur-horlogerie +--- + +Montres bracelets, le guide pratique de l'amateur d'horlogerie. +PrĂ©sentĂ© par Rafi PANOYAN. diff --git a/astro/src/content/videos/2023-03-31-rex-shape-up.md b/astro/src/content/videos/2023-03-31-rex-shape-up.md new file mode 100644 index 000000000..9db1c7b45 --- /dev/null +++ b/astro/src/content/videos/2023-03-31-rex-shape-up.md @@ -0,0 +1,15 @@ +--- +title: 'REX-Shape Up, un LFT dont vous ĂȘtes les hĂ©ros #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: OjP8mGmkPs0 +author: pt_guillot +date: '2023-03-31' +permalinkOverride: rex-shape-up +--- + +REX-Shape Up, un LFT dont vous ĂȘtes les hĂ©ros. +PrĂ©sentĂ© par Pierre-Thomas GUILLOT. diff --git a/astro/src/content/videos/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md b/astro/src/content/videos/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md new file mode 100644 index 000000000..6aeba6937 --- /dev/null +++ b/astro/src/content/videos/2023-03-31-twitch-du-streaming-mais-pas-en-lit-de-pierre.md @@ -0,0 +1,15 @@ +--- +title: 'Twitch: du streaming mais pas en lit de pierre #LFT 31/03/23' +tags: + - lft + - tech +comments: true +color: 'rgb(251,87,66)' +youtubeId: JzYgiAfS3Bs +author: q_gillie +date: '2023-03-31' +permalinkOverride: twitch-streaming +--- + +Twitch: du streaming mais pas en lit de pierre. +PrĂ©sentĂ© par Quentin GILLIE. diff --git a/_posts/2023-06-02-brag-document.md b/astro/src/content/videos/2023-06-02-brag-document.md similarity index 79% rename from _posts/2023-06-02-brag-document.md rename to astro/src/content/videos/2023-06-02-brag-document.md index 095a83588..4b3114dbb 100644 --- a/_posts/2023-06-02-brag-document.md +++ b/astro/src/content/videos/2023-06-02-brag-document.md @@ -1,12 +1,13 @@ --- -layout: video -title: "CĂ©lĂ©brons nos rĂ©ussites grĂące au Brag Document ! #LFT 02/06/23" -description: "" -author: al_deboissieu -tags: [lft, tech] -color: rgb(251,87,66) +title: 'CĂ©lĂ©brons nos rĂ©ussites grĂące au Brag Document ! #LFT 02/06/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: vktamvlVBx8 -permalink: brag-document +author: al_deboissieu +date: '2023-06-02' +permalinkOverride: brag-document --- > « Quelles sont tes rĂ©ussites du dernier sprint ? Qu’as-tu aimĂ© faire? » Si, comme pour moi, vos rĂ©ussites s’évaporent de votre mĂ©moire comme un mojito au soleil, alors le Brag Document est fait pour vous. @@ -15,4 +16,4 @@ permalink: brag-document > > Regardons un exemple de template pour initier son propre Brag Document. Puis je vous proposerai un exemple de mise en place du Brag Document au sein d’une Ă©quipe (Picsou), auprĂšs de chaque collĂšgue mais aussi pour la team en elle-mĂȘme. N’oublions plus nos rĂ©ussites ! -Par [Anne-Laure de Boissieu](https://twitter.com/AnneLaure2B). \ No newline at end of file +Par [Anne-Laure de Boissieu](https://twitter.com/AnneLaure2B). diff --git a/astro/src/content/videos/2023-06-02-creer-son-association.md b/astro/src/content/videos/2023-06-02-creer-son-association.md new file mode 100644 index 000000000..2c860f152 --- /dev/null +++ b/astro/src/content/videos/2023-06-02-creer-son-association.md @@ -0,0 +1,19 @@ +--- +title: 'CrĂ©er son association #LFT 02/06/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: 7m-DM8A76UI +author: g_treme +date: '2023-06-02' +permalinkOverride: creer-son-association +--- + +> Ça fait maintenant plus de deux ans que j'ai créé mon association sportive. J'aimerais Ă  travers ce talk, faire un retour d'expĂ©rience sur mon aventure associative. +> +> Le format serait axĂ© autour d'un fil rouge concernant ma propre expĂ©rience avec mon association "Fit for All" Tout en gĂ©nĂ©ralisant des tips et des "choses Ă  savoir/connaitre" pour monter un association. +> +> Je fais ce talk sur toutes les choses que j'aurais aimĂ© savoir avant de me lancer "dans le grand bassin" + +PrĂ©sentĂ© par Guillaume TrĂ©mĂ©. diff --git a/_posts/2023-06-02-ozint-vos-data.md b/astro/src/content/videos/2023-06-02-ozint-vos-data.md similarity index 83% rename from _posts/2023-06-02-ozint-vos-data.md rename to astro/src/content/videos/2023-06-02-ozint-vos-data.md index 85814f6ef..d1e1743dc 100644 --- a/_posts/2023-06-02-ozint-vos-data.md +++ b/astro/src/content/videos/2023-06-02-ozint-vos-data.md @@ -1,16 +1,17 @@ --- -layout: video -title: "OZINT - Vos traces vous trahissent ! #LFT 02/06/23" -description: "" -author: a_martins -tags: [lft, tech] -color: rgb(251,87,66) +title: 'OZINT - Vos traces vous trahissent ! #LFT 02/06/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: ZC5KjlXpEBE -permalink: ozint-lft +author: a_martins +date: '2023-06-02' +permalinkOverride: ozint-lft --- > L’Open Source Intelligence (OSINT), ou le renseignement en sources ouvertes (ROSO) en français, est un ensemble de mĂ©thodologies et de pratiques destinĂ©s Ă  la collecte et l'analyse d’informations publiques et lĂ©gales en ayant pour objectif de rĂ©pondre Ă  des questions ou de faire des choix. L’OSINT est utilisĂ© dans le monde du public comme dans le monde du privĂ©, et dans plusieurs domaines, incluant : l’intelligence Ă©conomique, le journalisme, les services de renseignement, la recherche scientifique, la cybersĂ©curitĂ©, ou encore la lutte contre la criminalitĂ©. > > L'objectif de cette confĂ©rence serait de mettre en lumiĂšre cette discipline mal connue, mais Ă©galement d'utiliser les mĂ©thodes OSINT pour effectuer une dĂ©monstration de sensibilisation sur le sujet des donnĂ©es personnelles. -Par Alexis Martins \ No newline at end of file +Par Alexis Martins diff --git a/_posts/2023-06-02-panorama-animation-css-2023.md b/astro/src/content/videos/2023-06-02-panorama-animation-css-2023.md similarity index 81% rename from _posts/2023-06-02-panorama-animation-css-2023.md rename to astro/src/content/videos/2023-06-02-panorama-animation-css-2023.md index 4854106c3..1693f6179 100644 --- a/_posts/2023-06-02-panorama-animation-css-2023.md +++ b/astro/src/content/videos/2023-06-02-panorama-animation-css-2023.md @@ -1,12 +1,15 @@ --- -layout: video -title: "Du CSS aux shaders WebGL : panorama des techniques d'animation en 2023 #LFT 02/06/23" -description: "" -author: j_sulpis -tags: [lft, tech] -color: rgb(251,87,66) +title: >- + Du CSS aux shaders WebGL : panorama des techniques d'animation en 2023 #LFT + 02/06/23 +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: 41yhiAumEy4 -permalink: panorama-css-animations +author: j_sulpis +date: '2023-06-02' +permalinkOverride: panorama-css-animations --- > Parfois subtiles, parfois proĂ©minentes, les animations sont un Ă©lĂ©ment essentiel pour une expĂ©rience utilisateur agrĂ©able. Mais une fois qu'on a imaginĂ© des animations plus ou moins folles, vient la question fatidique du "comment fait-on ça ?", Ă  laquelle j'aimerais vous aider Ă  rĂ©pondre. @@ -15,4 +18,4 @@ permalink: panorama-css-animations > > Je passerai rapidement sur toutes ces techniques, en comparant leurs performances et utilisations possibles, afin de vous laisser la libertĂ© d'explorer plus en profondeur celles qui vous intĂ©ressent. -PrĂ©sentĂ© par [Julien Sulpis](https://github.com/jsulpis). \ No newline at end of file +PrĂ©sentĂ© par [Julien Sulpis](https://github.com/jsulpis). diff --git a/_posts/2023-06-02-situations-conflictuelles.md b/astro/src/content/videos/2023-06-02-situations-conflictuelles.md similarity index 80% rename from _posts/2023-06-02-situations-conflictuelles.md rename to astro/src/content/videos/2023-06-02-situations-conflictuelles.md index 6dfb3b2d9..78331df10 100644 --- a/_posts/2023-06-02-situations-conflictuelles.md +++ b/astro/src/content/videos/2023-06-02-situations-conflictuelles.md @@ -1,12 +1,15 @@ --- -layout: video -title: "Situations conflictuelles : et si vous sortiez de la spirale infernale ? #LFT 02/06/23" -description: "" -author: e_perrin -tags: [lft, tech] -color: rgb(251,87,66) +title: >- + Situations conflictuelles : et si vous sortiez de la spirale infernale ? #LFT + 02/06/23 +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: SFPktJAO4uI -permalink: situations-conflictuelles +author: e_perrin +date: '2023-06-02' +permalinkOverride: situations-conflictuelles --- > **PersĂ©cuteur, victime, sauveur
 lequel ĂȘtes-vous ?** @@ -19,4 +22,4 @@ permalink: situations-conflictuelles > > Apprenons Ă  identifier ces rĂŽles pour comprendre leurs effets sur nos relations avec nos collĂšgues, puis nous explorerons comment en sortir pour des interactions plus constructives et positives. Mettons fin Ă  cette spirale infernale ! -Par Elodie Perrin \ No newline at end of file +Par Elodie Perrin diff --git a/astro/src/content/videos/2023-06-02-vacances-velo-lft.md b/astro/src/content/videos/2023-06-02-vacances-velo-lft.md new file mode 100644 index 000000000..f94600165 --- /dev/null +++ b/astro/src/content/videos/2023-06-02-vacances-velo-lft.md @@ -0,0 +1,15 @@ +--- +title: 'Et si vos prochaines vacances se passaient Ă  vĂ©lo ? #LFT 02/06/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: hVzmy8HMg6k +author: t_jarrand +date: '2023-06-02' +permalinkOverride: vacances-a-velo +--- + +> La randonnĂ©e Ă  vĂ©lo, c'est Ă©conomique, Ă©cologique, relaxant, dĂ©paysant et c'est plus facile d'accĂšs que ce que vous pourriez pensez. Alors on y va ? Un talk pour bien dĂ©marrer, faire dĂ©couvrir, chasser les idĂ©es reçues, partager des astuces et donner l'envie de pĂ©daler ! + +Par [Thomas Jarrand](https://github.com/tom32i) diff --git a/astro/src/content/videos/2023-09-29-json-au-service-des-devs.md b/astro/src/content/videos/2023-09-29-json-au-service-des-devs.md new file mode 100644 index 000000000..91a6a63d8 --- /dev/null +++ b/astro/src/content/videos/2023-09-29-json-au-service-des-devs.md @@ -0,0 +1,15 @@ +--- +title: 'Json au service des devs #LFT 29/09/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: cdWwagPGsXo +author: j_nginn +date: '2023-09-29' +permalinkOverride: json-au-service-des-devs +--- + +> Éditer un CV, imprimer des fiches de recette, Ă©crire une lettre de motivation, rĂ©diger un rapport ... Tant de choses fastidieuses Ă  Ă©crire et chiantes Ă  mettre en page (surtout quand on ne sait pas utiliser Word). C'est pourquoi j'ai dĂ©veloppĂ© un outil pour m'aider Ă  faire tout ça en utilisant uniquement du JSON ! + +Par **Julie Nginn** diff --git a/astro/src/content/videos/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md b/astro/src/content/videos/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md new file mode 100644 index 000000000..a3affd3c6 --- /dev/null +++ b/astro/src/content/videos/2023-09-29-la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale.md @@ -0,0 +1,17 @@ +--- +title: >- + La traversĂ©e du Finnmarksvidda: carnet de bord d’une aventure glaciale #LFT + 29/09/23 +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: j7zdFR0DGyQ +author: s_guyon +date: '2023-09-29' +permalinkOverride: la-traversee-du-finnmarksvidda-carnet-de-bord-d-une-aventure-glaciale +--- + +> Carnet de voyage de ma traversĂ©e en solitaire du plateau du Finnmarksvidda, en NorvĂšge, entre Alta et Karasjok, en mars 2023. + +Par **Sylvain Guyon** diff --git a/_posts/2023-09-29-le-don-du-sang.md b/astro/src/content/videos/2023-09-29-le-don-du-sang.md similarity index 80% rename from _posts/2023-09-29-le-don-du-sang.md rename to astro/src/content/videos/2023-09-29-le-don-du-sang.md index 4371d4537..724115d70 100644 --- a/_posts/2023-09-29-le-don-du-sang.md +++ b/astro/src/content/videos/2023-09-29-le-don-du-sang.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Le Don du Sang (et +) #LFT 29/09/23" -description: "" -author: q_nambot -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Le Don du Sang (et +) #LFT 29/09/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: PvtIvvx-ORI -permalink: le-don-du-sang +author: q_nambot +date: '2023-09-29' +permalinkOverride: le-don-du-sang --- > Donner son sang, c'est unanimement considĂ©rĂ© comme une bonne action diff --git a/_posts/2023-09-29-mentors-super-heros-ou-super-vilains.md b/astro/src/content/videos/2023-09-29-mentors-super-heros-ou-super-vilains.md similarity index 80% rename from _posts/2023-09-29-mentors-super-heros-ou-super-vilains.md rename to astro/src/content/videos/2023-09-29-mentors-super-heros-ou-super-vilains.md index bc009fd27..441384a1c 100644 --- a/_posts/2023-09-29-mentors-super-heros-ou-super-vilains.md +++ b/astro/src/content/videos/2023-09-29-mentors-super-heros-ou-super-vilains.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Mentors: super-hĂ©ros ou super-vilains ? #LFT 29/09/23" -description: "" -author: p_rambaud -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Mentors: super-hĂ©ros ou super-vilains ? #LFT 29/09/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: QM5CDEtwsmo -permalink: mentors-super-heros-ou-super-vilains +author: p_rambaud +date: '2023-09-29' +permalinkOverride: mentors-super-heros-ou-super-vilains --- > DĂ©veloppeuse junior, j’ai eu du mal Ă  trouver ma place et faire mes preuves. Étudiante, vous m’aviez dit : “Deviens PO ou chef de projet !”. Je ne voulais pas d’un mĂ©tier fonctionnel. Je me suis fixĂ©e un but, rĂ©ussir lĂ  oĂč vous, profs, maitres de stage, ne vouliez pas que j’aille. Des rencontres, cauchemardesques comme merveilleuses, tout au long de mon apprentissage, m’ont aidĂ©e Ă  confirmer mon choix professionnel : ĂȘtre dĂ©veloppeuse ! Comment mes mentors m’ont guidĂ©e ? Je partagerai des actions et des comportements qui m’ont incitĂ©e Ă  lutter pour atteindre mes objectifs. diff --git a/_posts/2023-09-29-nourrir-nos-ia.md b/astro/src/content/videos/2023-09-29-nourrir-nos-ia.md similarity index 78% rename from _posts/2023-09-29-nourrir-nos-ia.md rename to astro/src/content/videos/2023-09-29-nourrir-nos-ia.md index f567ae8bc..82465c89a 100644 --- a/_posts/2023-09-29-nourrir-nos-ia.md +++ b/astro/src/content/videos/2023-09-29-nourrir-nos-ia.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Nourrir nos IA #LFT 29/09/23" -description: "" -author: n_saby -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Nourrir nos IA #LFT 29/09/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: gfXopH0v9Wg -permalink: nourrir-nos-ia +author: n_saby +date: '2023-09-29' +permalinkOverride: nourrir-nos-ia --- > ChatGPT, c'est magique. L'IA, c'est futur de l'homme. Les rĂ©seaux neuronaux, c'est la vie. Vraiment ? diff --git a/astro/src/content/videos/2023-09-29-siteswap-jongler-avec-les-maths.md b/astro/src/content/videos/2023-09-29-siteswap-jongler-avec-les-maths.md new file mode 100644 index 000000000..85ef0dfe0 --- /dev/null +++ b/astro/src/content/videos/2023-09-29-siteswap-jongler-avec-les-maths.md @@ -0,0 +1,15 @@ +--- +title: 'Siteswap: jongler avec les maths #LFT 29/09/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: stp4lnxvyJk +author: d_krieger +date: '2023-09-29' +permalinkOverride: siteswap-jongler-avec-les-maths +--- + +> PrĂ©sentation des concepts de base du Siteswap, la notation mathĂ©matique qui permet de dĂ©crire les patterns/figures de jonglerie. DĂ©finition, exemples basiques, limites, comment dĂ©terminer si une sĂ©quence est valide... avec dĂ©monstration en direct de certaines figures. + +Par **Damien Krieger** diff --git a/astro/src/content/videos/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md b/astro/src/content/videos/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md new file mode 100644 index 000000000..538254337 --- /dev/null +++ b/astro/src/content/videos/2023-11-24-comment-faire-de-votre-vie-un-blackfriday-permanent.md @@ -0,0 +1,15 @@ +--- +title: 'Comment faire de votre vie un BlackFriday permanent #LFT 24/11/23' +tags: + - lft +color: 'rgb(251,87,66)' +youtubeId: WUA7Zi5pakc +author: t_sontag +date: '2023-11-24' +permalinkOverride: comment-faire-de-votre-vie-un-blackfriday-permanent +--- + +> A travers ce talk, j’aimerai vous initier Ă  l’intĂ©rĂȘt de la nĂ©gociation et les diffĂ©rentes techniques que l’on peut utiliser pour bien nĂ©gocier. +> L’idĂ©e est de vous donner des clĂ©s simples et efficaces pour aborder une situation frĂ©quente qui peut parfois ĂȘtre source de stress ou de tensions. + +Par **Thomas Sontag** diff --git a/_posts/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md b/astro/src/content/videos/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md similarity index 77% rename from _posts/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md rename to astro/src/content/videos/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md index 5dea19b46..9685e9689 100644 --- a/_posts/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md +++ b/astro/src/content/videos/2023-11-24-comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans.md @@ -1,12 +1,17 @@ --- -layout: video -title: "Comment ne pas jeter son application Frontend tout les deux ans ? #LFT 24/11/23" -description: "" -author: [f_dubost, a_caron] -tags: [lft, tech] -color: rgb(251,87,66) +title: >- + Comment ne pas jeter son application Frontend tout les deux ans ? #LFT + 24/11/23 +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: 34y6yBimcxo -permalink: comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans +author: + - f_dubost + - a_caron +date: '2023-11-24' +permalinkOverride: comment-ne-pas-jeter-son-application-frontend-tout-les-deux-ans --- > _Bonnes pratiques pour la maintenance d'une application web_ diff --git a/astro/src/content/videos/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md b/astro/src/content/videos/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md new file mode 100644 index 000000000..0ed5c0461 --- /dev/null +++ b/astro/src/content/videos/2023-11-24-jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur.md @@ -0,0 +1,21 @@ +--- +title: >- + Jeux vidĂ©o, websocket et binaire: temps rĂ©el efficace pour navigateur #LFT + 24/11/23 +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: jJ258c_C6Sc +author: t_jarrand +date: '2023-11-24' +permalinkOverride: jeux-video-websocket-et-binaire-temps-reel-efficace-pour-navigateur +--- + +> Connaissez vous les websockets ? La techno idĂ©ale pour coder des expĂ©riences temps rĂ©el dans le navigateur et que j'utilise dans tout mes projets collaboratifs et jeux multijoueur ? + +> Je vous propose de nous intĂ©resser Ă  son fonctionnement, et Ă  la façon dont on peut mettre en place cette communication client/serveur performante, en Ă©changeant directement en binaire. + +> On s'amusera Ă  les voir prendre vie tous ensemble dans une dĂ©mo live...en GO ! + +Par **Thomas Jarrand** diff --git a/_posts/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md b/astro/src/content/videos/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md similarity index 83% rename from _posts/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md rename to astro/src/content/videos/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md index 75f02d074..1b8726467 100644 --- a/_posts/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md +++ b/astro/src/content/videos/2023-11-24-le-futur-du-web-est-sur-la-peripherie-du-reseau.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Le futur du web est sur la pĂ©riphĂ©rie du rĂ©seau #LFT 24/11/23" -description: "" -author: j_sulpis -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Le futur du web est sur la pĂ©riphĂ©rie du rĂ©seau #LFT 24/11/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: 2iQJgNB2DN0 -permalink: le-futur-du-web-est-sur-la-peripherie-du-reseau +author: j_sulpis +date: '2023-11-24' +permalinkOverride: le-futur-du-web-est-sur-la-peripherie-du-reseau --- > Le mot est apparu sur toutes les documentations ces derniers mois : les cloud providers comme Vercel, Netlify ou AWS proposent leur version des "Edge Functions", alors que les frameworks Javascript comme Next, Nuxt ou encore Astro mettent en avant leur support des "Edge API Routes" ou du "SSR on the Edge". Mais qu'est-ce donc que tout cela ? diff --git a/_posts/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md b/astro/src/content/videos/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md similarity index 78% rename from _posts/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md rename to astro/src/content/videos/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md index 91405780c..8835e96c0 100644 --- a/_posts/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md +++ b/astro/src/content/videos/2023-11-24-stop-a-l-espionnage-comment-disparaitre-d-internet.md @@ -1,12 +1,15 @@ --- -layout: video -title: "STOP Ă  l'espionnage ! Comment disparaĂźtre d'internet ? #LFT 24/11/23" -description: "" -author: [e_idoux, m_alves] -tags: [lft, tech] -color: rgb(251,87,66) +title: 'STOP Ă  l''espionnage ! Comment disparaĂźtre d''internet ? #LFT 24/11/23' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: t0qWEO9-BD4 -permalink: stop-a-l-espionnage-comment-disparaitre-d-internet +author: + - e_idoux + - m_alves +date: '2023-11-24' +permalinkOverride: stop-a-l-espionnage-comment-disparaitre-d-internet --- > Vous en avez marre de vous sentir traquĂ© sur Internet ? 😒 Nous aussi ! Mais est-il rĂ©ellement possible de nos jours de devenir un vĂ©ritable ninja digital ? đŸ„·đŸ» Et si pour protĂ©ger votre vie privĂ©e en ligne, il fallait tout d’abord comprendre qui a accĂšs Ă  vos donnĂ©es et ce qu’ils peuvent faire avec ? diff --git a/_posts/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md b/astro/src/content/videos/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md similarity index 80% rename from _posts/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md rename to astro/src/content/videos/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md index 895912f00..e7254862c 100644 --- a/_posts/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md +++ b/astro/src/content/videos/2024-02-02-au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Au-delĂ  des industries : Le pouvoir de l'Ă©tat d'esprit #LFT 02/02/24" -description: "" -author: s_menassa -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Au-delĂ  des industries : Le pouvoir de l''Ă©tat d''esprit #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: IKT1-xuKR-0 -permalink: au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit +author: s_menassa +date: '2024-02-02' +permalinkOverride: au-dela-des-industries-le-pouvoir-de-l-etat-d-esprit --- > Je souhaite explorer l'idĂ©e selon laquelle le succĂšs n'est pas dĂ©fini par une industrie, une discipline ou un secteur spĂ©cifique, mais repose plutĂŽt sur notre Ă©tat d'esprit. À travers mes expĂ©riences personnelles variĂ©es - en cosmĂ©tique, marketing, e-commerce, ainsi que dans le domaine des bars, restaurants et de l'industrie - je mets en avant l'idĂ©e que les principes du succĂšs sont universels. Cette prĂ©sentation souligne l'importance de la mentalitĂ©, de la persĂ©vĂ©rance, des stratĂ©gies adoptĂ©es et d'une mĂ©thode, indĂ©pendamment du secteur professionnel. diff --git a/_posts/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md b/astro/src/content/videos/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md similarity index 81% rename from _posts/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md rename to astro/src/content/videos/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md index 115f9a097..9e3358f86 100644 --- a/_posts/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md +++ b/astro/src/content/videos/2024-02-02-comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Comment j'ai retrouvĂ© le sens de la vie grĂące Ă  WebAssembly #LFT 02/02/24" -description: "" -author: t_gianella -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Comment j''ai retrouvĂ© le sens de la vie grĂące Ă  WebAssembly #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: kwG-RuEy_74 -permalink: comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly +author: t_gianella +date: '2024-02-02' +permalinkOverride: comment-j-ai-retrouve-le-sens-de-la-vie-grace-a-web-assembly --- > Le jeu de la vie est un drĂŽle de jeu qui a la particularitĂ© de n'avoir pas de joueur. Il se joue de lui-mĂȘme et produit des configurations qui semblent Ă©voluer de maniĂšre autonome, sans intervention extĂ©rieure. A partir de rĂšgles trĂšs basiques, des structures d'une trĂšs grande complexitĂ© peuvent Ă©merger d'une maniĂšre qui Ă©voque l'apparition de la vie sur Terre Ă  partir d'Ă©lĂ©ments inertes, d'oĂč le nom mystĂ©rieux de jeu de la vie. diff --git a/_posts/2024-02-02-du-code-a-l-image-aller-et-retour.md b/astro/src/content/videos/2024-02-02-du-code-a-l-image-aller-et-retour.md similarity index 85% rename from _posts/2024-02-02-du-code-a-l-image-aller-et-retour.md rename to astro/src/content/videos/2024-02-02-du-code-a-l-image-aller-et-retour.md index fa8076e1a..53ef25510 100644 --- a/_posts/2024-02-02-du-code-a-l-image-aller-et-retour.md +++ b/astro/src/content/videos/2024-02-02-du-code-a-l-image-aller-et-retour.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Du code Ă  l'image : Aller et Retour #LFT 02/02/24" -description: "" -author: e_doyon -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Du code Ă  l''image : Aller et Retour #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: 6Y9IEdmvETU -permalink: du-code-a-l-image-aller-et-retour +author: e_doyon +date: '2024-02-02' +permalinkOverride: du-code-a-l-image-aller-et-retour --- > Pourquoi l’intelligence artificielle doit-elle s’entraĂźner pour devenir meilleure, et comment fait-elle ? C’est quoi un rĂ©seau de neurones ? Comment Dall-E arrive-t-il Ă  dessiner de si belles images ? diff --git a/_posts/2024-02-02-le-leader-imposteur.md b/astro/src/content/videos/2024-02-02-le-leader-imposteur.md similarity index 84% rename from _posts/2024-02-02-le-leader-imposteur.md rename to astro/src/content/videos/2024-02-02-le-leader-imposteur.md index 6d8b7b310..9cb1fed82 100644 --- a/_posts/2024-02-02-le-leader-imposteur.md +++ b/astro/src/content/videos/2024-02-02-le-leader-imposteur.md @@ -1,12 +1,13 @@ --- -layout: video -title: "Le leader imposteur #LFT 02/02/24" -description: "" -author: m_mure -tags: [lft, tech] -color: rgb(251,87,66) +title: 'Le leader imposteur #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' youtubeId: XzfzloYblbs -permalink: le-leader-imposteur +author: m_mure +date: '2024-02-02' +permalinkOverride: le-leader-imposteur --- > Je ne suis **pas expert** de mon mĂ©tier et ce n'est pas parce que j'en parle facilement que je pense le devenir un jour. diff --git a/astro/src/content/videos/2024-02-02-le-lft-du-lft.md b/astro/src/content/videos/2024-02-02-le-lft-du-lft.md new file mode 100644 index 000000000..edecc2d52 --- /dev/null +++ b/astro/src/content/videos/2024-02-02-le-lft-du-lft.md @@ -0,0 +1,15 @@ +--- +title: 'Le LFT du LFT - PUB LFT #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: UgOFZmOJOmo +author: team_lft +date: '2024-02-02' +permalinkOverride: le-lft-du-lft +--- + +> Comment aider les LFTs ? + +Par **la LFTeam** diff --git a/astro/src/content/videos/2024-02-02-mon-premier-jeu-sur-bga.md b/astro/src/content/videos/2024-02-02-mon-premier-jeu-sur-bga.md new file mode 100644 index 000000000..dd7918426 --- /dev/null +++ b/astro/src/content/videos/2024-02-02-mon-premier-jeu-sur-bga.md @@ -0,0 +1,15 @@ +--- +title: 'Mon premier jeu sur BGA #LFT 02/02/24' +tags: + - lft + - tech +color: 'rgb(251,87,66)' +youtubeId: zwiMJjc9n7g +author: o_thebault +date: '2024-02-02' +permalinkOverride: mon-premier-jeu-sur-bga +--- + +> Introduction au jeu de sociĂ©tĂ© Velonimo et Ă  la plateforme de jeux en ligne Board Game Arena, suivie d’un retour d'expĂ©rience de l'implĂ©mentation de ce jeu sur cette plateforme en tant que dĂ©veloppeur Web. + +Par **Oliver ThĂ©bault** diff --git a/astro/src/data/authors.ts b/astro/src/data/authors.ts new file mode 100644 index 000000000..2f08753e2 --- /dev/null +++ b/astro/src/data/authors.ts @@ -0,0 +1,142 @@ +export interface Author { + name: string; + avatar?: string; + url?: string; +} + +export const authors: Record = { + 'bedrock': { name: 'Bedrock' }, + 'team_backend': { name: 'Backend teams' }, + 'team_cytron': { name: 'Cytron team', avatar: '/images/avatar/cytron.png' }, + 'team_frontend': { name: 'Frontend teams' }, + 'team_lft': { name: 'LFTeam' }, + 'a_caron': { name: 'Antoine Caron', avatar: '/images/avatar/a_caron.jpeg', url: 'https://blog.slashgear.dev/' }, + 'a_ferez': { name: 'AmĂ©lie Ferez', avatar: '/images/avatar/a_ferez.jpg' }, + 'a_gaudard': { name: 'Arthur Gaudard', url: 'https://www.linkedin.com/in/arthur-gaudard/' }, + 'a_martins': { name: 'Alexis Martins' }, + 'a_moutounet': { name: 'Anouk Moutounet' }, + 'a_pitel': { name: 'Antoine Pitel' }, + 'a_zinck': { name: 'Arthur Zinck', avatar: '/images/avatar/a_zinck.png', url: 'https://www.z3k.fr' }, + 'al_deboissieu': { name: 'Anne-Laure De Boissieu', avatar: '/images/avatar/al_deboissieu.jpeg' }, + 'b_candellier': { name: 'Baptiste Candellier', avatar: 'https://s.gravatar.com/avatar/c638445b4e00f76960bf7ee2275d7014?s=80', url: 'https://baptiste.candellier.me' }, + 'b_colin': { name: 'Benoit Colin', url: 'https://www.linkedin.com/in/becolin/' }, + 'b_garcia': { name: 'BĂ©nĂ©dicte Garcia' }, + 'b_viguier': { name: 'Benoit Viguier', avatar: '/images/avatar/b_viguier.png', url: 'https://twitter.com/b_viguier' }, + 'c_berard': { name: 'ClĂ©ment Berard', url: 'https://berard.dev' }, + 'c_chaplin': { name: 'Cory Chaplin', avatar: '/images/avatar/c_chaplin.jpg', url: 'https://twitter.com/corychaplin' }, + 'c_cousin': { name: 'Camille Cousin' }, + 'c_goffoy': { name: 'CĂ©dric Goffoy' }, + 'c_niel': { name: 'Camille Niel', url: 'https://www.camilleniel.com/' }, + 'c_petit': { name: 'Coraline Petit' }, + 'c_pettinelli': { name: 'Chiara Pettinelli' }, + 'c_vanderzwaard': { name: 'Christian Van Der Zwaard', avatar: '/images/avatar/c_vanderzwaard.jpg', url: 'https://twitter.com/christianvdz' }, + 'd_cuny': { name: 'Damien Cuny' }, + 'd_krieger': { name: 'Damien Krieger' }, + 'd_larue': { name: 'David Larue' }, + 'd_petrilli': { name: 'Damien Petrilli' }, + 'd_roussel': { name: 'Denis', avatar: '/images/avatar/d_roussel.jpg' }, + 'd_yim': { name: 'David Yim' }, + 'e_carneau': { name: 'Elise Carenau' }, + 'e_doyon': { name: 'Etienne Doyon', avatar: '/images/avatar/e_doyon.jpeg' }, + 'e_idoux': { name: 'Etienne Idoux' }, + 'e_herve': { name: 'Emmanuel Herve' }, + 'e_perrin': { name: 'Élodie Perrin', avatar: '/images/avatar/e_perrin.jpeg' }, + 'f_desaintpern': { name: 'Fabien De Saint Pern' }, + 'f_dubost': { name: 'Florent Dubost', avatar: '/images/avatar/f_dubost.jpg', url: 'https://twitter.com/fooragnak' }, + 'f_dumas': { name: 'Fabien Dumas' }, + 'f_ferriere': { name: 'Florian FerriĂšre' }, + 'f_lepretre': { name: 'Florent LeprĂȘtre', url: 'https://twitter.com/SuperFlaw' }, + 'f_vieudrin': { name: 'Frederic Vieudrin', url: 'https://twitter.com/fvieudrin' }, + 'g_bouyge': { name: 'Guillaume Bouyge' }, + 'g_damour': { name: 'GaĂ«l Damour' }, + 'g_forien': { name: 'Gabriel Forien' }, + 'g_treme': { name: 'Guillaume TrĂ©mĂ©' }, + 'g_sanchez': { name: 'GrĂ©gory SANCHEZ', url: 'https://github.com/chubchubsancho' }, + 'h_detang': { name: 'Hugo Detang' }, + 'h_riffiod': { name: 'Hugo Riffiod', avatar: '/images/avatar/h_riffiod.jpg' }, + 'jf_farge': { name: 'Jean-François Farge', avatar: '/images/avatar/jf_farge.jpeg' }, + 'jy_camier': { name: 'Jean-Yves Camier', url: 'https://twitter.com/Saaraahka' }, + 'j_foray': { name: 'JĂ©rĂŽme Foray' }, + 'j_hardeman': { name: 'JĂ©rĂŽme Hardeman' }, + 'j_mastounga': { name: 'Jules Matsounga' }, + 'j_menan': { name: 'Julien Menan', avatar: '/images/avatar/j_menan.jpg', url: 'https://twitter.com/julien_menan' }, + 'j_nginn': { name: 'Julie Nginn', avatar: 'https://ca.slack-edge.com/T108ZKPMF-U01FQRQ8FT7-dfb12b21fb0d-192' }, + 'j_planckeel': { name: 'JĂ©rĂ©my Planckeel', url: 'https://github.com/jplanckeel' }, + 'j_poissonnet': { name: 'Jules Poissonnet', avatar: '/images/avatar/j_poissonnet.jpg', url: 'https://github.com/jpoissonnet' }, + 'j_sulpis': { name: 'Julien Sulpis' }, + 'k_dits': { name: 'Kenny Dits', avatar: '/images/avatar/k_dits.jpg', url: 'https://twitter.com/kenny_dee' }, + 'k_phan': { name: 'Kelly Phan' }, + 'l_caillet': { name: 'Laurent Caillet', avatar: '/images/avatar/l_caillet.jpg', url: 'https://www.linkedin.com/in/laurent-caillet/' }, + 'l_penaguin': { name: 'LĂ©o Penaguin', avatar: '/images/avatar/l_penaguin.jpg', url: 'https://leopng.com' }, + 'm_agack': { name: 'Moustapha Agack' }, + 'm_alves': { name: 'Mickael Alves', avatar: '/images/avatar/m_alves.jpg', url: 'https://mickaelalvs.dev' }, + 'm_bayard': { name: 'Maxime Bayard', avatar: '/images/avatar/m_bayard.png', url: 'https://www.linkedin.com/in/maximebayard/' }, + 'm_benali': { name: 'Marwa Ben Ali', avatar: '/images/avatar/m_benali.jpg' }, + 'm_bernier': { name: 'Maxence Bernier', avatar: '/images/avatar/m_bernier.png' }, + 'm_blanc': { name: 'Maxime Blanc', avatar: '/images/avatar/m_blanc.jpeg', url: 'https://maximeblanc.fr' }, + 'm_julieron': { name: 'Marine Julieron', avatar: '/images/avatar/m_julieron.jpg' }, + 'm_millet': { name: 'Morgan Millet' }, + 'm_mure': { name: 'Mathieu Mure', url: 'https://twitter.com/mathieumure' }, + 'm_oudji': { name: 'Maeva Oudji' }, + 'm_randy': { name: 'Mikael Randy', avatar: '/images/avatar/m_randy.png', url: 'https://twitter.com/mikaelrandy' }, + 'm_lemoal': { name: 'Maxime Le Moal' }, + 'm_lopez': { name: 'Mathieu Lopez' }, + 'm_schneider': { name: 'Martin Schneider', avatar: '/images/avatar/m_schneider.png', url: 'https://github.com/martinschneider01' }, + 'n_alscher': { name: 'Nicolas Alscher' }, + 'n_boiron': { name: 'Nathan Boiron', url: 'https://mopolo.dev' }, + 'n_galais': { name: 'Nicolas Galais' }, + 'n_saby': { name: 'Nastasia Saby', url: 'https://twitter.com/saby_nastasia' }, + 'o_balystky': { name: 'Oleksandr Balystky' }, + 'o_janin': { name: 'Olivier Janin' }, + 'o_mansour': { name: 'Olivier Mansour', avatar: '/images/avatar/o_mansour.jpg', url: 'https://twitter.com/omansour' }, + 'o_noel': { name: 'Olivier Noel', avatar: '/images/avatar/o_noel.jpg' }, + 'o_thebault': { name: 'Oliver ThĂ©bault', avatar: '/images/avatar/o_thebault.png', url: 'https://oliver-thebault.com' }, + 'o_weber': { name: 'Orann Weber' }, + 'p_halter': { name: 'Pascal Halter' }, + 'p_martin': { name: 'Pascal Martin', url: 'https://twitter.com/pascal_martin' }, + 'p_rambaud': { name: 'Pauline Rambaud', url: 'https://twitter.com/pauinegu' }, + 'pa_bedu': { name: 'Pierre-Alain BEDU', url: 'https://twitter.com/pa_bedu' }, + 'pl_perez': { name: 'Pierre-Loup Perez', avatar: '/images/avatar/pl_perez.jpeg' }, + 'pt_guillot': { name: 'Pierre-Thomas Guillot' }, + 'q_gillie': { name: 'Quentin Gillie' }, + 'q_nambot': { name: 'Quentin Nambot' }, + 'r_panoyan': { name: 'Rafi Panoyan', url: 'https://twitter.com/rafipanoyan' }, + 's_drode': { name: 'Sebastien Drode' }, + 's_gougouzian': { name: 'Sylvain Gougouzian' }, + 's_guyon': { name: 'Sylvain Guyon' }, + 's_masson': { name: 'Sylvain Masson' }, + 's_menassa': { name: 'Serge Menassa' }, + 's_haim': { name: 'Sarah HaĂŻm-Lubczanski', url: 'https://twitter.com/sarahhaim' }, + 's_lescano': { name: 'Sofia Lescano', avatar: '/images/avatar/s_lescano.jpeg', url: 'https://twitter.com/SofLesc' }, + 's_zoccarato': { name: 'Sylvain Zoccarato', avatar: 'https://ca.slack-edge.com/T108ZKPMF-UN73NDMTR-1254cd998d50-512' }, + 't_aufort': { name: 'TimothĂ©e Aufort', url: 'https://twitter.com/TimAufort' }, + 't_briset': { name: 'Thomas Briset' }, + 't_courtoison': { name: 'Thibaud Courtoison' }, + 't_crespy': { name: 'TimothĂ© Crespy', avatar: '/images/avatar/t_crespy.jpg', url: 'https://timothecrespy.fr/' }, + 't_falconnet': { name: 'Tanguy Falconnet', avatar: '/images/avatar/t_falconnet.jpg', url: 'https://twitter.com/TanguyFalconnet' }, + 't_geindre': { name: 'Thierry Geindre', url: 'https://github.com/t-geindre/' }, + 't_gianella': { name: 'ThĂ©o Gianella', avatar: '/images/avatar/t_gianella.jpeg' }, + 't_jarrand': { name: 'Thomas Jarrand' }, + 't_sontag': { name: 'Thomas Sontag' }, + 'v_chabrier': { name: 'Valentin Chabrier', url: 'https://github.com/Eriwyr' }, + 'v_claras': { name: 'Valentin Claras', avatar: '/images/avatar/v_claras.jpg' }, + 'v_clavreul': { name: 'Valentin Clavreul' }, + 'v_gallissot': { name: 'Vincent Gallissot', url: 'https://twitter.com/vgallissot' }, + 'v_pelus': { name: 'Valentin Pelus', url: 'https://github.com/valentinpelus' }, + 'y_chauvel': { name: 'Yann Chauvel' }, + 'y_clauss': { name: 'Yves Clauss', avatar: '/images/avatar/y_clauss.png' }, + 'y_ferlin': { name: 'Yorick Ferlin' }, + 'y_frommelt': { name: 'Yoann Frommelt', avatar: '/images/avatar/y_frommelt.jpeg', url: 'https://github.com/yfrommelt' }, +}; + +export function getAuthor(key: string): Author | undefined { + return authors[key]; +} + +export function getAuthors(keys: string | string[]): Author[] { + if (typeof keys === "string") { + return [authors[keys]].filter(Boolean) as Author[]; + } + + return keys.map((key) => authors[key]).filter(Boolean) as Author[]; +} diff --git a/astro/src/data/biblio.ts b/astro/src/data/biblio.ts new file mode 100644 index 000000000..ccdd7cbae --- /dev/null +++ b/astro/src/data/biblio.ts @@ -0,0 +1,18 @@ +export interface BiblioEntry { + key: string; + authors: string; + title: string; +} + +export const biblio: Record = { + ref1: { + key: 'ref1', + authors: 'John Smith', + title: 'A Title About Citations', + }, + highlight: { + key: 'highlight', + authors: "Michael's Rose", + title: '[Minimal Mistakes](https://mmistakes.github.io/minimal-mistakes/markup-syntax-highlighting)', + }, +}; diff --git a/astro/src/data/conferences.ts b/astro/src/data/conferences.ts new file mode 100644 index 000000000..a0ac9de55 --- /dev/null +++ b/astro/src/data/conferences.ts @@ -0,0 +1,224 @@ +export interface Conference { + title: string; + date: string; + author: string | string[]; + eventName?: string; + eventUrl?: string; + youtubeId?: string; + slideshareKey?: string; + sponsored?: boolean; + hosted?: boolean; + description?: string; +} + +export const conferences: Conference[] = [ + { + title: 'L’aventure d’une requĂȘte HTTP — ou le chemin de la vie des devs', + date: '2025-04-30', + author: 'p_martin', + eventName: 'MiXiT 2025', + eventUrl: 'https://mixitconf.org/2025/l-aventure-d-une-requete-http-ou-le-chemin-de-la-vie-des-devs', + }, + { + title: 'Load-testons M6+ pour prĂ©parer l’Euro 2024 !', + date: '2025-04-17', + author: 'b_colin', + eventName: 'Devoxx France 2025', + eventUrl: 'https://www.devoxx.fr/en/agenda-2025/talk/load-testons-m6-pour-preparer-l-euro-2024/', + }, + { + title: 'L’aventure d’une requĂȘte HTTP — ou le chemin de la vie des devs', + date: '2024-10-10', + author: 'p_martin', + eventName: 'Forum PHP', + eventUrl: 'https://www.youtube.com/watch?v=penIr9E0Qbo', + }, + { + title: 'Une application rĂ©siliente, dans un monde partiellement dĂ©gradĂ©', + date: '2024-04-17', + author: 'p_martin', + eventName: 'Devoxx France', + eventUrl: 'https://www.youtube.com/watch?v=exk5343fTuM', + }, + { + title: 'DĂ©ploiement vers Kubernetes : autonomie et automatisation, mieux que copier-coller du YAML !', + date: '2023-06-06', + author: 'p_martin', + eventName: 'Meetup CafĂ© DevOps', + eventUrl: 'https://www.youtube.com/live/D8heuC6JKm0?feature=share&t=450', + sponsored: true, + }, + { + title: ' AmĂ©liorons ensemble la doc de #Postgres', + date: '2023-06-19', + author: 's_haim', + description: + "La documentation est le meilleur moyen de rassembler le savoir et de rendre les informations disponibles pour le plus grand nombre et de faire progresser tout le monde, des personnes dĂ©butantes aux plus avancĂ©es dans PostgreSQL. Prenons quelques pages de documentation de votre logiciel prĂ©fĂ©rĂ©, et examinons comment nous pourrions les amĂ©liorer. Avec quelques efforts sur le contenu et la prĂ©sentation, votre documentation pourrait ĂȘtre plus lisible, et plus utile Ă  la communautĂ©. Quelques astuces pour produire directement une bonne documentation sont Ă©galement au menu, tout comme l'art de relire une documentation existante.", + eventName: 'PG Day France 2023 (Strasbourg)', + youtubeId: 'B665IfwnlU0', + sponsored: true, + }, + { + title: 'Mentors : super-hĂ©ros ou super-vilains ?', + date: '2023-05-12', + author: 'p_rambaud', + eventName: 'AFUP Day Lyon 2023', + eventUrl: 'https://event.afup.org/afup-day-2023/afup-day-2023-lyon/programme/#4190', + sponsored: true, + }, + { + title: 'Bienvenue dans le monde merveilleux des systĂšmes distribuĂ©s !', + date: '2023-04-13', + author: 'p_martin', + eventName: 'MiXiT 2023', + eventUrl: 'https://mixitconf.org/2023/bienvenue-dans-le-monde-merveilleux-des-systemes-distribues-', + }, + { + title: 'Introducing the Tokio stack', + date: '2023-04-06', + author: 'o_thebault', + eventName: 'Meetup Rust Lyon', + eventUrl: 'https://www.meetup.com/fr-FR/rust-lyon/events/292283973/', + sponsored: true, + hosted: true, + }, + { + title: 'Rust at Bedrock', + date: '2023-04-06', + author: 'y_clauss', + eventName: 'Meetup Rust Lyon', + eventUrl: 'https://www.meetup.com/fr-FR/rust-lyon/events/292283973/', + sponsored: true, + hosted: true, + }, + { + title: 'Documentation : Let’s make it better, now, together!', + date: '2023-03-23', + author: 's_haim', + eventName: 'pgDay Paris 2023', + eventUrl: 'https://www.postgresql.eu/events/pgdayparis2023/schedule/session/4303-documentation-lets-make-it-better-now-together/', + youtubeId: 'MrcqWPEbwLI', + sponsored: true, + }, + { + title: 'Documentation : Let’s make it better, now, together!', + date: '2022-10-28', + author: 's_haim', + eventName: 'PGConf Europe 2022', + eventUrl: 'https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3881-documentation-lets-make-it-better-now-together/', + sponsored: true, + }, + { + title: 'Open Policy Agent avec KICS de chez Checkmarx', + date: '2022-05-13', + author: 'jy_camier', + description: + "Chez Bedrock Streaming, tous le monde est responsable de son infrastructure Cloud : les dĂ©veloppeurs backend et frontend, les data analyst, les ingĂ©nieurs vidĂ©o et mĂȘme les Ops et les DevOps ! De ce fait, une part considĂ©rable de notre travail consiste Ă  accompagner les dĂ©veloppeurs, de la montĂ©e en compĂ©tence sur l'usage de nos outils jusqu'Ă  la conception d'architecture cloud rĂ©silliente. Il s'avĂšre que dans le cadre d'une revue de code, en tant que DevOps, nous rĂ©pĂ©tons souvent les mĂȘmes choses. En mettant en place de l'analyse statique avec KICS et OPA, nous parions sur l'avenir d'un outil et d'une communautĂ© jeune pour nous aider Ă  rĂ©duire le temps entre la revue de code et la mise en production:\n- en augmentant la qualitĂ© de nos infrastructures cloud\n- en rĂ©duisant les coĂ»ts de cette infrastructure", + eventName: 'Docker meetup', + eventUrl: 'https://www.meetup.com/fr-FR/docker-lyon/events/285057478/', + sponsored: true, + hosted: true, + }, + { + title: 'Êtes-vous bien architecturĂ© ?', + date: '2022-04-12', + author: 'p_martin', + eventName: 'AWS Summit Paris', + eventUrl: 'https://aws.amazon.com/fr/events/summits/paris/', + }, + { + title: 'PrĂ©parez et donnez votre premier talk', + date: '2022-04-12', + author: 'p_martin', + eventName: 'AWS Summit Paris', + eventUrl: 'https://aws.amazon.com/fr/events/summits/paris/', + }, + { + title: 'Transformer le load balancing pour optimiser le cache : objectif 50 millions d’utilisateurs', + date: '2022-04-12', + author: 'v_gallissot', + eventName: 'AWS Summit Paris', + eventUrl: 'https://aws.amazon.com/fr/events/summits/paris/', + }, + { + title: 'Comment ne pas jeter son application Frontend tous les deux ans ?', + date: '2022-02-05', + author: ['f_dubost', 'a_caron'], + eventName: 'Snowcamp 2022', + eventUrl: 'https://snowcamp.io/fr/', + }, + { + title: 'âšĄïž Vite âšĄïž the Webpack killer', + date: '2021-11-10', + author: ['a_caron', 'm_mure'], + eventName: 'Devfest Nantes', + eventUrl: 'https://devfest2021.gdgnantes.com/sessions/_%EF%B8%8F_vite_%EF%B8%8Fthe_webpack_killer/', + }, + { + title: 'âšĄïž Vite âšĄïž the Webpack killer', + date: '2021-09-08', + author: ['a_caron', 'm_mure'], + eventName: 'JUG Summer Camp', + eventUrl: 'https://www.jugsummercamp.org/edition/12/presentations/QYeD36ff9h4A8v243Hu3', + }, + { + title: 'Productionizing ML Systems without Fear nor Heroism', + date: '2021-05-25', + author: 'n_saby', + eventName: 'DataTalks.Club', + eventUrl: 'https://datatalks.club/', + youtubeId: 'KkOGMaz4Xws', + }, + { + title: 'Webpack Workshop', + date: '2020-09-07', + author: 'a_caron', + eventName: 'Paris Web', + eventUrl: 'https://www.paris-web.fr/2019/ateliers/webpack-workshop.php', + }, + { + title: 'âšĄïž Vite âšĄïž the Webpack killer', + date: '2020-06-10', + author: ['a_caron', 'm_mure'], + eventName: 'LyonJS Meetup', + eventUrl: 'https://www.meetup.com/fr-FR/LyonJS/events/278441866/', + }, + { + title: 'Apache Spark et le machine learning : rĂȘves et rĂ©alitĂ©s', + date: '2020-02-10', + author: 'n_saby', + eventName: 'Scala IO', + eventUrl: 'https://scala.io/', + youtubeId: '8e2TOelpqds', + }, + { + title: 'Webpack Workshop', + date: '2020-01-22', + author: 'a_caron', + eventName: 'Snowcamp 2020', + eventUrl: 'https://snowcamp.io/fr/', + }, + { + title: "Machine learning sans magie et sans s'arracher les cheveux", + date: '2019-11-14', + author: 'n_saby', + description: 'Comprendre le machine learning en prenant l’exemple d’un barbecue.', + youtubeId: '5c120IGLHk8', + }, + { + title: 'Retour d’expĂ©rience : rĂ©aliser des Workers en PHP', + date: '2016-05-23', + author: 'f_desaintpern', + eventName: 'PHPTour Clermont‑Ferrand 2016', + eventUrl: 'https://event.afup.org/php-tour-2016/home-phptour-2016/', + youtubeId: '0A5tbrMarGA', + }, + { + title: 'Le second Ă©cran chez M6Web, another (php) brick in the wall !', + date: '2015-05-13', + author: 'o_mansour', + eventName: 'PHPTour Luxembourg 2015', + eventUrl: 'https://event.afup.org/phptourluxembourg2015__programme/', + youtubeId: 'VPYFnaX_5Tg', + }, +]; diff --git a/astro/src/data/icons.ts b/astro/src/data/icons.ts new file mode 100644 index 000000000..6bf593070 --- /dev/null +++ b/astro/src/data/icons.ts @@ -0,0 +1,44 @@ +export const iconMap: Record = { + behance: 'fab fa-behance', + bitbucket: 'fab fa-bitbucket', + calendly: 'fas fa-calendar-check', + dribbble: 'fab fa-dribbble', + facebook: 'fab fa-facebook-square', + flickr: 'fab fa-flickr', + github: 'fab fa-github', + gitlab: 'fab fa-gitlab', + 'google-scholar': 'fas fa-graduation-cap', + instagram: 'fab fa-instagram', + 'hacker-news': 'fab fa-hacker-news', + keybase: 'fab fa-keybase', + linkedin: 'fab fa-linkedin', + mail: 'fas fa-envelope', + map: 'fas fa-map-marker-alt', + mastodon: 'fab fa-mastodon', + matrix: 'fas fa-comments', + medium: 'fab fa-medium', + patreon: 'fab fa-patreon', + phone: 'fas fa-phone', + pinterest: 'fab fa-pinterest', + reddit: 'fab fa-reddit', + soundcloud: 'fab fa-soundcloud', + sms: 'fas fa-sms', + 'stack-exchange': 'fab fa-stack-exchange', + 'stack-overflow': 'fab fa-stack-overflow', + steam: 'fab fa-steam', + telegram: 'fab fa-telegram', + tumblr: 'fab fa-tumblr', + twitch: 'fab fa-twitch', + twitter: 'fab fa-twitter', + vimeo: 'fab fa-vimeo', + vk: 'fab fa-vk', + wordpress: 'fab fa-wordpress', + youtube: 'fab fa-youtube', +}; + +export const siteIcons: Record = { + github: 'BedrockStreaming', + linkedin: 'bedrock-streaming', + twitter: 'Bedrock_Tech', + youtube: 'UCSwvTdCWHS6ulRaIqdk7lNw', +}; diff --git a/astro/src/data/language.ts b/astro/src/data/language.ts new file mode 100644 index 000000000..fe51feced --- /dev/null +++ b/astro/src/data/language.ts @@ -0,0 +1,95 @@ +export type Locale = 'fr' | 'en'; + +type LanguageStrings = { + str_follow_on: string; + str_rss_follow: string; + str_share_on: string; + str_add_to: string; + str_email: string; + str_tweet: string; + str_pin_it: string; + str_next_post: string; + str_previous_post: string; + str_next_page: string; + str_previous_page: string; + str_javascript_required_disqus: string; + str_no_result_found: string; + str_cookie_approve: string; + str_cookie_disclaimer: string; + str_months: readonly string[]; + cusdis_lang: string; +}; + +const en: LanguageStrings = { + str_follow_on: 'Follow on', + str_rss_follow: 'Follow RSS feed', + str_share_on: 'Share on', + str_add_to: 'Add to', + str_email: 'Email', + str_tweet: 'Tweet', + str_pin_it: 'Pin it', + str_next_post: 'Next post', + str_previous_post: 'Previous post', + str_next_page: 'Next', + str_previous_page: 'Prev', + str_javascript_required_disqus: 'Please enable JavaScript to view comments.', + str_no_result_found: 'No result found', + str_cookie_approve: 'Approve', + str_cookie_disclaimer: + 'We would like to use third party cookies and scripts to improve the functionality of this website.', + str_months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + cusdis_lang: '', +}; + +const fr: LanguageStrings = { + str_follow_on: 'Suivre sur', + str_rss_follow: "S'abonner au flux RSS", + str_share_on: 'Partager sur', + str_add_to: 'Ajouter Ă ', + str_email: 'Email', + str_tweet: 'Tweeter', + str_pin_it: 'Épingler', + str_next_post: 'Article suivant', + str_previous_post: 'Article prĂ©cĂ©dent', + str_next_page: 'Suivant', + str_previous_page: 'PrĂ©cĂ©dent', + str_javascript_required_disqus: 'Veuillez activer JavaScript pour afficher les commentaires.', + str_no_result_found: 'Aucun rĂ©sultat', + str_cookie_approve: 'Accepter', + str_cookie_disclaimer: + 'Nous souhaitons utiliser des cookies et scripts tiers pour amĂ©liorer les fonctionnalitĂ©s de ce site.', + str_months: [ + 'Janvier', + 'FĂ©vrier', + 'Mars', + 'Avril', + 'Mai', + 'Juin', + 'Juillet', + 'AoĂ»t', + 'Septembre', + 'Octobre', + 'Novembre', + 'DĂ©cembre', + ], + cusdis_lang: 'fr', +}; + +export { en, fr }; + +export function t(locale: Locale = 'fr') { + return locale === 'en' ? en : fr; +} diff --git a/astro/src/data/redirects.json b/astro/src/data/redirects.json new file mode 100644 index 000000000..0e7ae5561 --- /dev/null +++ b/astro/src/data/redirects.json @@ -0,0 +1,92 @@ +[ + { + "from": "/pascal-martin-laduckconf/", + "to": "/2020/02/07/pascal-martin-laduckconf/", + "sourcePosts": "2020-02-07-pascal-martin-laduckconf.md" + }, + { + "from": "/m6web-dev-facts-12/", + "to": "/2020/02/08/m6web-dev-facts-12/", + "sourcePosts": "2020-02-08-m6web-dev-facts-12.md" + }, + { + "from": "/hunting-webpack-performances/", + "to": "/2020/03/05/hunting-webpack-performances/", + "sourcePosts": "2020-03-05-hunting-webpack-performances.md" + }, + { + "from": "/react-redux-pitfalls-and-best-practices/", + "to": "/2020/04/27/react-redux-pitfalls-and-best-pratices/", + "sourcePosts": "2020-04-27-react-redux-pitfalls-and-best-pratices.md" + }, + { + "from": "/Three-years-running-kubernetes-on-production-at-Bedrock/", + "to": "/2020/12/08/Three-years-running-kubernetes-on-production-at-Bedrock/", + "sourcePosts": "2020-12-08-Three-years-running-kubernetes-on-production-at-Bedrock.md" + }, + { + "from": "/bedrock-dev-facts-13/", + "to": "/2021/03/02/bedrock-dev-facts-13/", + "sourcePosts": "2021-03-02-bedrock-dev-facts-13.md" + }, + { + "from": "/organisational-challenge-building-data-team/", + "to": "/2021/05/19/organisational-challenge-building-data-team/", + "sourcePosts": "2021-05-19-organisational-challenge-building-data-team.md" + }, + { + "from": "/bedrock-dev-facts-14/", + "to": "/2021/07/16/bedrock-dev-facts-14/", + "sourcePosts": "2021-07-16-bedrock-dev-facts-14.md" + }, + { + "from": "/bonnes-pratiques-web/", + "to": "/2021/09/01/bonnes-pratiques-web/", + "sourcePosts": "2021-09-01-bonnes-pratiques-web.md" + }, + { + "from": "/web-best-practices/", + "to": "/2021/09/06/web-best-practices/", + "sourcePosts": "2021-09-06-web-best-practices.md" + }, + { + "from": "/live-streaming-lft/", + "to": "/2021/10/14/live-streaming-lft/", + "sourcePosts": "2021-10-14-live-streaming-lft.md" + }, + { + "from": "/increase-performance-and-stability-by-adding-an-egress-controller/", + "to": "/2021/10/18/increase-performance-and-stability-by-adding-an-egress-controller/", + "sourcePosts": "2021-10-18-increase-performance-and-stability-by-adding-an-egress-controller.md" + }, + { + "from": "/forum-php-2021/", + "to": "/2021/11/02/forum-php-2021/", + "sourcePosts": "2021-11-02-forum-php-2021.md" + }, + { + "from": "/hsdo/", + "to": "/2021/11/18/hsdo/", + "sourcePosts": "2021-11-18-hsdo.md" + }, + { + "from": "/scaling-bedrock-video-delivery-to-50-million-users/", + "to": "/2021/12/15/scaling-bedrock-video-delivery-to-50-million-users/", + "sourcePosts": "2021-12-15-scaling-bedrock-video-delivery-to-50-million-users.md" + }, + { + "from": "/bedrock-dev-facts-15/", + "to": "/2021/12/20/bedrock-dev-facts-15/", + "sourcePosts": "2021-12-20-bedrock-dev-facts-15.md" + }, + { + "from": "/prescaling/", + "to": "/2022/02/03/prescaling/", + "sourcePosts": "2022-02-03-prescaling.md" + }, + { + "from": "/2023/03/25/de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique-et-seule-une-approche-progressive-et-incrementale-etait-viable.html/", + "to": "/2023/03/25/de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique/", + "sourcePosts": "2023-03-25-de-node-js-10-a-node-js-18-nous-avons-rattrape-8-ans-de-retard-et-de-dette-technique.md" + } +] diff --git a/astro/src/data/social.ts b/astro/src/data/social.ts new file mode 100644 index 000000000..1e1629723 --- /dev/null +++ b/astro/src/data/social.ts @@ -0,0 +1,75 @@ +export interface SocialPlatform { + name: string; + icon: string; + urlTemplate: (url: string, title: string) => string; + enabled: boolean; +} + +export const socialPlatforms: SocialPlatform[] = [ + { + name: "twitter", + icon: "fab fa-twitter-square fa-2x", + urlTemplate: (url, title) => + `https://twitter.com/intent/tweet?text=${encodeURIComponent(title)}%20${encodeURIComponent(url)}`, + enabled: true, + }, + { + name: "linkedin", + icon: "fab fa-linkedin fa-2x", + urlTemplate: (url, title) => + `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(url)}&title=${encodeURIComponent(title)}&summary=&source=${encodeURIComponent(url)}`, + enabled: true, + }, + { + name: "email", + icon: "fas fa-envelope-square fa-2x", + urlTemplate: (url, title) => + `mailto:?subject=${encodeURIComponent(title)}&body=${encodeURIComponent(url)}`, + enabled: true, + }, + { + name: "facebook", + icon: "fab fa-facebook-square", + urlTemplate: (url) => + `https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`, + enabled: false, + }, + { + name: "tumblr", + icon: "fab fa-tumblr-square", + urlTemplate: (url, title) => + `https://www.tumblr.com/share?v=3&u=${encodeURIComponent(url)}"e=${encodeURIComponent(title)}&s=`, + enabled: false, + }, + { + name: "pinterest", + icon: "fab fa-pinterest-square", + urlTemplate: (url, title) => + `https://pinterest.com/pin/create/button/?url=${encodeURIComponent(url)}&media=&description=${encodeURIComponent(title)}`, + enabled: false, + }, + { + name: "pocket", + icon: "fab fa-get-pocket", + urlTemplate: (url, title) => + `https://getpocket.com/save?url=${encodeURIComponent(url)}&title=${encodeURIComponent(title)}`, + enabled: false, + }, + { + name: "reddit", + icon: "fab fa-reddit-square", + urlTemplate: (url, title) => + `https://www.reddit.com/submit?url=${encodeURIComponent(url)}&title=${encodeURIComponent(title)}`, + enabled: false, + }, + { + name: "wordpress", + icon: "fab fa-wordpress", + urlTemplate: (url, title) => + `https://wordpress.com/press-this.php?u=${encodeURIComponent(url)}"e=${encodeURIComponent(title)}&s=`, + enabled: false, + }, +]; + +export const rssEnabled = true; +export const feedPath = "/feed.xml"; diff --git a/astro/src/env.d.ts b/astro/src/env.d.ts new file mode 100644 index 000000000..acef35f17 --- /dev/null +++ b/astro/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/astro/src/layouts/BaseLayout.astro b/astro/src/layouts/BaseLayout.astro new file mode 100644 index 000000000..a23fc5af9 --- /dev/null +++ b/astro/src/layouts/BaseLayout.astro @@ -0,0 +1,113 @@ +--- +/** + * BaseLayout — canonical HTML shell for every page on tech.bedrockstreaming.com. + * + * Responsibilities: + * - meta (title, description, canonical, favicon, RSS alternate) + * - Open Graph + Twitter Card tags + * - Inline dark-mode init (runs BEFORE first paint to prevent FOUC) + * - Matomo analytics (env-gated by PUBLIC_MATOMO_ENABLED — absent when "false") + * - KaTeX CSS imported globally for math rendering across all pages + * - Named slots: `head`, `header`, `footer` plus the default content slot + * + * Matomo config (Bedrock production): + * Site ID: 2 + * URL: https://bedrockstreaming.matomo.cloud/ + */ +import '../styles/global.scss'; +import 'katex/dist/katex.min.css'; + +interface Props { + title: string; + description?: string; + ogImage?: string; + ogType?: 'website' | 'article'; + lang?: 'fr' | 'en'; + canonicalURL?: URL | string; + bodyClass?: string; +} + +const { + title, + description = 'Blog technique de Bedrock', + ogImage = '/images/common/banner_xl.jpg', + ogType = 'website', + lang = 'fr', + canonicalURL = new URL(Astro.url.pathname, Astro.site), + bodyClass, +} = Astro.props; + +const fullTitle = title === 'Bedrock Tech Blog' ? title : `${title} | Bedrock Tech Blog`; +const matomoEnabled = import.meta.env.PUBLIC_MATOMO_ENABLED !== 'false'; +const ogImageURL = new URL(ogImage, Astro.site).href; +const canonicalHref = canonicalURL.toString(); +--- + + + + + + {fullTitle} + + + + + + + + + + + + + + + + + + + + + + + {matomoEnabled && ( + + )} + + + + + + + + + + + + diff --git a/astro/src/layouts/ConferenceLayout.astro b/astro/src/layouts/ConferenceLayout.astro new file mode 100644 index 000000000..8a53411da --- /dev/null +++ b/astro/src/layouts/ConferenceLayout.astro @@ -0,0 +1,69 @@ +--- +import PostLayout from '@/layouts/PostLayout.astro'; +import SlideshareEmbed from '@/components/SlideshareEmbed.astro'; + +interface Props { + frontmatter: { + title: string; + description?: string; + date?: Date | string; + author?: string | string[]; + tags?: string[]; + language?: 'fr' | 'en'; + thumbnail?: string; + featureImg?: string; + color?: string; + eventName?: string; + eventUrl?: string; + slideshareKey?: string; + sponsored?: boolean; + hosted?: boolean; + youtubeId?: string; + [key: string]: any; + }; + slug: string; + prevPost?: { url: string; title: string }; + nextPost?: { url: string; title: string }; +} + +const { frontmatter, slug, prevPost, nextPost } = Astro.props; +--- + + {frontmatter.eventName && ( +

      + Event:{' '} + {frontmatter.eventUrl ? ( + {frontmatter.eventName} + ) : ( + frontmatter.eventName + )} + {frontmatter.sponsored && } + {frontmatter.hosted && [Hosted]} +

      + )} + + {frontmatter.slideshareKey && ( + + )} + + {frontmatter.youtubeId && ( + + )} + + +
      diff --git a/astro/src/layouts/PageLayout.astro b/astro/src/layouts/PageLayout.astro new file mode 100644 index 000000000..ded578aee --- /dev/null +++ b/astro/src/layouts/PageLayout.astro @@ -0,0 +1,55 @@ +--- +/** + * PageLayout — wrapper for simple static pages. + * Mirrors _layouts/page.liquid (title + optional subtitle + content + tags). + */ +import BaseLayout from '@/layouts/BaseLayout.astro'; +import Navbar from '@/components/Navbar.astro'; +import Footer from '@/components/Footer.astro'; + +interface Props { + title: string; + description?: string; + lang?: 'fr' | 'en'; + ogImage?: string; + subtitle?: string; + hideTitle?: boolean; + featureImg?: string; +} + +const { title, description, lang = 'fr', ogImage, subtitle, hideTitle, featureImg } = Astro.props; +const ogImageResolved = ogImage ?? featureImg; +--- + + + +
      +
      +
      + {hideTitle ? ( +
      + ) : ( + <> +

      {title}

      + {subtitle &&

      {subtitle}

      } + + )} +
      +
      + +
      + +
      +
      + +