<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.hegyd.com/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Hegyd Doc - Contributions de l’utilisateur [fr]</title>
		<link>https://wiki.hegyd.com/index.php/Sp%C3%A9cial:Contributions/Albin+Potet</link>
		<description>De Hegyd Doc.</description>
		<language>fr</language>
		<generator>MediaWiki 1.15.4</generator>
		<lastBuildDate>Sat, 11 Jul 2026 03:21:30 GMT</lastBuildDate>
		<item>
			<title>Telephonie</title>
			<link>https://wiki.hegyd.com/index.php/Telephonie</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Paramètre SIP OVH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Thomson ST2030 =&lt;br /&gt;
&lt;br /&gt;
== Hard Reboot ==&lt;br /&gt;
&lt;br /&gt;
Pour effectuer un hard reboot il faut débrancher électriquement le téléphone, appuyer simultanément sur les touches &amp;quot;casque&amp;quot; et &amp;quot;micro coupé&amp;quot; en rebranchant électriquement le téléphone. Attendre entre 30 et 40 secondes avant de relacher les boutons.&lt;br /&gt;
&lt;br /&gt;
== Paramètres SIP OVH ==&lt;br /&gt;
&lt;br /&gt;
Si le téléphone a subi un hard reboot ou que la configuration OVH n'est plus présente sur le téléphone, il faut procéder comme suit : &lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Trouver l'ip du téléphone : bouton menu -&amp;gt; Admin -&amp;gt; Voir paramètres -&amp;gt; Configuration Réseau -&amp;gt; Ip Adress&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Se connecter a l'admin du téléphone via le web : http://IP-Telephone/admin.html -&amp;gt; login : adminiostrator / mdp : 784518&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Remettre l'auto provisionning OVH : Setup -&amp;gt; Auto Provisioning -&amp;gt; Basic Setup -&amp;gt; HTTP preset -&amp;gt; th.prov.voip.ovh.net/st2030/&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Valider et confirmer le redémarrage. Le téléphone va se mettre a jour, redémarrer plusieurs fois et devrait etre opérationnel une fois le traitement terminé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si le mot de passe de connexion ne fonctionne pas (par défaut changé par ovh), il est possible d'acceder à l'administration web en se rendant dans le manager ovh partie téléphonie, séléctionner la ligne concernée puis Assistance -&amp;gt; Dépannage Plug &amp;amp; Phone -&amp;gt; Initialiser et continuer&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 20 Mar 2012 09:41:49 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Telephonie</comments>		</item>
		<item>
			<title>Telephonie</title>
			<link>https://wiki.hegyd.com/index.php/Telephonie</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Thomson ST2030 =&lt;br /&gt;
&lt;br /&gt;
== Hard Reboot ==&lt;br /&gt;
&lt;br /&gt;
Pour effectuer un hard reboot il faut débrancher électriquement le téléphone, appuyer simultanément sur les touches &amp;quot;casque&amp;quot; et &amp;quot;micro coupé&amp;quot; en rebranchant électriquement le téléphone. Attendre entre 30 et 40 secondes avant de relacher les boutons.&lt;br /&gt;
&lt;br /&gt;
== Paramètre SIP OVH ==&lt;br /&gt;
&lt;br /&gt;
Si le téléphone a subi un hard reboot ou que la configuration OVH n'est plus présente sur le téléphone, il faut procéder comme suit : &lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Trouver l'ip du téléphone : bouton menu -&amp;gt; Admin -&amp;gt; Voir paramètres -&amp;gt; Configuration Réseau -&amp;gt; Ip Adress&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Se connecter a l'admin du téléphone via le web : http://IP-Telephone/admin.html -&amp;gt; login : adminiostrator / mdp : 784518&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Remettre l'auto provisionning OVH : Setup -&amp;gt; Auto Provisioning -&amp;gt; Basic Setup -&amp;gt; HTTP preset -&amp;gt; th.prov.voip.ovh.net/st2030/&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Valider et confirmer le redémarrage. Le téléphone va se mettre a jour, redémarrer plusieurs fois et devrait etre opérationnel une fois le traitement terminé.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Si le mot de passe de connexion ne fonctionne pas (par défaut changé par ovh), il est possible d'acceder à l'administration web en se rendant dans le manager ovh partie téléphonie, séléctionner la ligne concernée puis Assistance -&amp;gt; Dépannage Plug &amp;amp; Phone -&amp;gt; Initialiser et continuer&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 20 Mar 2012 09:41:33 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Telephonie</comments>		</item>
		<item>
			<title>Telephonie</title>
			<link>https://wiki.hegyd.com/index.php/Telephonie</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;Page créée avec «   Catégorie:Administration_serveurs »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 20 Mar 2012 09:30:03 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Telephonie</comments>		</item>
		<item>
			<title>Nagios</title>
			<link>https://wiki.hegyd.com/index.php/Nagios</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Gestion des spool mails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis == &lt;br /&gt;
