Skip to content

Commit

Permalink
Merge branch 'dev' into message_accueil
Browse files Browse the repository at this point in the history
  • Loading branch information
Situphen committed Feb 20, 2023
2 parents 8c52469 + 340ab0d commit e1fb4e7
Show file tree
Hide file tree
Showing 32 changed files with 4,082 additions and 1,378 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -12,6 +12,7 @@ base.db
/media
/articles-data
/zds/_version.py
/geodata

/tutoriels-private-test
/tutoriels-public-test
Expand Down
14 changes: 13 additions & 1 deletion Makefile
Expand Up @@ -54,6 +54,11 @@ test-back-selenium: ## Run backend Selenium tests
clean-back: ## Remove Python bytecode files (*.pyc)
find . -name '*.pyc' -exec rm {} \;

list-outdated-back: ## List outdated Python packages
@echo "Package Version Latest Type"
@echo "----------------------- --------- --------- -----"
@pip list --outdated | grep "`awk -F== '{ print $$1 }' requirements*.txt | tr -s '\n' '\n' | sort`"

##
## ~ Frontend

Expand All @@ -75,6 +80,9 @@ lint-front: ## Lint the Javascript code
clean-front: ## Clean the frontend builds
yarn run clean

list-outdated-front: ## List outdated Node.js packages
@npx david || true

##
## ~ zmarkdown

Expand Down Expand Up @@ -154,6 +162,10 @@ start-publication-watchdog: ## Start the publication watchdog
help: ## Show this help
@echo "Use 'make [command]' to run one of these commands:"
@echo ""
@fgrep --no-filename "##" ${MAKEFILE_LIST} | head -n '-1' | sed 's/\:.*\#/\: \#/g' | column -s ':#' -t -c 2
ifeq ($(shell uname), Darwin)
@fgrep --no-filename "##" ${MAKEFILE_LIST} | tail -r | tail -n +3 | tail -r | sed 's/\:.*\#/\: \#/g' | column -s ':#' -t -c 2 | sed 's/(null)//g'
else
@fgrep --no-filename "##" ${MAKEFILE_LIST} | head -n '-2' | sed 's/\:.*\#/\: \#/g' | column -s ':#' -t -c 2 # assume GNU tools
endif
@echo ""
@echo "Open this Makefile to see what each command does."
6 changes: 1 addition & 5 deletions README.rst
@@ -1,4 +1,4 @@
|Build Status| |Coverage Status| |Requirements Status| |Dependency Status| |Licence GPL|
|Build Status| |Coverage Status| |Licence GPL|

.. image:: https://github.com/zestedesavoir/zds-site/blob/36c6bbc50fdecd936768ef5a566d98f5d757fcbf/assets/images/logo-background.png

Expand Down Expand Up @@ -48,9 +48,5 @@ Conseils pour débuter
:target: https://github.com/zestedesavoir/zds-site/actions
.. |Coverage Status| image:: https://coveralls.io/repos/github/zestedesavoir/zds-site/badge.svg?branch=dev
:target: https://coveralls.io/github/zestedesavoir/zds-site?branch=dev
.. |Requirements Status| image:: https://requires.io/github/zestedesavoir/zds-site/requirements.svg?branch=dev
:target: https://requires.io/github/zestedesavoir/zds-site/requirements/?branch=dev
.. |Dependency Status| image:: https://david-dm.org/zestedesavoir/zds-site.svg
:target: https://david-dm.org/zestedesavoir/zds-site
.. |Licence GPL| image:: https://img.shields.io/badge/license-GPL-blue.svg
:target: https://www.gnu.org/licenses/quick-guide-gplv3.fr.html
2 changes: 1 addition & 1 deletion assets/js/snow.js
Expand Up @@ -15,7 +15,7 @@

canvas.style.background = window
.getComputedStyle(this._parent)
.getPropertyValue('background-color')
.getPropertyValue('background')
this._parent.style.background = 'transparent'

// Append the canvas...
Expand Down
4 changes: 4 additions & 0 deletions assets/scss/base/_content.scss
Expand Up @@ -579,6 +579,10 @@ td {
display: contents; /* overrides katex.css that creates display:inline-block and generate bad box */
}

.math-display {
font-size: $font-size-9;
}

