# Hack2o page d'acceuil

**URL:** https://ps.zoethical.org/t/hack2o-page-dacceuil/6729
**Category:** Hack2O
**Created:** [March 31, 2023, 7:50am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729 "2023-03-31T07:50:14Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [March 31, 2023, 7:50am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/1 "2023-03-31T07:50:14Z")

</div>

_Page wiki de travail de conception et déploiement d’une page d’accueil pour [hack2o.eu](http://hack2o.eu). Voir aussi [Hack2O.eu - #38 by XavCC](https://ps.zoethical.org/t/hack2o-eu/5598/38)_

## Les Besoins

- Une page légère (~ 512KB max / hors carte géographique embarquée)
- Accessibilité
  - [Outils d’aide à la mesure d’accessibilité](https://github.com/copsae/outils-audits-accessibilite)

- Multilangues
- Pas de javascript
- pas de cdn
- un lien vers espace « news / blog »
- Licence
- CGU
- Données personnelles
- Suggestion de couleurs pour la page (hex) 02394a ; 043565 ; 5158bb ; f26df9 ; eb4b98
- `…/robot.txt` et `…/security.txt`

## Les fonctionnalités

## La technique

### Backend

### Frontend

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [March 31, 2023, 7:59am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/2 "2023-03-31T07:59:35Z")

</div>

Pour moi il faudrait utiliser un générateur de site statique (je penche pour [Serum](https://dalgona.github.io/Serum/) en ce moment) et un Discourse derrière. Je suis d’accord pour faire une page légère, et même bien moins que 512KB. Pour l’instant on est à 670 byes 🙂 donc on pourrait viser 32KB. Une page d’accueil qui charge vite c’est indispensable.

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [March 31, 2023, 9:25am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/3 "2023-03-31T09:25:50Z")

</div>

J’vais testé Serum, ai pas touché Erlang et Elixir depuis 2018 🙀

Ah, y’a du `.js` [Serum/new.ex at 4181c549f9dbe4d93e3959a94e3216e054075a9c · Dalgona/Serum · GitHub](https://github.com/Dalgona/Serum/blob/4181c549f9dbe4d93e3959a94e3216e054075a9c/serum_new/lib/mix/tasks/serum/new.ex)

```auto
    [
      "assets/css",
      "assets/images",
      "assets/js",
      "includes",
      "media",
      "pages",
      "posts",
      "templates"
    ]

```

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [March 31, 2023, 10:06am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/4 "2023-03-31T10:06:44Z")

</div>

Je pense que c’est optionnel

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [March 31, 2023, 1:14pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/5 "2023-03-31T13:14:46Z")

</div>

j’ai un `mix.exs`

```auto
defmodule Website.MixFile do
  use Mix.Project

  def project do
    [
      app: :website,
      version: "~> 0.1.0",
      elixir: "~> 1.14",
      start_permanent: Mix.env == :prod ,
      deps: deps()
    ]
  end

  def application do
    [
      applications: [:serum]
    ]
  end

  def deps do
    [
      {:serum, ">= 1.1.0 or < 2.0.0"},
      {:serum_theme_essence, "~> 1.1.0"},
    ]
  end
end

```

Et toute l’après-midi il m’a rendu fou avec 🙀 (sans trouver l’origine du problème, ni des modifications apportant une résolution des conflit)

```auto
$ mix do deps.get, deps.compile
Resolving Hex dependencies...
Resolution completed in 0.433s
New:
  certifi 2.9.0
  combine 0.10.0
  cowboy 2.9.0
  cowlib 2.11.0
  earmark 1.4.4
  expo 0.4.1
  file_system 0.2.10
  floki 0.30.1
  gettext 0.22.1
  hackney 1.18.1
  html_entities 0.5.2
  idna 6.1.1
  metrics 1.0.1
  microscope 1.4.0
  mime 1.6.0
  mimerl 1.2.0
  parse_trans 3.3.1
  ranch 1.8.0
  serum 1.5.1
  serum_theme_essence 1.1.0
  ssl_verify_fun 1.1.6
  timex 3.7.11
  tzdata 1.1.1
  unicode_util_compat 0.7.0
** (Mix) Invalid requirement any for app serum

```

avec

```auto
$ mix hex.info serum 1 ↵
Yet another static website generator written in Elixir

Config: {:serum, "~> 1.5"}
Releases: 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.1.0-pre.0, ...

Licenses: MIT
Links:
  GitHub: https://github.com/Dalgona/Serum
  Website: http://dalgona.github.io/Serum

```

Je commence mal dans Elixir

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 1, 2023, 8:13am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/6 "2023-04-01T08:13:44Z")

</div>

Ah zut. Je vais tâcher de jeter un coup d’œil demain et te passer ma config…

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [April 6, 2023, 8:58am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/7 "2023-04-06T08:58:35Z")

</div>

From Lucy [https://yip.pe/](https://yip.pe/)

1. it’s the designer’s fault, never the user’s fault

2. there’s no such thing as “newbies” or “dummies”. There’s a variety of people with different motives, backgrounds and experiences. The belief in this simplistic dichotomy of “smart” vs “dumb” creates heirarchies that allow emotional toddlers to believe they are geniuses on the basis of knowing how to code in C

3. developers, and power users deserve good UI _too_. we shouldn’t measure expertise on the basis of the amount of suffering we are willing to endure.

4. every configuration switch is a failure to make a design decision.

there are a bunch of exceptions here for accessibility; but mostly, configuration isn’t freedom, it’s pointless busywork that makes documentation harder, and troubleshooting a nightmare

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 11, 2023, 1:44pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/8 "2023-04-11T13:44:25Z")

</div>

Convention over configuration ← [Rails](https://rubyonrails.org)

Mais bon, moi ce que je préfère, c’est éditer des fichiers Markdown et faire `git push` pour les mettre en ligne. Cet après-midi je vais jeter un oeil à ces _static website managers_ qui sont censés marcher tout seuls. J’en ai besoin pour éviter de faire un autre [lesoiseaux.io.git](https://code.cepheide.org/lesoiseaux.io.git/) que je suis pratiquement le seul à savoir bouger.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 12, 2023, 4:32pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/9 "2023-04-12T16:32:40Z")

</div>

Je suis sur Debian 12 (bookworm, AKA testing).  
J’ai installé `elixir` (version 1.14.0) et les dépendances d’Erlang.

Ensuite :

```shell
mix archive.install hex serum_new
mix serum.new /srv/www/hack2o_eu
cd /srv/www/hack2o_eu
mix deps.get
mix deps.compile
mix serum.server

```

Aucune erreur jusque là.

Mon **mix.exs** :

```ruby
defmodule Hack2oEu.MixFile do
  use Mix.Project

  def project do
    [
      app: :hack2o_eu,
      version: "0.1.0",
      elixir: "~> 1.14",
      start_permanent: Mix.env == :prod,
      deps: deps()
    ]
  end

  def application do
    [
      applications: [:serum]
    ]
  end

  defp deps do
    [
      {:serum, "~> 1.5"}
    ]
  end
end

```

Alors soit le `theme_essence` est brûlé, soit il te manque des headers. Ou bien tu as plusieurs versions d’`elixir` installées ?

Si tu veux on se fait une session rapide quand tu as un moment.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 12, 2023, 5:08pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/10 "2023-04-12T17:08:40Z")

</div>

Bon, je suis passé à la phase suivante qui consiste à ajouter la ligne `{:serum_theme_essence, "~> 1.0"}` et là, 💥 ça foire exactement comme pour toi.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 12, 2023, 5:16pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/11 "2023-04-12T17:16:12Z")

</div>

> [@XavCC](#):
>
> ` def deps do`

Sur cette ligne j’ai `defp deps do`. Pas sûr que cela change quoi que ce soit… L’erreur est la même avec ou sans le p. `defp` définit une fonction _privée_, donc mieux vaut probablement le conserver.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [April 12, 2023, 5:35pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/12 "2023-04-12T17:35:57Z")

</div>

@XavCC, dans la série WTF, je te présente : `, override: true`

```ruby
  defp deps do
    [
      {:serum, "~> 1.5", override: true},
      {:serum_theme_blaze, "~> 1.1"}
    ]
  end

```

(Le thème Blaze fait partie des trucs que j’ai essayé, cela ne devrait pas changer grand chose à l’affaire. Mais le `override` vire l’erreur…)

> **Moi pas comprendre**
>
> Cf. [elixir - (Mix) Hex dependency resolution failed - Stack Overflow](https://stackoverflow.com/questions/74622941/mix-hex-dependency-resolution-failed#answer-74683604)
> 
> ![image](https://ps.zoethical.org/uploads/default/original/2X/d/d9039f4d9a6c83034b400a36d2e4ca1bdabe1991.png)

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [December 7, 2023, 9:59am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/13 "2023-12-07T09:59:34Z")

</div>

allons, soyons de folie aujourd’hui.

Je me refais un shoot de `serum` et je vous partage ci-après e que ça donne.

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [December 20, 2023, 2:37pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/14 "2023-12-20T14:37:22Z")

</div>

Voilà à quoi cela commence ressembler avec `serum` et thème `essence` sans ici dans l’exemple faire de modification sur le thème utilisé

 ![screen-hack2o-serum](https://ps.zoethical.org/uploads/default/original/2X/5/55fc1cbf2e8b071f675d9ca2b8ee1196eb4f4d89.png)

- LOL pour utiliser un thème quel qu’il soit, il faut par exemple `{:serum_theme_essence, git: "https://github.com/Dalgona/serum-theme-essence"}` (_cela doit pouvoir être résolu en mettant à dispo la source en local_). Sinon cela crash (chez moi 14/16) avec du très moche et peu verbeux:

```auto
  ERROR UndefinedFunctionError while loading theme (module: Serum.Themes.Essence): function Serum.Themes.Essence.name/0 is undefined (module Serum.Themes.Essence is not available)
   WARN Error occurred while building the website.
   WARN The website may not be displayed correctly.

```

- en configuration de base, le thème `essence` ne prend pas `[^note-1]` avec `[^note-1]:` comme note de bas de page dans markdown parsé à l’aide de `https://github.com/pragdave/earmark`. Pour autant `'Elixir.Earmark.Ast.Renderer.FootnoteListRenderer'` se trouve bien dans le `…/earmark/ebin/eamark.app`. Je ne désespère donc pas de trouver un truc à débloquer.

- Il reste encore un peu de taf avant de proposer d’envoyer le dépot via ssh (_`OpenSSH_9.6p1, OpenSSL 3.2.0 23 Nov 2023` en considérant [Terrapin Attack](https://terrapin-attack.com/)_) sur [https://code.cepheide.org/](https://code.cepheide.org/)

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [December 21, 2023, 12:10pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/15 "2023-12-21T12:10:56Z")

</div>

j’ai un vrai problème avec la carte :

1. elle occulte les territoires Sami et ceux de la Terre de Feu qui sont tous deux endroits de luttes importantes
2. tous les points indiqués se trouvent dans le Nord Global et ne distinguent aucunement les types de luttes.
3. la projection est toujours la même et problématique…

Par ailleurs je trouve la présentation bien trop détachée et abstraite. Elle ne pose pas les enjeux concrets des luttes en cours, l’orientation politique de leur positionnement, ni l’importance des ou la possibilité des liaisons.

Je n’ai malheuerusement pas le temps là de m’y coller mais honnêtement cette carte me donne mal au ventre.

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [January 3, 2024, 9:56am UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/16 "2024-01-03T09:56:49Z")

</div>

**ToDo** (avant d’envoyer le code sur [https://code.cepheide.org/](https://code.cepheide.org/)) à ce jour du 3 janv. 2024

- **Base**
  - Convenir de règles pour la mise du code sur cepheide
    - Règles de hygiènes et sécu (SSH / port / install / Build et dépendances, ect.)
    - Une branche dédiée avant pod nommée "main "? Puis review et Merge request
    - Une branche nommée “stage” Sur laquelle envoyer les dédiée à « l’attente » et tests (si possibles cf ` Convenir de règles pour la mise du code sur cepheide`.
    - branche nommée pour ‘staging’ {prod} / live/ online
    - règles de base dans le code source et la config en convenant pour mise en prod

- **Dev**
  - Résoudre
    - Les appels à :
      - repo github du theme essence
      - g00gle fonts
      - [prismjs.com](http://prismjs.com)

    - L’usage des bases d’utilisation de la syntaxe en markdown (exemple les notes de bas de page)
      - Cela semble venir d’un `false` par défaut\[1\] que l’on retrouve dans le theme Essence à `…/serum-theme-essence/deps/earmark/lib/earmark/options.ex` (faut donc modifier avant de faire compiler.
      - Note: in `serum-theme-essence/priv/assets/js/prism.js` cf `Prism.languages.markdown=Prism […]`

- **Intégration**
  - Licences appropriées
  - Affichages de :ps:
  - Lien d’accès au code source
  - Une page d’accueil claire, concise et jolie
  - Passer le texte d’explication d’hack2o en “post” (et non plus en page d’accueil)

- **Documentation**
  - Mettre à dispo les premiers paragraphe de documentation concernant cette page d’accueil / elixir / serum (conception, utilisation, modification, etc)  
janv

* * *

1. [GitHub - RobertDober/earmark\_parser: The Markdown to AST part of Earmark.](https://github.com/RobertDober/earmark_parser#footnotes)

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [January 3, 2024, 2:20pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/17 "2024-01-03T14:20:46Z")

</div>

Pour les branches du dépôt : `main` et `stage` pour la prod et le _staging_.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [January 3, 2024, 2:22pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/18 "2024-01-03T14:22:02Z")

</div>

BTW le `cgit` est pété…

---

<div class="post-metadata">

### Author: ![XavCC](https://ps.zoethical.org/user_avatar/ps.zoethical.org/xavcc/32/1217_2.png) [@XavCC](https://ps.zoethical.org/u/XavCC)
#### Post date: [January 22, 2024, 1:02pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/19 "2024-01-22T13:02:59Z")

</div>

Je me bats comme un dératé avec tout cela (ci-dessus). Pas de soucis, cela va se dénouer et c’est cool.

Je voudrais avoir une page web publiée avant OFFDEM. Vous pigez pourquoi, j’en suis persuadé.

Ce serait okay pour vous d’avoir un page web très « épurée » et simple (contenant quand même des “WIP” pour le sections ‘wiki’ et f’orum’ ?) ?

Dans ce cas, je finis au plus vite et j’envoie là où ça va bien et de droits.

---

<div class="post-metadata">

### Author: ![how](https://ps.zoethical.org/user_avatar/ps.zoethical.org/how/32/2236_2.png) [@how](https://ps.zoethical.org/u/how)
#### Post date: [January 22, 2024, 3:45pm UTC](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729/20 "2024-01-22T15:45:23Z")

</div>

« Épuré » c’est ce que j’attends depuis deux ans. Mais dans ce cas, ne pas mettre ni forum ni wiki : si cela n’existe pas, ce n’est pas la peine d’en parler.

[Next page](https://ps.zoethical.org/t/hack2o-page-dacceuil/6729.md?page=2)
