WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:le_site

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:le_site [2017/03/21 22:31]
sowarks
wiki:services:le_site [2020/06/27 18:16] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Le Site ====== ====== Le Site ======
  
-<WRAP center round alert 60%> +<WRAP center round todo 60%> 
-Si cette page est supposé parlé du site web de MiNET elle est franchement pas à jour... +Cette page est carrément incomplète. 
-Le code source du site web de MiNET est en django et situé /opt/website+  * Le site est sur gitlab : [[http://gitlab.minet.net/sites/web|http://gitlab.minet.net/sites/web]] 
 +  Le site ne supporte pas (encore) la traduction même s'il semble que des choses aient été prévues pour.
 </WRAP> </WRAP>
  
 +Le site web de MiNET passe par le revproxy, il n'a donc pas d'IP publique.
  
-===== Abstract =====+Le site web est codé en django et stocké dans /opt/website.
  
-Cette documentation explique comment est developpé le site web externe de MiNET ainsi que l'espace adhérent. Elle regroupe les technologies utilisées ainsi que les process et habitudes de developpement mis en place.+On ne peut lancer le site qu'avec l'utilisateur website, il faut donc lancer la commande suivante pour lancer le site: 
 +<code> 
 +sudo -u website /etc/init.d/website start 
 +</code>
  
-==== Sources ====+==== Ajouts en vrac en explorant ====
  
-Les sources son disponible en interne (compte LDAP) sur [[http://gitlab.minet.net:3000/sarlam/wwwminet-dev|gitlab]] +La version de django est la 1.7.11 final. Pour vérifier :
- +
-===== Tools ===== +
- +
-  * Gestionnaires de paquets/extensions/lib +
-    * composer : gestionnaire de paquet PHP +
-    * npm : gestionnaire de paquet javascript côté serveur (node) +
-    * bower : gestionnaire de librairies javascript +
-  * Grunt task runner : [[wiki:services:le_site:grunt|Grunt]] +
-    * Bower +
-    * SiteMap +
-    * Less css preprocessor : [[wiki:services:le_site:less|Less]] +
-    * Uglify +
-  * FrameWork Maison de gestion du site : [[wiki:services:le_site:le_framework|Le framework]] +
- +
-===== PHP modules/extensions ===== +
-==== Modules ==== +
-  * Twig +
-==== Extensions ==== +
-<WRAP round important> +
-Les extensions doivent être installées sur votre machine ainsi qu'activées dans le fichier php.ini +
-</WRAP> +
- +
-  * intl (Object Local) +
-  * ldap +
- +
- +
-===== Installer votre environement de developpement ===== +
- +
-Pour commencer il vous faudra **cloner** le depot git depuis [[http://gitlab.minet.net:3000/sarlam/wwwminet-dev|gitlab]]. +
- +
-une fois cela fait, je vous donne rendez-vous dans le nouveau reptetoire du site. Vous devriez y voir un dossier public, Engine, js, etc... +
- +
-Il vous faut maintenant mettre en place les differents gestionnaires de paquets ainsi que [[wiki:services:le_site:grunt|grunt]] : +
-commençons pas composer, le gestionnaire php. +
-<code>curl -sS https://getcomposer.org/installer | php</code> +
- +
-Vous aurez ensuite besoin de grunt (qui lui même necessite nodejs et npm [[http://nodejs.org/|disponible ici]] (ou bien apt-get install nodejs nodejs-legacy npm) +
-<code>npm install -g grunt</code> +
- +
-puis à la racine du projet : +
-<code>npm install</code> +
- +
-Il ne vous reste qu'une dernière chose pour avoir un site web MiNET fonctionnel sur votre environnement : +
-<code>grunt build</code> +
- +
-Pour tester le tout il vous faut lier le dossier public a votre serveur (apache ou nginx) +
- +
-l'une des manières de faire cela est de crée dans la configuration d'apache un directory par exemple : +
- +
-===apache 2.4===+
 <code> <code>
-Alias /webminet /home/paul/internetFiles/wwwminet-dev/public +$ python 
- +>>> import django 
-<Directory "/home/paul/internetFiles/wwwminet-dev/public"+>>> django.VERSION
-        AllowOverride All +
-        Require all granted +
-</Directory>+
 </code> </code>
  
-===apache 2.2=== +Le dossier static se trouvant dans /opt/website n'est PAS le dossier static défini dans les paramètres (/opt/website/settings/common.py:103). C'est le dossier /opt/static qui est utilisé. Conséquence de quoi les statics ne sont pas versionnés (bravo le veau !)
-<code> +
-Alias /webminet /home/paul/internetFiles/wwwminet-dev/public+
  
-<Directory "/home/paul/internetFiles/wwwminet-dev/public"+L'anticipation de la traduction est foireuse car les articles et tutoriaux sont appelés depuis la bdd et disposent d'une colonne "langavec le code "FR" ou "EN" qui est ensuite récupéré dans une variable dans les models.py sans être interprétée par les views.py qui balancent tout indistinctement de la langue (commencer par filtrer ça peut être pas mal).
-        AllowOverride All +
-        Order allow,deny +
-        Allow from all +
-</Directory> +
-</code>+
  
 +Il serait intéressant (nécessaire) d'implémenter la solution native de Django, à savoir [[https://docs.djangoproject.com/en/1.7/topics/i18n/|i18n]].
wiki/services/le_site.1490131900.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)