.inlineMathDouble .katex {
max-width: 100%;
overflow-x: auto;
Expand Down
6 changes: 6 additions & 0 deletions assets/scss/components/_editor-new.scss
Expand Up @@ -58,6 +58,8 @@
cursor: pointer;
vertical-align: middle;

white-space: normal;

&.emoji {
zoom: 100%;
width: 48px;
Expand Down Expand Up @@ -203,6 +205,10 @@

.CodeMirror {
width: 100%;

pre {
font-family: $font-monospace;
}
}

.editor-preview {
Expand Down
73 changes: 73 additions & 0 deletions doc/source/install/extra-geolite2.rst
@@ -0,0 +1,73 @@
========================
Installation de GeoLite2
========================

`GeoLite2 <https://dev.maxmind.com/geoip/geolite2-free-geolocation-data>`_ est une base de donnée gratuite donnant des informations de localisation sur les adresses IP, par exemple le pays d'origine probable. Zeste de Savoir l’utilise afin de localiser les adresses IP des membres à des fins de modération.

L’installation de la base de donnée est optionnelle pour le bon fonctionnement du site. En particulier, l’environnement de développement peut fonctionner sans.


Installation
------------

La base de donnée doit être téléchargée depuis le site de l’éditeur.

1. Créer un `compte utilisateur <https://www.maxmind.com/en/geolite2/signup?lang=en>`_ gratuit.
2. Se connecter et accéder à la `page de téléchargement <https://www.maxmind.com/en/accounts/current/geoip/downloads>`_.
3. Choisir la ligne « GeoLite2 City » ; vérifier que le format est bien *GeoIP2 Binary* et télécharger l’archive GZIP.
4. Décompresser l’archive et renommer le dossier ``GeoLite2-City_YYYYMMDD`` en ``geodata``.
5. Placer ce dossier à la racine du projet.

La localisation des adresses IP sera désormais indiquée sur les pages de profil si vous êtes connectés en tant que staff ou admin.

Consultez la `documentation officielle <https://dev.maxmind.com/geoip/geolite2-free-geolocation-data>`_ pour plus d’information.


Mise à jour
-----------

La mise à jour de la base de donnée peut se faire en téléchargeant une nouvelle version et en l’installant à la place de l’ancienne, en suivant la procédure décrite dans la section `Installation <#installation>`_.

Si vous souhaitez automatiser la mise à jour, d’autres options existent :

* le programme de mise à jour `GeoIP Update <https://dev.maxmind.com/geoip/updating-databases?lang=en#using-geoip-update>`_ ;
* l’utilisation des permaliens de la page de téléchargement, par exemple avec ``wget`` ou autre outil similaire.

Dans tous les cas, vous aurez besoin de générer une clé de licence.

Consultez la `documentation officielle <https://dev.maxmind.com/geoip/geolite2-free-geolocation-data>`_ pour une information complète à ce sujet.


Résolution de problème
----------------------

J’ai des avertissements concernant GeoIP2 dans les logs
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Si le message d’erreur est le suivant :

.. sourcecode:: none

GeoIP path must be a valid file or directory.

alors la base de donnée n’est pas installée ou n’est pas installée au bon endroit.

* Vérifiez que vous avez placé le dossier au bon endroit.
* Vérifiez que le dossier a le bon nom.
* Vérifiez que le fichier ``.mmdb`` a le bon nom.

À cette fin, consulter la configuration de votre environnement de développement peut être utile. Le module de localisation utilise les paramètres ``GEOIP_PATH`` pour le nom dudossier et ``GEOIP_CITY`` pour le nom du fichier. Ils sont définis dans ``zds/settings/abstract_base/zds.py``.

Si vous avez une autre erreur, contactez les développeurs. Il s’agit sûrement d’un bug et non d’un souci d’installation.


La localisation de l’IP n’est pas affichée malgré tout
++++++++++++++++++++++++++++++++++++++++++++++++++++++

Vérifiez d’abord votre installation encore une fois, et notamment l’absence d'avertissement concernant GeoIP2 dans les logs. Si vous avez des avertissements, consultez la `section ci-dessus <#jai-des-avertissements-concernant-geoip2-dans-les-logs>`_ pour les résoudre.

Vérifiez que vous êtes bien connecté en tant que staff ou admin. Les adresses IP et leur localisation ne sont pas affichées pour les simples membres.

Vérifiez que le profil ne s’est pas connecté depuis une IP locale telle que 127.0.0.1. Aucune localisation ne sera affichée pour ce type d’IP.

Autrement, il est possible que la base de donnée ne connaisse pas la localisation de l’IP. Dans ce cas, Zeste de Savoir ne donnera aucune information de localisation. Notez également que la localisation peut être partielle (par exemple seulement le pays, mais pas la ville).

0 comments on commit e1fb4e7

Please sign in to comment.