Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 Re: Paramétrage et intégration » Rendre un site multilingue en 4.1.3 » 29/08/2018 10:36:24

Bonjour,

Ensuite une fois dans le Back-office, pensez a vous donner les droits sur le plan du site de la langue sélectionnée ainsi qu'aux visiteurs si besoin

Cordialement,
Fred

#2 Re: Administration » Configurer le back-office, le CMS, en https » 11/12/2015 14:37:56

Pour la redirection de http vers https, Chong a proposé une autre solution qui me semble plus séduisante :

<VirtualHost *:80>
ServerName cmsdev.mondomaine.fr
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,L,R=301]
</VirtualHost>

#3 Re: Paramétrage et intégration » [Saint-Etienne] Appel xsl dans un fichier sitemap.xmap » 29/10/2015 12:19:36

Bonjour

J'ai ouvert une demande d'évolution sur le produit.
Elle devrait être réalisée prochainement.
Vous pouvez vous inscrire sur le JIRA Ametys, c'est le JIRA du produit open source. Ensuite vous pouvez cliquer sur un bouton pour suivre l'issue. Une fois qu'elle sera corrigée, la mise à jour sera appliquée sur votre projet.

Cordialement,
Fred

#4 Re: Paramétrage et intégration » [Saint-Etienne] Modification d'un service » 16/10/2015 16:23:39

Bonjour,

Ce service n'existe pas en standard pour le moment et à été développé spécifiquement pour vous. On revient vers vous rapidement.

#5 Re: Administration » Validation d'un compte google (webmasteur tools ou Analytics) » 21/09/2015 17:43:51

Il faut penser à déclarer le directory dans la conf Apache, sinon Apache n'a pas accès au répertoire!.

#8 Administration » Validation d'un compte google (webmasteur tools ou Analytics) » 16/09/2014 12:03:04

fred.ravetier
Replies: 2

Pour valider un compte google (webmasteur tools ou analytics)

Google fournit un fichier html à mettre à la racine du site (par exemple : google6981cx7dfd0d701b.html).
Sur une installation standard cela signifierait qu'il faut déposer le fichier dans

/home/cms/Ametys_CMS/data/cache/monsite/fr/

Or ce comme son nom l'indique, c'est un cache, il est vidé régulièrement.

Donc la solution est simple:
* Déposer le fichier sur le serveur dans un répertoire, par exemple : /home/cms/GoogleValidation/
* Faire une règle de ré-écriture dans la conf apache du site, exemple :

RewriteRule ^/google6981cx7dfd0d701b.html$ /home/cms/GoogleValidation/google6981cx7dfd0d701b.html [L]

après les lignes (surtout avant les règles de gestion du cache):

        RewriteRule             ^/?$             /fr/index.html [R]
        RewriteRule             ^/fr/?$          /fr/index.html [R]
        RewriteRule             ^/en/?$          /en/index.html [R]
        RewriteRule             ^/es/?$          /es/index.html [R]
        RewriteRule             ^/zh/?$          /zh/index.html [R]

* Redémarrer Apache
* Vous pouvez tester en accédant à la page http://monsite/google6981cx7dfd0d701b.html
* Dans google webmasteur tool, cliquez sur valider

#9 Paramétrage et intégration » Intégration de piwik » 01/04/2014 17:24:44

fred.ravetier
Replies: 0

A ce jour il y a un champs dans l'espace d'administration d'un site qui permet de saisir le code UA de Google Analytics.

