Le dépôt distant
origin
de ce projet est maintenant migré sur https://gitlab.com/ynote_hk/initiativessolidaires.
Ce projet propose une page recensant les cagnottes et initiatives solidaires à travers la France. Il s'appuie sur le travail d'inventaire de @chloe.madesta et @queergouine et est alimenté par toute une communauté de façon collaborative.
Pour en savoir plus sur l'origine de cet inventaire, vous pouvez consulter le post sur le profil de @chloe.madesta sur Instagram.
- Ruby 2.6.3
- un compte Google et une clé d'API de projet sur Google API
Ce projet propose d'étendre l'accessibilité du Google Sheet initié par @chloe.madesta sur les internets. En effet, dans l'optique de se soustraire à la domination des GAFAM sur le web, il est extrêmement important de rendre disponibles des contenus riches et diversifiés, présents sur ces plateformes, sur des pages web, navigables et accessibles par toutes et tous.
Le site déployé est statique, à l'exception d'un petit script pour faire
fonctionner le filtre de sélection. La page principale est générée dans un
dossier dist
.
Le script de génération de la page principale est en Ruby. Il est très basique à escient et ne gère que cette page-là.
Si vous ajoutez d'autres pages au site, mettez-les dans
le dossier dist
. Attention à bien reprendre la structure HTML de la page
principale et à mettre à jour les metas, ainsi que la navigation.
Pour le travail d'intégration, il n'est pas nécessaire de générer la page du
site. Vous pouvez coder à partir du fichier dist/example.html
. Lorsque
l'intégration est prête, reportez vos modification sur le fichier
src/templates/index.html
.
Les données de l'inventaire sont générées en JSON à partir du Google Sheet d'origine sur lequel il y a une gestion de droits et d'historique. Il sert donc de base de données pour ce site et n'est donc pas versionné.
Pour comprendre la structure de données, vous pouvez vous référer au fichier
src/data/inventory_example.json
.
Les thématiques de l'inventaire sont listées dans un fichier JSON à part pour
permettre leur personnalisation. Vous pouvez vous référer au fichier
src/data/topics_example.json
pour en comprendre la structure de données.
bundle install
Lancer :
bundle exec bin/build
Pour pouvoir générer les fichiers JSON, il est nécessaire de renseigner la clé d'API d'un projet Google API. Vous pouvez créer un projet dans https://console.developers.google.com et y associer une clé d'API spécifique pour ce projet.
Vous devez renseigner les variables suivantes dans un fichier .env
à la
racine du projet:
GOOGLE_SHEETS_API_KEY=***
GOOGLE_SPREADSHEET_ID=***
- GOOGLE_SHEETS_API_KEY : votre clé d'API de projet Google
- GOOGLE_SPREADSHEET_ID : l'id du document collaboratif Google Sheet
Lancer :
bin/rspec
- Ajouter un filtre géographique
- Ajouter une barre de recherche (simple parsing du contenu du fichier JSON)
- Ajouter un formulaire pour soumettre une proposition qui s'ajouter automatiquement sur un des onglets du Google Sheets
N'hésitez pas à contribuer sous forme de pull requests et issues. Des idées d'amélioration sur le design ou l'expérience sur le site sont les bienvenues !
Ce dépôt est sous la licence Hippocratic License et se veut être un lieu ouvert et bienveillant de collaboration. Les personnes voulant contribuer sont invitées à suivre la charte code de conduite du Contributor Covenant.
Je remercie @chloe.madesta et @queergouine pour tout le travail de contenu et de hiérarchisation, et pour leur énergie qui m'a inspirée pour coder ce mini-site.
Je remercie également @sunny pour ses revues de code, son aide et son soutien pour la création de ce site.