Skip to content

Instantly share code, notes, and snippets.

View NerOcrO's full-sized avatar
🏠
Working from home

Fabien NerOcrO

🏠
Working from home
View GitHub Profile
@NerOcrO
NerOcrO / snippet.ts
Created July 16, 2025 07:06
snippet
// parcourir un fichier csv via un champ d'upload
const formData = await request.formData()
const [diagnostiqueur] = formData.values() as FormDataIterator<File>
if (diagnostiqueur === undefined) {
return new Response("Bulk insert failed", { status: 200 })
}
const data = (await diagnostiqueur.text())
.split(/\r\n|\r|\n/)
/* eslint-disable @typescript-eslint/no-require-imports */
/* eslint-disable @typescript-eslint/no-unsafe-call */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable sonarjs/no-nested-template-literals */
/* eslint-disable testing-library/no-node-access */
/* eslint-disable no-plusplus */
it.only('génération programatique d’un test d’affichage HTML', () => {
const { container } = render()
// ==UserScript==
// @name Vérifier la bonne configuration d'un projet JavaScript
// @namespace http://tampermonkey.net/
// @version 2024-06-09
// @description Vérifier la bonne configuration d'un projet JavaScript
// @match https://github.com/inclusion-numerique/*
// @match https://github.com/anct-cnum/*
// @grant GM_xmlhttpRequest
// @connect raw.githubusercontent.com
// ==/UserScript==
@NerOcrO
NerOcrO / tsconfig.json
Last active October 7, 2023 15:11
typescript tsconfig
// TS v5.2
// Quelques bases https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases
// tsconfig.json
{
"compilerOptions": {
// Interop Constraints
// ???
"esModuleInterop": true,
// ???

Prérequis d'un langage en production

  • Python est codé en C
  • Node.js est codé en C++
  • Python est mono coeur car créée avant l'apparition des multi coeur
  • Node.js est mono thread

Immutable

Typescript ✅

@NerOcrO
NerOcrO / low-tech.md
Last active June 18, 2022 14:37
low-tech

Wording à utiliser

  • Sobriété numérique
  • Accessibilité
  • Réparabilité

Définition

  • L’empreinte carbone de la fabrication des terminaux est la part la plus importante de l’impact du numérique
  • C’est plus important de ne pas envoyer un e-mail que d’en stocker une grosse quantité
@NerOcrO
NerOcrO / rust.md
Last active February 19, 2024 09:14
rust
@NerOcrO
NerOcrO / prettierrc.json
Last active May 17, 2024 12:11
eslint linter prettier
// Prettier est inutile sur un projet où il y a eslint
{
"printWidth": 120, // max-len
"tabWidth": 2, // indent
"useTabs": false, // no-tabs
"semi": false, // semi
"singleQuote": true, // quotes
"quoteProps": "as-needed", // quote-props
"jsxSingleQuote": false, // jsx-quotes
"trailingComma": "es5", // comma-dangle
@NerOcrO
NerOcrO / nextjs.md
Last active May 23, 2022 21:08
nextjs
  • code splitting par défaut par page
  • s'il y a un Link dans une page, en production uniquement, il prefetche la page du lien en question quand on passe la souris dessus
  • static generation : généré au build time (sauf en dev) et ne change jamais
    • peut être cachée par un CDN car c'est une page HTML (code source en HTML)
  • par défaut, une page est statique
@NerOcrO
NerOcrO / postgresql.md
Last active August 26, 2025 16:17
postgresql sql
  • SQL est Turing complete
  • null veut dire "on ne sait pas" en postgres
  • Data Types
  • CTE : Common Table Expression avec un WITH pour séparer les responsabilités (comme une fonction)
  • on stocke une donnée qui ne change jamais : une date de naissance oui ! mais pas l'age...
  • le mot ALWAYS permet de dire qu'on ne peut pas écrire manuellement dans le champ

Flux d'une requête

  • from/join (uniquement ici où on prend la data, tout le reste n’est que filtre)