* Un serveur sous système GNU/Linux &lt;br /&gt;
* Cette page de manuel à été faite sous une Debian Squeeze&lt;br /&gt;
&lt;br /&gt;
== Présentation ==&lt;br /&gt;
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.&lt;br /&gt;
*Le service est installé sur la Vm Sysadmin.&lt;br /&gt;
&lt;br /&gt;
== Installation du serveur == &lt;br /&gt;
* Installer nagios3 &lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios3 nagios-nrpe-plugin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration'''&lt;br /&gt;
Les fichiers de configuration pour les clients, les templates (hosts, services ...) de nagios se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/conf.d/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le fichier de configuration de nagios lui même se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/nagios.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration d'un client'''''&lt;br /&gt;
Dans le fichier de configuration d'un client vous définissez les services que vous voulez lui associé :&lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                   &lt;br /&gt;
    use                             generic-service                            # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                    # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                        # description du service                &lt;br /&gt;
    check_command                   check_ssh!argument1!argument2...           # lancement de la commande  les arguments sont séparés par des !   &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les commandes sont définis dans le dossier :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios-plugins/config/*.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si l'on veut définir un service distant avec le plugin Nrpe : &lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                 &lt;br /&gt;
    use                             generic-service                               # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                       # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                           # description du service                &lt;br /&gt;
    check_command                   check_nrpe!check_ssh! argument1 argument2     # lancement de la commande les arguments sont séparés par des espaces&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''&lt;br /&gt;