Pour intégrer Piwik (dans l'admin) à la place de Google Analytics, il faut rajouter un paramètre de site Piwik et ignorer celui de google. Cette opération n'est pas nécessaire dans le cas d'un seul site puisque tout peut être codé dans la skin. Le CMS Ametys est aussi une solution multisite, aussi une solution d'usine à sites, et dans ce cadre il est utile de pouvoir paramétrer l'identifiant Piwik dans l'admin sans avoir a retoucher au code de la charte. Surtout que la charte peut être utilisée par plusieurs sites, déclinée avec l'outil de déclinaison...

* Déclaration du nouveau paramètre : Ajouter dans un fichier plugin.xml de l'application

<feature name="myplugin.site.piwik">
        <extensions>
            <extension point="org.ametys.web.site.SiteConfigurationExtensionPoint"
                       id="myplugin.site.piwik">
                <param id="piwik-id" type="string">
                    <label i18n="true">ADMINISTRATOR_SITES_TRACKING_PIWIK_ID_LABEL</label>
                    <description i18n="true">ADMINISTRATOR_SITES_TRACKING_PIWIK_ID_DESCRIPTION</description>
                    <category i18n="true">plugin.web:PLUGINS_WEB_SITE_INFORMATION_CATEGORY</category>
                    <group i18n="true">plugin.web:PLUGINS_WEB_SITE_TRACKING_GROUP</group>
                </param>
            </extension>
        </extensions>
</feature>

* Compléter le fichier i18n avec les clés/valeurs i18n.
* Ajouter le bout de code piwik dans la skin en prenant le paramètre positionné dans l'admin.

#10 Re: Administration » Ajouter des utilisateurs à partir d'un fichier excel » 23/01/2013 15:39:03

Je propose une petite amélioration pour ajuster les noms (en majuscules), échapper les apostrophes des noms ou des prénoms:

=CONCATENER("insert ignore into Users set login='";E186;"',firstname='";SUBSTITUE(B186;"'";"\'");"',lastname='";MAJUSCULE(SUBSTITUE(C186;"'";"\'"));"', email='";G186;"',password='";S186;"';")

J'ai pas précisé mais il faut que les login soient "propres", évitez les tirets, apostrophes, ... Il vaut mieux ne pas les traiter de manière automatique afin de pouvoir ensuite facilement communiquer dessus si besoin

#11 Administration » Ajouter des utilisateurs à partir d'un fichier excel » 23/01/2013 13:12:09

fred.ravetier
Replies: 1

Pré-requis: avoir un fichier excel contenant: Prénom, Nom, login, mot de passe, email.

Il faut d'abord convertir le mot de passe au format utilisé pour être stocké en base de données (MD5 binaire + base64):
* stocker les mots de passe dans un fichier texte, un mot de passe par ligne.
* déposer le fichier dans /tmp/passwords.txt (sur une machine ou ametys tourne)
* aller sur _repository de votre site et ouvrir la console pour insérer le code suivant:

importClass(org.ametys.runtime.util.StringUtils);
importClass(org.apache.commons.io.FileUtils);
importClass(java.io.File);

var file = new File('/tmp/passwords.txt');
var lines = FileUtils.readLines(file).iterator();

while (lines.hasNext())
{
  var pwd = lines.next();
  var encodedPwd = StringUtils.md5Base64(pwd);
  println(encodedPwd);
}

* les mots de passe encodés sont alors affichés dans la sortie standard.
* un copier-coller dans excel devrait suffire (il peut être nécessaire de passer par un fichier texte intermédiaire)


Ensuite il suffit de construire une formule sous excel du genre:

=CONCATENER("insert ignore into Users set login='";E2;"',firstname='";B2;"',lastname='";C2;"', email='";G2;"',password='";F2;"';")

J'ajouterais sur la première ligne du fichier le "use" afin de sélectionner la base de données et éviter les erreurs, exemple:

use Ametys_CMS_FO;

Toujours à réaliser d'abord sur une base de données de tests :)

Astuce complémentaire, il est possible d'ajouter les utilisateur dans un groupe déjà créé:

=CONCATENER("insert ignore into Groups_Users set Group_Id = 1, Login='";E2;"';")

Dans cet exemple l'ID du groupe est "1".


Les identifiants de cellules excel sont à ajuster en fonction de votre fichier.

Merci à Nico

#12 Re: Paramétrage et intégration » line break dans un titre de page » 15/01/2013 10:23:46

Bonjour Francis et bonne année wink,

Pour votre information, il y a une demande d'évolution dans JIRA à ce sujet:

Vous pouvez voter et faire voter wink

Fred

#13 Re: Paramétrage et intégration » Caractère du Capcha difficile à lire » 18/12/2012 18:59:58

Une petite astuce est d'agrandir (élargir) le captcha. Par exemple dans les formulaires, vous pouvez paramétrer le captcha et lui mettre une largueur plus grande, ça aide à la visualisation. Et honnêtement on arrive à lire au moins 80% des captcha (exemple: )

Il deviennent pratiquement aussi lisible et parfois illisible que ceux de Google wink.

#14 Re: Administration » Too many open files » 06/09/2012 10:25:45

Pour connaitre les fichiers ouverts par un process :

lsof -p <Java PID>

Pour obtenir le nombre de fichiers ouverts:

lsof -p <Java PID> | wc –l

Pour connaitre le PID des process java:

ps -f | grep java

Pour extraire le PID: (dans le cas ou il y a un seul process java, sinon il faut modifier le grep)

ps -e | grep java | cut -f1 -d ' '

Sinon voici une autre solution:

PROCESS_NAME="tomcat-cms"
ps -ef | grep java | grep ${PROCESS_NAME} | cut -c10-14

#15 Re: Administration » Too many open files » 06/09/2012 09:55:08

Quelques informations complémentaires

# cat /proc/sys/fs/file-nr
3391    969     52427
|        |       |
|        |       |
|        |       maximum open file descriptors
|        total free allocated file descriptors
total allocated file descriptors
(the number of file descriptors allocated since boot)

#16 Administration » Configurer le back-office, le CMS, en https » 23/08/2012 15:08:15

fred.ravetier
Replies: 1

En préampule: Faire un backup des fichiers qui seront modifiés.

Contexte: Nous allons considérer que l'installation utilise Apache en frontal et du virtualhost pour communiquer avec tomcat. Nous allons sécuriser seulement Apache.

Pré-requis: obtenir un certificat et configurer les certificats dans Apache

Introduction: Je décris ici comment passer le CMS en https puis avoir une redirection de http vers le back-office en https. Dans cet exemple j'ai pris un modèle d'adresse d'un back-office de développement (cmsdev.mondomaine.fr).

Voici les étapes à réaliser pour réaliser le passage en https:
- Arrêt d'Apache et de tomcat sur le back-office
- mv /etc/httpd/vhosts/httpd-cmsdev.mondomaine.fr.conf /etc/httpd/vhosts/httpds-cmsdev.mondomaine.fr.conf
- Supprimer tout le virtualhost sur le port 80
- Si c'est le cas, remplacer <VirtualHost xxx.xxx.xxx.xxxx:443> par <VirtualHost *:443> (nous ne faisons pas de virtualhost par IP mais sur le nom)
- vi /usr/local/tomcat/conf/server.xml
Au niveau du connecteur il faut ajouter:

    proxyPort="443"
    scheme="https"
    secure="true"

Ce qui doit donner quelque chose du genre:

    <Connector port="8080"
               proxyPort="443"
               scheme="https"
               secure="true"
               URIEncoding="UTF-8"
               protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               compression="on"
               compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/json"
               compressionMinSize="2048"/>

Start de Apache en tant que root puis de tomcat en tant que cms (sudo /etc/init.d/tomcat start)
Tests

Création de la redirection http:// vers https://

vi  /etc/httpd/vhosts/httpd-cmsdev.mondomaine.fr.conf

Copier coller tout ceci en s'assurant que (NameVirtualHost *:80 est bien positionné)

<VirtualHost *:80>
         # Racine des documents statiques du CMS
        DocumentRoot /home/cms/Ametys_CMS/application/cms

        <Directory "/home/cms/Ametys_CMS/application/cms">
            Order allow,deny
            Allow from all
        </Directory>

        ServerName cmsdev.mondomaine.fr
        UseCanonicalName On
        AddDefaultCharset     UTF-8

        RewriteEngine On
        ProxyRequests Off
       
        RedirectMatch permanent ^(.*)$ [url]https://cmsdev.mondomaine.fr/$1[/url]
</VirtualHost>

Restart de Apache + tests

#17 Re: Administration » Comment configurer le site en https » 18/06/2012 10:34:04

Pour information dans Apache, il faut gérer les certificats... puis pour la partie Ametys:
il suffit de changer le port du connecteur de tomcat:

  ## Redirection de toute autre forme de requetes :
  RewriteRule        ^(/.*)$  http://localhost:8081$1 [P,L]
  ProxyPassReverse   /        http://localhost:8081/

  # Autorisation locale de proxification
  <Proxy http://localhost:8081/*>
    Order deny,allow
    Allow from all
  </Proxy>

Dans le cas ou 8081 est le port du connecteur qui utilisera un site en https

#18 Re: Administration » Forcer l'authentification front-office avec shibboleth » 18/06/2012 10:32:34

J'avais trouvé d'autres pistes (non explorée):

Sur un autre site il y avait:

RewriteCond %{IS_SUBREQ} ^false$
RewriteCond %{LA-U:REMOTE_USER} =""

#19 Administration » Forcer l'authentification front-office avec shibboleth » 18/06/2012 10:26:51

fred.ravetier
Replies: 1

Après installation de shibboleth sur /, shibboleth n'est pas utilisé lorsqu'une page est dans le cache.

Ce problème vient d'une règle de redirection qui vérifie si la page est dans le cache. Dans ce cas apache sert la page directement sans appeler shibboleth, car l'information [Location /] n'est pas encore passée dans Apache.

Cette règle est

RewriteCond %{DOCUMENT_ROOT}/www/$1 -f
RewriteRule ^/(.+)$ %{DOCUMENT_ROOT}/www/$1 [L]

Il suffit de rajouter une condition sur cette règle pour s'assurer que shibboleth est déjà passé:

RewriteCond %{LA-U:ENV:Shib-Authentication-Instant} ^20.*

Ce qui nous donne:

RewriteCond %{DOCUMENT_ROOT}/www/$1 -f
RewriteCond %{LA-U:ENV:Shib-Authentication-Instant} ^20.*
RewriteRule ^/(.+)$ %{DOCUMENT_ROOT}/www/$1 [L]

Dans ce cas, quelque soit la page, "Location /" prend la main puis fournit la page (à partir du cache si elle existe dans le cache).

J'ai vérifié que le cache est toujours utilisé en arrêtant le tomcat du site.

Source de l'idée:

#20 Re: Administration » Comment configurer le site en https » 18/06/2012 10:13:05

De cette manière il est possible d'avoir un seul tomcat pour gérer un site en http et un autre en https, il suffit d'avoir deux connecteurs tomcat qui travaillent sur des ports différents, par exemple 8080 et 8081.
L'un aura un proxyPort sur le port 80 et l'autre sur le port 443

#21 Administration » Comment configurer le site en https » 18/06/2012 10:11:07

fred.ravetier
Replies: 2

Bonjour,

Pour configurer le site en https, il faut:




Pour le premier point je vous laisse ajuster la configuration, il y a de nombreux tuto sur internet

Configurer tomcat
Tomcat peut rester en http lorsqu'on utilise le mod_rewrite et le mod_proxy, puisqu'il y a une redirection entre apache et tomcat qui est réalisée en local.

Au niveau du connecteur (server.xml) il faut avoir:

              proxyPort="443"
              scheme="https"

Ce qui doit donner quelque chose du genre

 <Connector port="8081"
               proxyPort="443"
               scheme="https"
               URIEncoding="UTF-8"
               protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443"
               compression="on"
               compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/json"
               compressionMinSize="2048"/>

Configurer l'application
Dans l’administration du back-office ("sites", sélectionner le site, "configurer"), ajuster l'adresse du site web pour obtenir https://...

#22 Re: Administration » frontal à 100% cpu » 14/06/2012 14:40:44

Parfois il y arrive qu'un flux rss (service flux rss) qui pointe sur le site courant provoque un CPU à 100%
On peut le voir un petit peu dans les logs

#24 Utilisation » Insérer un "contenu existant" vs le service "afficher un contenu" » 10/10/2011 12:12:54

fred.ravetier
Replies: 1

Un service affiche une vue d'un contenu et ne permet pas d'avoir accès à la modification du contenu.
Le service "Afficher un contenu" permet de choisir la vue (résumé par exemple).

Insérer un "contenu existant" permet d'affecter le contenu dans une zone d'une page. Le contributeur peut alors modifier le contenu. La modification s'opère sur le contenu et donc la modification aura lieu partout ou le contenu est affiché.

En général on utilise insérer un "contenu existant" pour affecter un contenu orphelin dans une page. Alors qu'on utilise le service "afficher un contenu" pour afficher un contenu qui est déjà affiché dans une autre page, et surtout pour l'afficher une vue résumé, par exemple dans une colonne de droite

#25 Administration » Rechercher tous les liens commençant par http://www.ametys.org » 10/10/2011 11:10:11

fred.ravetier
Replies: 0

Le tuyau du jour:

Comment rechercher les contenus ayant un lien du type: ?



//element(*, ametys:content)[jcr:like(ametys-internal:consistency/@ametys-internal:link, '%www.ametys.org%')]

Board footer

Powered by FluxBB