URL: https://linuxfr.org/users/theojouedubanjo/journaux/tenter-une-premiere-modification-sur-le-code-de-linuxfr-org
Title: Tenter une première modification sur le code de LinuxFr.org
Authors: theojouedubanjo
Date: 2020年02月15日T20:00:07+01:00
License: CC By-SA
Tags: linuxfr
Score: 32
Une [entrée de suivi](https://linuxfr.org/suivi/ne-pas-afficher-le-aller-plus-loin-s-il-n-y-a-pas-de-liens-dans-une-depeche) a été créée suite à un de mes commentaires ; je me suis demandé si j’étais capable de la traiter.
# Prendre de l’info #
Le code du site _LinuxFr.org_ est trouvable [sur GitHub](https://github.com/linuxfrorg/linuxfr.org), c’est du Ruby on Rails, un _framework_ que je ne connais pas. Le texte qui me sert de point de départ, « Aller plus loin », est dans un _[template](https://github.com/linuxfrorg/linuxfr.org/blob/main/app/views/news/_news.html.haml)_ [Haml](http://haml.info/), une autre nouveauté pour moi. Le _Readme_ contient des instructions sur l’installation en local et j’ai bien l’impression qu’il y a des tests automatisés, top !
Voilà mon plan :
* faire tourner le site en local (puis faire une modification de texte dans le _template_ Haml ciblé et vérifier que la modification est bien prise en compte) ;
* déterminer ce qu’implique le fait de ne plus afficher le « Aller plus loin » dans les dépêches (quels écrans sont concernés, quelle règle d’affichage en cours de rédaction ou de modération, etc.) ;
* coder le changement de comportement ;
* mettre en place le(s) test(s) automatisé(s) correspondant(s) (prérequis : avoir compris comment ils fonctionnent) ;
* créer une _pull request_.
C’est parti ! J’applique les instructions du _[Readme](https://github.com/linuxfrorg/linuxfr.org/blob/main/README.md)_ sur ma machine sous Ubuntu.
# Des instructions d’installation semées de petites embûches #
L’étape 1 du _Readme_ demande l’installation d’un certain nombre de paquets. Seule l’installation de nodejs-legacy m’a posé problème, le paquet n’ayant plus de version installable. `apt-get install` me propose à la place `nodejs:i386`, `libnode64:i386`, `nodejs` ou `libnode64`, et j’installe `nodejs`, en gardant en tête que j’aurai peut‐être à revenir sur cette étape :
# apt-get install node-js
Dans l’étape 2 de configuration d’une base MySQL, j’ai une erreur à l’attribution des privilèges :
```sql
mysql> GRANT ALL PRIVILEGES ON linuxfr_rails.* TO "linuxfr_rails"@"localhost";
```
```
ERROR 1133 (42000): Can't find any matching row in the user table
```
Je décide de supprimer l’utilisateur linuxfr_rails créé précédemment pour le recréer avec un hôte « localhost » :
```sql
mysql> CREATE USER 'linuxfr_rails'@'localhost' IDENTIFIED BY 'asecretpassword';
```
Dans l'étape 3, bin/setup me renvoie une erreur ```(Could not find 'bundler' (1.16.4) [...] run `bundle update --bundler`)``` qui, de fil en aiguille (```Make sure that `gem install nokogiri -v '1.10.4' --source 'https[]()://rubygems.org/'` succeeds before bundling.```), m'amène à installer ruby-dev :
# apt-get install ruby-dev
Nouvelle tentative de `bin/setup`, nouvelle erreur (`== Command ["npm install"] failed ==`), qui me conduit à installer npm :
# apt-get install npm
Troisième tentative, qui me renvoie :
```
== Preparing database ==
Access denied for user 'linuxfr_rails'@'localhost' (using password: NO)
Couldn't create 'linuxfr_rails' database. Please check your configuration.
[...]
== Command ["bin/rails db:setup"] failed ==
```
Bon, il va falloir que je creuse, peut‐être du côté des fichiers YAML de configuration de base de données.
En attendant, comme j’ai des questions et que j’aime raconter ma vie, j’ai écrit un journal.
# J’ai pas fini mais j’ai des questions #
* au‐delà du _Readme_, existe‐t‐il une aide à la prise en main du code de _LinuxFr.org_ ? Je n’ai pas trouvé via les liens « À propos de LinuxFr.org » ou dans les forums ;
* peut‐on proposer une _pull request_ pour une entrée de suivi dont la note est de 0 ?
* y a‐t‐il un forum préférable pour poser des questions en lien avec le développement du site _LinuxFr.org_ ?
* pour proposer une mise à jour du _Readme_ de