&lt;br /&gt;
== Installation du client (distant) == &lt;br /&gt;
* La gestion d'un client distant nécessite le plugin nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios-nrpe-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration de NRPE '''&lt;br /&gt;
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;dont_blame_nrpe=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :&lt;br /&gt;
&amp;lt;pre&amp;gt;command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Pensez à  importer les scripts &amp;quot;fait maison&amp;quot; du dépot svn'''''&lt;br /&gt;
&lt;br /&gt;
== Gestion des spool mails ==&lt;br /&gt;
&lt;br /&gt;
La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.&lt;br /&gt;
&lt;br /&gt;
* Procédure :&lt;br /&gt;
&lt;br /&gt;
Installer mailgraph packagé sans installer les dépendances apache recommandés :&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mailgraph --no-install-recommends&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/init.d/mailgraph stop&lt;br /&gt;
cp /usr/sbin/mailgraph /usr/local/sbin/&lt;br /&gt;
wget http://www.linuxplayer.org/wp-content/uploads/2011/03/check_mailstat_plugin_v0.9.1.zip&lt;br /&gt;
unzip check_mailstat_plugin_v0.9.1.zip&lt;br /&gt;
cd check_mailstat_plugin_v0.9.1&lt;br /&gt;
patch /usr/local/sbin/mailgraph mailgraph.patch&lt;br /&gt;
vim /etc/init.d/mailgraph&lt;br /&gt;
DAEMON=&amp;quot;/usr/local/sbin/mailgraph&amp;quot;&lt;br /&gt;
/etc/init.d/mailgraph start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Liste de vérification == &lt;br /&gt;
*'''A mettre sur tous les serveurs'''&lt;br /&gt;
- Current Load &lt;br /&gt;
- SSH&lt;br /&gt;
- Disk Space&lt;br /&gt;
- Memory&lt;br /&gt;
- Swap&lt;br /&gt;
- Total Procs&lt;br /&gt;
- Uptime&lt;br /&gt;
- NTP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
* Check si les firewall est bien chargé&lt;br /&gt;
* check du service nagios via pingdom&lt;br /&gt;
* check Gluster,bacula, nb process Apache, nb connection CloseWait par ip&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 21 Feb 2012 13:30:23 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Nagios</comments>		</item>
		<item>
			<title>Nagios</title>
			<link>https://wiki.hegyd.com/index.php/Nagios</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Gestion des spool mails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis == &lt;br /&gt;
* Un serveur sous système GNU/Linux &lt;br /&gt;
* Cette page de manuel à été faite sous une Debian Squeeze&lt;br /&gt;
&lt;br /&gt;
== Présentation ==&lt;br /&gt;
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.&lt;br /&gt;
*Le service est installé sur la Vm Sysadmin.&lt;br /&gt;
&lt;br /&gt;
== Installation du serveur == &lt;br /&gt;
* Installer nagios3 &lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios3 nagios-nrpe-plugin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration'''&lt;br /&gt;
Les fichiers de configuration pour les clients, les templates (hosts, services ...) de nagios se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/conf.d/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le fichier de configuration de nagios lui même se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/nagios.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration d'un client'''''&lt;br /&gt;
Dans le fichier de configuration d'un client vous définissez les services que vous voulez lui associé :&lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                   &lt;br /&gt;
    use                             generic-service                            # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                    # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                        # description du service                &lt;br /&gt;
    check_command                   check_ssh!argument1!argument2...           # lancement de la commande  les arguments sont séparés par des !   &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les commandes sont définis dans le dossier :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios-plugins/config/*.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si l'on veut définir un service distant avec le plugin Nrpe : &lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                 &lt;br /&gt;
    use                             generic-service                               # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                       # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                           # description du service                &lt;br /&gt;
    check_command                   check_nrpe!check_ssh! argument1 argument2     # lancement de la commande les arguments sont séparés par des espaces&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''&lt;br /&gt;
&lt;br /&gt;
== Installation du client (distant) == &lt;br /&gt;
* La gestion d'un client distant nécessite le plugin nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios-nrpe-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration de NRPE '''&lt;br /&gt;
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;dont_blame_nrpe=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :&lt;br /&gt;
&amp;lt;pre&amp;gt;command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Pensez à  importer les scripts &amp;quot;fait maison&amp;quot; du dépot svn'''''&lt;br /&gt;
&lt;br /&gt;
== Gestion des spool mails ==&lt;br /&gt;
&lt;br /&gt;
La gestion du volume de mail par spool se fait via le démon mailgraph qui analyse le log mail.log en temps réel afin d'en sortir des statistics. Normalement, les statistiques sont directement stockées dans une fichier rrd, mais il est possible de patcher le script afin qu'il log dans un fichier et exloiter les données via NRPE.&lt;br /&gt;
&lt;br /&gt;
* Procédure :&lt;br /&gt;
&lt;br /&gt;
Installer mailgraph packagé sans installé les dépendances apache recommandés :&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install mailgraph --no-install-recommends&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Liste de vérification == &lt;br /&gt;
*'''A mettre sur tous les serveurs'''&lt;br /&gt;
- Current Load &lt;br /&gt;
- SSH&lt;br /&gt;
- Disk Space&lt;br /&gt;
- Memory&lt;br /&gt;
- Swap&lt;br /&gt;
- Total Procs&lt;br /&gt;
- Uptime&lt;br /&gt;
- NTP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
* Check si les firewall est bien chargé&lt;br /&gt;
* check du service nagios via pingdom&lt;br /&gt;
* check Gluster,bacula, nb process Apache, nb connection CloseWait par ip&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 21 Feb 2012 13:24:51 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Nagios</comments>		</item>
		<item>
			<title>Nagios</title>
			<link>https://wiki.hegyd.com/index.php/Nagios</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis == &lt;br /&gt;
* Un serveur sous système GNU/Linux &lt;br /&gt;
* Cette page de manuel à été faite sous une Debian Squeeze&lt;br /&gt;
&lt;br /&gt;
== Présentation ==&lt;br /&gt;
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.&lt;br /&gt;
*Le service est installé sur la Vm Sysadmin.&lt;br /&gt;
&lt;br /&gt;
== Installation du serveur == &lt;br /&gt;
* Installer nagios3 &lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios3 nagios-nrpe-plugin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration'''&lt;br /&gt;
Les fichiers de configuration pour les clients, les templates (hosts, services ...) de nagios se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/conf.d/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le fichier de configuration de nagios lui même se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/nagios.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration d'un client'''''&lt;br /&gt;
Dans le fichier de configuration d'un client vous définissez les services que vous voulez lui associé :&lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                   &lt;br /&gt;
    use                             generic-service                            # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                    # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                        # description du service                &lt;br /&gt;
    check_command                   check_ssh!argument1!argument2...           # lancement de la commande  les arguments sont séparés par des !   &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les commandes sont définis dans le dossier :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios-plugins/config/*.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si l'on veut définir un service distant avec le plugin Nrpe : &lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                 &lt;br /&gt;
    use                             generic-service                               # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                       # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                           # description du service                &lt;br /&gt;
    check_command                   check_nrpe!check_ssh! argument1 argument2     # lancement de la commande les arguments sont séparés par des espaces&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''&lt;br /&gt;
&lt;br /&gt;
== Installation du client (distant) == &lt;br /&gt;
* La gestion d'un client distant nécessite le plugin nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios-nrpe-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration de NRPE '''&lt;br /&gt;
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;dont_blame_nrpe=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :&lt;br /&gt;
&amp;lt;pre&amp;gt;command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Pensez à  importer les scripts &amp;quot;fait maison&amp;quot; du dépot svn'''''&lt;br /&gt;
&lt;br /&gt;
== Gestion des spool mails ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Liste de vérification == &lt;br /&gt;
*'''A mettre sur tous les serveurs'''&lt;br /&gt;
- Current Load &lt;br /&gt;
- SSH&lt;br /&gt;
- Disk Space&lt;br /&gt;
- Memory&lt;br /&gt;
- Swap&lt;br /&gt;
- Total Procs&lt;br /&gt;
- Uptime&lt;br /&gt;
- NTP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
* Check si les firewall est bien chargé&lt;br /&gt;
* check du service nagios via pingdom&lt;br /&gt;
* check Gluster,bacula, nb process Apache, nb connection CloseWait par ip&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Tue, 21 Feb 2012 13:20:40 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Nagios</comments>		</item>
		<item>
			<title>Nagios</title>
			<link>https://wiki.hegyd.com/index.php/Nagios</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prérequis == &lt;br /&gt;
* Un serveur sous système GNU/Linux &lt;br /&gt;
* Cette page de manuel à été faite sous une Debian Squeeze&lt;br /&gt;
&lt;br /&gt;
== Présentation ==&lt;br /&gt;
*Nagios3 est un outils de supervision permettant la surveillance système et réseau. Il surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.&lt;br /&gt;
*Le service est installé sur la Vm Sysadmin.&lt;br /&gt;
&lt;br /&gt;
== Installation du serveur == &lt;br /&gt;
* Installer nagios3 &lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios3 nagios-nrpe-plugin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration'''&lt;br /&gt;
Les fichiers de configuration pour les clients, les templates (hosts, services ...) de nagios se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/conf.d/&amp;lt;/pre&amp;gt;&lt;br /&gt;
Le fichier de configuration de nagios lui même se trouve dans :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios3/nagios.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration d'un client'''''&lt;br /&gt;
Dans le fichier de configuration d'un client vous définissez les services que vous voulez lui associé :&lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                   &lt;br /&gt;
    use                             generic-service                            # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                    # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                        # description du service                &lt;br /&gt;
    check_command                   check_ssh!argument1!argument2...           # lancement de la commande  les arguments sont séparés par des !   &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Les commandes sont définis dans le dossier :&lt;br /&gt;
&amp;lt;pre&amp;gt;/etc/nagios-plugins/config/*.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si l'on veut définir un service distant avec le plugin Nrpe : &lt;br /&gt;
&amp;lt;pre&amp;gt;define service{                                                                                                 &lt;br /&gt;
    use                             generic-service                               # référence au template de service    &lt;br /&gt;
    host_name                       hosting                                       # nom de l'hôte à laquelle on associe le service                                                         &lt;br /&gt;
    service_description             SSH                                           # description du service                &lt;br /&gt;
    check_command                   check_nrpe!check_ssh! argument1 argument2     # lancement de la commande les arguments sont séparés par des espaces&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Il faut que la commande soit définis dans le fichier de configuration de Nrpe (voir point suivant)'''&lt;br /&gt;
&lt;br /&gt;
== Installation du client (distant) == &lt;br /&gt;
* La gestion d'un client distant nécessite le plugin nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude install nagios-nrpe-server&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Configuration de NRPE '''&lt;br /&gt;
Il faut ouvrir le port '''''5666''''' par défaut pour le service nrpe.&lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration, /etc/nagios/nrpe.cfg, modifier la ligne suivante pour autoriser le passage de paramètres aux commandes lancées via Nrpe&lt;br /&gt;
&amp;lt;pre&amp;gt;dont_blame_nrpe=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il faut aussi commenter les exemples de commandes par défaut et ainsi mettre les commandes souhaitées en suivant ce principe :&lt;br /&gt;
&amp;lt;pre&amp;gt;command[nom_de_la_commande]=chemin_absolu_vers_le_plugin [option $ARG1$] [option2 $ARG2$]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Pensez à  importer les scripts &amp;quot;fait maison&amp;quot; du dépot svn'''''&lt;br /&gt;
&lt;br /&gt;
== Liste de vérification == &lt;br /&gt;
*'''A mettre sur tous les serveurs'''&lt;br /&gt;
- Current Load &lt;br /&gt;
- SSH&lt;br /&gt;
- Disk Space&lt;br /&gt;
- Memory&lt;br /&gt;
- Swap&lt;br /&gt;
- Total Procs&lt;br /&gt;
- Uptime&lt;br /&gt;
- NTP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODO == &lt;br /&gt;
* Check si les firewall est bien chargé&lt;br /&gt;
* check du service nagios via pingdom&lt;br /&gt;
* check température,Gluster,nfs,bacula, nb process Apache, nb connection CloseWait par ip&lt;br /&gt;
* check acces ssh root a la machine&lt;br /&gt;
----&lt;br /&gt;
* Le script de deliverabilité ne fonctionne pas, il manque la suppression du message envoyé ainsi que le problème de droit &lt;br /&gt;
----&lt;br /&gt;
* !!!!!!!! le check procs n'affiche seulement les processus de l'utilisateur qui le lance (nagios) et donc la valeur n'est pas celle attendue !!!!!!!!!&lt;br /&gt;
[[Catégorie:Administration_serveurs]]&lt;/div&gt;</description>
			<pubDate>Thu, 16 Feb 2012 08:38:57 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Nagios</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* osCommerce */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer la fonction &amp;quot;'''protected function _call($exename, $params) {'''&amp;quot; existante : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $cmd = ($this-&amp;gt;_get('BOOL_BINARIES_IN_PATH') ? '' : $this-&amp;gt;_getPath('BIN')).$exename;                                                                                                                                                &lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v)&lt;br /&gt;
      $cmd .= ' &amp;quot;'.$k.'='.$v.'&amp;quot;';&lt;br /&gt;
   $cmd .= ' 2&amp;gt;&amp;amp;1';&lt;br /&gt;
   $output = trim(exec($cmd, $longoutput, $status));&lt;br /&gt;
   if ($this-&amp;gt;_get('BOOL_DEBUG_MODE')) {&lt;br /&gt;
      $ob = ob_get_clean();&lt;br /&gt;
      ob_end_clean();&lt;br /&gt;
      echo implode('&amp;lt;br /&amp;gt;',$longoutput);&lt;br /&gt;
      ob_start();&lt;br /&gt;
      echo $ob;&lt;br /&gt;
   }&lt;br /&gt;
   if ($status == 0) {&lt;br /&gt;
      $output = explode('!', substr($output, 1, -1));&lt;br /&gt;
      if ($output[0] == '0') {&lt;br /&gt;
         return array_slice($output, 2);&lt;br /&gt;
      } else {&lt;br /&gt;
         $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
      }&lt;br /&gt;
   } else {&lt;br /&gt;
      $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; '('.$status.'): '.implode(&amp;quot;\n&amp;quot;, $longoutput), '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }&lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par le code suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
&lt;br /&gt;
   $cmd = &amp;quot;&amp;quot;; &lt;br /&gt;
   $and = &amp;quot;&amp;quot;; &lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v) {&lt;br /&gt;
      $cmd .= $and.$k.'='.$v;&lt;br /&gt;
      $and = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
   }   &lt;br /&gt;
   $cmd = str_replace( ';', &amp;quot;--&amp;quot;, $cmd);&lt;br /&gt;
&lt;br /&gt;
   $output = file( 'http://www.oxyrian.fr/cgi-bin/e-transaction/'.$exename.'.cgi?'.$cmd);&lt;br /&gt;
   $output = explode('!', substr($output[0], 2, -1));&lt;br /&gt;
   if ($output[0] == '0') {&lt;br /&gt;
       return array_slice($output, 2); &lt;br /&gt;
   } else {&lt;br /&gt;
       $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }   &lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joomla == &lt;br /&gt;
&lt;br /&gt;
== Wordpress == &lt;br /&gt;
&lt;br /&gt;
== Magento == &lt;br /&gt;
&lt;br /&gt;
== osCommerce ==&lt;br /&gt;
&lt;br /&gt;
== Drupal ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 11:00:04 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Wordpress */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer la fonction &amp;quot;'''protected function _call($exename, $params) {'''&amp;quot; existante : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $cmd = ($this-&amp;gt;_get('BOOL_BINARIES_IN_PATH') ? '' : $this-&amp;gt;_getPath('BIN')).$exename;                                                                                                                                                &lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v)&lt;br /&gt;
      $cmd .= ' &amp;quot;'.$k.'='.$v.'&amp;quot;';&lt;br /&gt;
   $cmd .= ' 2&amp;gt;&amp;amp;1';&lt;br /&gt;
   $output = trim(exec($cmd, $longoutput, $status));&lt;br /&gt;
   if ($this-&amp;gt;_get('BOOL_DEBUG_MODE')) {&lt;br /&gt;
      $ob = ob_get_clean();&lt;br /&gt;
      ob_end_clean();&lt;br /&gt;
      echo implode('&amp;lt;br /&amp;gt;',$longoutput);&lt;br /&gt;
      ob_start();&lt;br /&gt;
      echo $ob;&lt;br /&gt;
   }&lt;br /&gt;
   if ($status == 0) {&lt;br /&gt;
      $output = explode('!', substr($output, 1, -1));&lt;br /&gt;
      if ($output[0] == '0') {&lt;br /&gt;
         return array_slice($output, 2);&lt;br /&gt;
      } else {&lt;br /&gt;
         $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
      }&lt;br /&gt;
   } else {&lt;br /&gt;
      $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; '('.$status.'): '.implode(&amp;quot;\n&amp;quot;, $longoutput), '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }&lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par le code suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
&lt;br /&gt;
   $cmd = &amp;quot;&amp;quot;; &lt;br /&gt;
   $and = &amp;quot;&amp;quot;; &lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v) {&lt;br /&gt;
      $cmd .= $and.$k.'='.$v;&lt;br /&gt;
      $and = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
   }   &lt;br /&gt;
   $cmd = str_replace( ';', &amp;quot;--&amp;quot;, $cmd);&lt;br /&gt;
&lt;br /&gt;
   $output = file( 'http://www.oxyrian.fr/cgi-bin/e-transaction/'.$exename.'.cgi?'.$cmd);&lt;br /&gt;
   $output = explode('!', substr($output[0], 2, -1));&lt;br /&gt;
   if ($output[0] == '0') {&lt;br /&gt;
       return array_slice($output, 2); &lt;br /&gt;
   } else {&lt;br /&gt;
       $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }   &lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joomla == &lt;br /&gt;
&lt;br /&gt;
== Wordpress == &lt;br /&gt;
&lt;br /&gt;
== Magento == &lt;br /&gt;
&lt;br /&gt;
== osCommerce ==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:59:44 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Prestashop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer la fonction &amp;quot;'''protected function _call($exename, $params) {'''&amp;quot; existante : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $cmd = ($this-&amp;gt;_get('BOOL_BINARIES_IN_PATH') ? '' : $this-&amp;gt;_getPath('BIN')).$exename;                                                                                                                                                &lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v)&lt;br /&gt;
      $cmd .= ' &amp;quot;'.$k.'='.$v.'&amp;quot;';&lt;br /&gt;
   $cmd .= ' 2&amp;gt;&amp;amp;1';&lt;br /&gt;
   $output = trim(exec($cmd, $longoutput, $status));&lt;br /&gt;
   if ($this-&amp;gt;_get('BOOL_DEBUG_MODE')) {&lt;br /&gt;
      $ob = ob_get_clean();&lt;br /&gt;
      ob_end_clean();&lt;br /&gt;
      echo implode('&amp;lt;br /&amp;gt;',$longoutput);&lt;br /&gt;
      ob_start();&lt;br /&gt;
      echo $ob;&lt;br /&gt;
   }&lt;br /&gt;
   if ($status == 0) {&lt;br /&gt;
      $output = explode('!', substr($output, 1, -1));&lt;br /&gt;
      if ($output[0] == '0') {&lt;br /&gt;
         return array_slice($output, 2);&lt;br /&gt;
      } else {&lt;br /&gt;
         $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
      }&lt;br /&gt;
   } else {&lt;br /&gt;
      $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; '('.$status.'): '.implode(&amp;quot;\n&amp;quot;, $longoutput), '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }&lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par le code suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
&lt;br /&gt;
   $cmd = &amp;quot;&amp;quot;; &lt;br /&gt;
   $and = &amp;quot;&amp;quot;; &lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v) {&lt;br /&gt;
      $cmd .= $and.$k.'='.$v;&lt;br /&gt;
      $and = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
   }   &lt;br /&gt;
   $cmd = str_replace( ';', &amp;quot;--&amp;quot;, $cmd);&lt;br /&gt;
&lt;br /&gt;
   $output = file( 'http://www.oxyrian.fr/cgi-bin/e-transaction/'.$exename.'.cgi?'.$cmd);&lt;br /&gt;
   $output = explode('!', substr($output[0], 2, -1));&lt;br /&gt;
   if ($output[0] == '0') {&lt;br /&gt;
       return array_slice($output, 2); &lt;br /&gt;
   } else {&lt;br /&gt;
       $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }   &lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joomla == &lt;br /&gt;
&lt;br /&gt;
== Wordpress == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:58:11 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* * Module TGG_Atos (modules/tgg_atos/*) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer la fonction &amp;quot;'''protected function _call($exename, $params) {'''&amp;quot; existante : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $cmd = ($this-&amp;gt;_get('BOOL_BINARIES_IN_PATH') ? '' : $this-&amp;gt;_getPath('BIN')).$exename;                                                                                                                                                &lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v)&lt;br /&gt;
      $cmd .= ' &amp;quot;'.$k.'='.$v.'&amp;quot;';&lt;br /&gt;
   $cmd .= ' 2&amp;gt;&amp;amp;1';&lt;br /&gt;
   $output = trim(exec($cmd, $longoutput, $status));&lt;br /&gt;
   if ($this-&amp;gt;_get('BOOL_DEBUG_MODE')) {&lt;br /&gt;
      $ob = ob_get_clean();&lt;br /&gt;
      ob_end_clean();&lt;br /&gt;
      echo implode('&amp;lt;br /&amp;gt;',$longoutput);&lt;br /&gt;
      ob_start();&lt;br /&gt;
      echo $ob;&lt;br /&gt;
   }&lt;br /&gt;
   if ($status == 0) {&lt;br /&gt;
      $output = explode('!', substr($output, 1, -1));&lt;br /&gt;
      if ($output[0] == '0') {&lt;br /&gt;
         return array_slice($output, 2);&lt;br /&gt;
      } else {&lt;br /&gt;
         $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
      }&lt;br /&gt;
   } else {&lt;br /&gt;
      $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; '('.$status.'): '.implode(&amp;quot;\n&amp;quot;, $longoutput), '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }&lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par le code suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
&lt;br /&gt;
   $cmd = &amp;quot;&amp;quot;; &lt;br /&gt;
   $and = &amp;quot;&amp;quot;; &lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v) {&lt;br /&gt;
      $cmd .= $and.$k.'='.$v;&lt;br /&gt;
      $and = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
   }   &lt;br /&gt;
   $cmd = str_replace( ';', &amp;quot;--&amp;quot;, $cmd);&lt;br /&gt;
&lt;br /&gt;
   $output = file( 'http://www.oxyrian.fr/cgi-bin/e-transaction/'.$exename.'.cgi?'.$cmd);&lt;br /&gt;
   $output = explode('!', substr($output[0], 2, -1));&lt;br /&gt;
   if ($output[0] == '0') {&lt;br /&gt;
       return array_slice($output, 2); &lt;br /&gt;
   } else {&lt;br /&gt;
       $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }   &lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:56:40 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* * Module TGG_Atos (modules/tgg_atos/*) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer la fonction &amp;quot;'''protected function _call($exename, $params) {'''&amp;quot; existante : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $cmd = ($this-&amp;gt;_get('BOOL_BINARIES_IN_PATH') ? '' : $this-&amp;gt;_getPath('BIN')).$exename;                                                                                                                                                &lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v)&lt;br /&gt;
      $cmd .= ' &amp;quot;'.$k.'='.$v.'&amp;quot;';&lt;br /&gt;
   $cmd .= ' 2&amp;gt;&amp;amp;1';&lt;br /&gt;
   $output = trim(exec($cmd, $longoutput, $status));&lt;br /&gt;
   if ($this-&amp;gt;_get('BOOL_DEBUG_MODE')) {&lt;br /&gt;
      $ob = ob_get_clean();&lt;br /&gt;
      ob_end_clean();&lt;br /&gt;
      echo '&amp;lt;pre style=&amp;quot;padding: 2em; border: 2px solid red; width: 95%; margin: 1em auto; overflow: scroll; text-align: left;&amp;quot;&amp;gt;';&lt;br /&gt;
      var_dump(compact('cmd', 'status'));&lt;br /&gt;
      echo '&amp;lt;/pre&amp;gt;';&lt;br /&gt;
      echo implode('&amp;lt;br /&amp;gt;',$longoutput);&lt;br /&gt;
      ob_start();&lt;br /&gt;
      echo $ob;&lt;br /&gt;
   }&lt;br /&gt;
   if ($status == 0) {&lt;br /&gt;
      $output = explode('!', substr($output, 1, -1));&lt;br /&gt;
      if ($output[0] == '0') {&lt;br /&gt;
         return array_slice($output, 2);&lt;br /&gt;
      } else {&lt;br /&gt;
         $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
      }&lt;br /&gt;
   } else {&lt;br /&gt;
      $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; '('.$status.'): '.implode(&amp;quot;\n&amp;quot;, $longoutput), '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }&lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par le code suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
protected function _call($exename, $params) {&lt;br /&gt;
   $params['pathfile'] = $this-&amp;gt;_getPath('PARAM').'pathfile';&lt;br /&gt;
&lt;br /&gt;
   $cmd = &amp;quot;&amp;quot;; &lt;br /&gt;
   $and = &amp;quot;&amp;quot;; &lt;br /&gt;
   foreach ($params as $k =&amp;gt; $v) {&lt;br /&gt;
      $cmd .= $and.$k.'='.$v;&lt;br /&gt;
      $and = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
   }   &lt;br /&gt;
   $cmd = str_replace( ';', &amp;quot;--&amp;quot;, $cmd);&lt;br /&gt;
&lt;br /&gt;
   $output = file( 'http://www.oxyrian.fr/cgi-bin/e-transaction/'.$exename.'.cgi?'.$cmd);&lt;br /&gt;
   $output = explode('!', substr($output[0], 2, -1));&lt;br /&gt;
   if ($output[0] == '0') {&lt;br /&gt;
       return array_slice($output, 2); &lt;br /&gt;
   } else {&lt;br /&gt;
       $this-&amp;gt;_debug_mail($this-&amp;gt;l('Error returned when calling').' '.$exename, 'binary-returned-error', array('{error}' =&amp;gt; $output[1], '{exename}' =&amp;gt; $exename));&lt;br /&gt;
   }   &lt;br /&gt;
   return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:55:17 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* --&amp;gt; Response (fichier : modules/atos/validation.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
Code d'origine (début de fichier) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacement : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:51:35 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* --&amp;gt; Response (fichier : modules/atos/validation.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.&lt;br /&gt;
preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:50:50 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* --&amp;gt; Resquest (fichier : modules/atos/atos.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; &lt;br /&gt;
automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:50:26 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* --&amp;gt; Resquest (fichier : modules/atos/atos.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() &lt;br /&gt;
* 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot;&lt;br /&gt;
customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:50:01 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== * Module Atos (modules/atos/*) ===&lt;br /&gt;
==== --&amp;gt; Resquest (fichier : modules/atos/atos.php) ====&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== --&amp;gt; Response (fichier : modules/atos/validation.php) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== * Module TGG_Atos (modules/tgg_atos/*) ===&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:44:04 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;/* Prestashop (fichier : modules/atos/atos.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
=== Resquest (fichier : modules/atos/atos.php) ===&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Response (fichier : modules/atos/validation.php) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = exec(Configuration::get('ATOS_BIN_DIR').'response pathfile='.dirname(__FILE__).'/pathfile message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$atos = new Atos();&lt;br /&gt;
$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-response.cgi?pathfile='.urlencode(dirname(__FILE__).'/pathfile').'&amp;amp;message='.preg_replace(&amp;quot;#[^a-z0-9]#Ui&amp;quot;, '', $_POST['DATA']));&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:38:52 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop (fichier : modules/atos/atos.php) ==&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:32:19 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction &amp;quot;'''private function getAtosForm($cart)''' :&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Do not add \n or something else&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
    return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
elseif (!isset($resultArray[3]))&lt;br /&gt;
    return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
&lt;br /&gt;
return $resultArray[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:31:01 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ci dessous la liste des modification à effectuer pour chaque module de banque par CMS :&lt;br /&gt;
&lt;br /&gt;
== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
Remplacer le code ci-dessous de la fonction '''private function getAtosForm($cart)''' :&lt;br /&gt;
&lt;br /&gt;
        // Do not add \n or something else&lt;br /&gt;
        $parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.dirname(__FILE__).'/pathfile&amp;quot; normal_return_url=&amp;quot;'.$returnPage.'&amp;quot; cancel_return_url=&amp;quot;'.$cancelPage.'&amp;quot; automatic_response_url=&amp;quot;'.$ipnPage.'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].$redirect;&lt;br /&gt;
&lt;br /&gt;
        if (!$result = exec(Configuration::get('ATOS_BIN_DIR').'request '.$parm))&lt;br /&gt;
            return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
        $resultArray = explode('!', $result);&lt;br /&gt;
        if ($resultArray[1] == -1)                                                                                                                                                                                                           &lt;br /&gt;
            return $this-&amp;gt;l('Atos error:').' '.$resultArray[2];&lt;br /&gt;
        elseif (!isset($resultArray[3]))&lt;br /&gt;
            return $this-&amp;gt;l('Atos error: can\'t execute request');&lt;br /&gt;
        return $resultArray[3];&lt;br /&gt;
&lt;br /&gt;
Par ce qui suit :&lt;br /&gt;
&lt;br /&gt;
$parm = 'merchant_id='.Configuration::get('ATOS_MERCHANT_ID').' language='.$lang-&amp;gt;iso_code.' customer_id='.intval($cart-&amp;gt;id_customer).' caddie='.intval($cart-&amp;gt;id).' merchant_country=fr amount='.(int)round(sprintf('%f', $cart-&amp;gt;getOrderTotal() * 100)).' currency_code='.$currency_num.' pathfile=&amp;quot;'.urlencode( dirname(__FILE__).'/pathfile').'&amp;quot; normal_return_url=&amp;quot;'.urlencode( $returnPage).'&amp;quot; cancel_return_url=&amp;quot;'.urlencode( $cancelPage).'&amp;quot; automatic_response_url=&amp;quot;'.urlencode( $ipnPage).'&amp;quot; customer_ip_address='.$_SERVER['REMOTE_ADDR'].' '.urlencode($redirect);&lt;br /&gt;
&lt;br /&gt;
$parm = preg_replace( '/ /', '&amp;amp;', trim($parm));&lt;br /&gt;
$parm = preg_replace( '/&amp;quot;/', '', $parm);&lt;br /&gt;
&lt;br /&gt;
if (!$result = file_get_contents( 'http://'.htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8').__PS_BASE_URI__.'cgi-bin/mercanet-request.cgi?'.$parm))&lt;br /&gt;
     return $this-&amp;gt;l('Atos error: can\'t execute binary');&lt;br /&gt;
&lt;br /&gt;
$resultArray = explode('!', $result);&lt;br /&gt;
return $resultArray[0];&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:28:52 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prestashop ==&lt;br /&gt;
&lt;br /&gt;
Test&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Support Viaduc]]&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:24:12 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
		<item>
			<title>Module Banque</title>
			<link>https://wiki.hegyd.com/index.php/Module_Banque</link>
			<description>&lt;p&gt;Albin Potet&amp;nbsp;:&amp;#32;Page créée avec « Prestashop  Test »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prestashop&lt;br /&gt;
&lt;br /&gt;
Test&lt;/div&gt;</description>
			<pubDate>Mon, 02 Jan 2012 10:23:21 GMT</pubDate>			<dc:creator>Albin Potet</dc:creator>			<comments>https://wiki.hegyd.com/index.php/Discussion:Module_Banque</comments>		</item>
	</channel>
</rss>