Artiphp - CMS open source et gratuit
Vous êtes ici » Accueil/Forum
Saisissez votre recherche
RechercherRechercher   Liste des MembresListe des Membres   S'enregistrerS'enregistrer    ProfilProfil 
Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 


Publier sur Twitter avec autentification OAuth
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Artiloo.com Index du Forum -> Les scripts des membres
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
laurentcoco



Inscrit le: 10 Déc 2003
Messages: 497
Localisation: Reims

MessagePosté le: Mar 07 Sep 2010 21:44    Sujet du message: Publier sur Twitter avec autentification OAuth Répondre en citant

Bonsoir
L'ancienne methode pour publier ses news sur twitter ne fonctionnant plus, car twitter demande maintenant une authetification voici une methode pour pouvoir de nouveau les publier .
Ce qu'uil faut:
un compte Twitter
un compte bitly
le fichier tmhOAuth.php
le fichier bitly.php

Il vous faudra aussi vous rendre http://dev.twitter.com/
Aller ensuite en haut sur “Your Apps” puis “Register a new application”
Remplissez les champs, n'oubliez pas de cocher “Read & Write” au lieu de “Read-only” dans “Default Access type”. Les autres informations n'ont que peu d'importance, comme “callback url” qui ne nous servira pas : mettez simplement l'adresse de votre site web par exemple.
Une fois terminé notez les keys 4 en tout
Consumer key
Consumer secret
et en allant a droite dans My Access Token
Access Token (oauth_token)
Access Token Secret (oauth_token_secret)

Creer un fichier nommez le tmhOAuth.php et envoyez le dans artzone/news

Code:
<?php
/**
* tmhOAuth
*
* An OAuth 1.0A library written in PHP.
* The library supports file uploading using multipart/form as well as general
* REST requests. OAuth authentication is sent using the an Authorization Header.
*
* @author themattharris
* @version 0.1
*
* 26 August 2010
*/
class tmhOAuth {
  /**
* Creates a new tmhOAuth object
*
* @param string $config, the configuration to use for this request
*/
  function __construct($config) {
    $this->params = array();
    $this->auto_fixed_time = false;

    // default configuration options
    $this->config = array_merge(
      array(
        'consumer_key' => '',
        'consumer_secret' => '',
        'user_token' => '',
        'user_secret' => '',
        'host' => 'http://api.twitter.com',
        'v' => '1',
        'debug' => false,
        'force_nonce' => false,
        'nonce' => false, // used for checking signatures. leave as false for auto
        'force_timestamp' => false,
        'timestamp' => false, // used for checking signatures. leave as false for auto
        'oauth_version' => '1.0'
      ),
      $config
    );
  }

  /**
* Generates a random OAuth nonce.
* If 'force_nonce' is true a nonce is not generated and the value in the configuration will be retained.
*
* @param string $length how many characters the nonce should be before MD5 hashing. default 12
* @param string $include_time whether to include time at the beginning of the nonce. default true
* @return void
*/
  private function create_nonce($length=12, $include_time=true) {
    if ($this->config['force_nonce'] == false) {
      $sequence = array_merge(range(0,9), range('A','Z'), range('a','z'));
      $length = $length > count($sequence) ? count($sequence) : $length;
      shuffle($sequence);
      $this->config['nonce'] = md5(substr(microtime() . implode($sequence), 0, $length));
    }
  }

  /**
* Generates a timestamp.
* If 'force_timestamp' is true a nonce is not generated and the value in the configuration will be retained.
*
* @return void
*/
  private function create_timestamp() {
    $this->config['timestamp'] = ($this->config['force_timestamp'] == false ? time() : $this->config['timestamp']);
  }

  /**
* Encodes the string or array passed in a way compatible with OAuth.
* If an array is passed each array value will will be encoded.
*
* @param mixed $data the scalar or array to encode
* @return $data encoded in a way compatible with OAuth
*/
  private function safe_encode($data) {
    if (is_array($data)) {
      return array_map(array($this, 'safe_encode'), $data);
    } else if (is_scalar($data)) {
      return str_ireplace(
        array('+', '%7E'),
        array(' ', '~'),
        rawurlencode($data)
      );
    } else {
      return '';
    }
  }

  /**
* Decodes the string or array from it's URL encoded form
* If an array is passed each array value will will be decoded.
*
* @param mixed $data the scalar or array to decode
* @return $data decoded from the URL encoded form
*/
  private function safe_decode($data) {
    if (is_array($data)) {
      return array_map(array($this, 'safe_decode'), $data);
    } else if (is_scalar($data)) {
      return rawurldecode($data);
    } else {
      return '';
    }
  }

  /**
* Returns an array of the standard OAuth parameters.
*
* @return array all required OAuth parameters, safely encoded
*/
  private function get_defaults() {
    $defaults = array(
      'oauth_version' => $this->config['oauth_version'],
      'oauth_nonce' => $this->config['nonce'],
      'oauth_timestamp' => $this->config['timestamp'],
      'oauth_consumer_key' => $this->config['consumer_key'],
      'oauth_signature_method' => 'HMAC-SHA1',
    );

    // include the user token if it exists
    if ( $this->config['user_token'] )
      $defaults['oauth_token'] = $this->config['user_token'];

    // safely encode
    foreach ($defaults as $k => $v) {
      $_defaults[$this->safe_encode($k)] = $this->safe_encode($v);
    }

    return $_defaults;
  }

  /**
* Extracts and decodes OAuth parameters from the passed string
*
* @param string $body the response body from an OAuth flow method
* @return array the response body safely decoded to an array of key => values
*/
  function extract_params($body) {
    $kvs = explode('&', $body);
    $decoded = array();
    foreach ($kvs as $kv) {
      $kv = explode('=', $kv, 2);
      $kv[0] = $this->safe_decode($kv[0]);
      $kv[1] = $this->safe_decode($kv[1]);
      $decoded[$kv[0]] = $kv[1];
    }
    return $decoded;
  }

  /**
* Prepares the HTTP method for use in the base string by converting it to
* uppercase.
*
* @param string $method an HTTP method such as GET or POST
* @return void value is stored to a class variable
* @author Matt Harris
*/
  private function prepare_method($method) {
    $this->method = strtoupper($method);
  }

  /**
* Prepares the URL for use in the base string by ripping it apart and
* reconstructing it.
*
* @param string $url the request URL
* @return void value is stored to a class variable
* @author Matt Harris
*/
  private function prepare_url($url) {
    $parts = parse_url($url);

    $port = @$parts['port'];
    $scheme = $parts['scheme'];
    $host = $parts['host'];
    $path = @$parts['path'];

    $port or $port = ($scheme == 'https') ? '443' : '80';

    if (($scheme == 'https' && $port != '443')
        || ($scheme == 'http' && $port != '80')) {
      $host = "$host:$port";
    }
    $this->url = "$scheme://$host$path";
  }

  /**
* Prepares all parameters for the base string and request.
* Multipart parameters are ignored as they are not defined in the specification,
* all other types of parameter are encoded for compatibility with OAuth.
*
* @param array $params the parameters for the request
* @return void prepared values are stored in class variables
*/
  private function prepare_params($params) {
    // do not encode multipart parameters, leave them alone
    if ($this->config['multipart']) {
      $this->request_params = $params;
      $params = array();
    }

    // signing parameters are request parameters + OAuth default parameters
    $this->signing_params = array_merge($this->get_defaults(), (array)$params);

    // Remove oauth_signature if present
    // Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.")
    if (isset($this->signing_params['oauth_signature'])) {
      unset($this->signing_params['oauth_signature']);
    }

    // Parameters are sorted by name, using lexicographical byte value ordering.
    // Ref: Spec: 9.1.1 (1)
    uksort($this->signing_params, 'strcmp');

    // encode. Also sort the signed parameters from the POST parameters
    foreach ($this->signing_params as $k => $v) {
      $k = $this->safe_encode($k);
      $v = $this->safe_encode($v);
      $_signing_params[$k] = $v;
      $kv[] = "{$k}={$v}";
    }

    // auth params = the default oauth params which are present in our collection of signing params
    $this->auth_params = array_intersect_key($this->get_defaults(), $_signing_params);
    if (isset($_signing_params['oauth_callback'])) {
      $this->auth_params['oauth_callback'] = $_signing_params['oauth_callback'];
      unset($_signing_params['oauth_callback']);
    }

    // request_params is already set if we're doing multipart, if not we need to set them now
    if ( ! $this->config['multipart'])
      $this->request_params = array_diff_key($_signing_params, $this->get_defaults());

    // create the parameter part of the base string
    $this->signing_params = implode('&', $kv);
  }

  /**
* Prepares the OAuth signing key
*
* @return void prepared signing key is stored in a class variables
*/
  private function prepare_signing_key() {
    $this->signing_key = $this->safe_encode($this->config['consumer_secret']) . '&' . $this->safe_encode($this->config['user_secret']);
  }

  /**
* Prepare the base string.
* Ref: Spec: 9.1.3 ("Concatenate Request Elements")
*
* @return void prepared base string is stored in a class variables
*/
  private function prepare_base_string() {
    $base = array(
      $this->method,
      $this->url,
      $this->signing_params
    );
    $this->base_string = implode('&', $this->safe_encode($base));
  }

  /**
* Prepares the Authorization header
*
* @return void prepared authorization header is stored in a class variables
*/
  private function prepare_auth_header() {
    $this->headers = array();
    uksort($this->auth_params, 'strcmp');
    foreach ($this->auth_params as $k => $v) {
      $kv[] = "{$k}=\"{$v}\"";
    }
    $this->auth_header = 'Authorization: OAuth ' . implode(', ', $kv);
    $this->headers[] = $this->auth_header;
  }

  /**
* Signs the request and adds the OAuth signature. This runs all the request
* parameter preparation methods.
*
* @param string $method the HTTP method being used. e.g. POST, GET, HEAD etc
* @param string $url the request URL without query string parameters
* @param array $params the request parameters as an array of key=value pairs
* @param string $useauth whether to use authentication when making the request.
*/
  private function sign($method, $url, $params, $useauth) {
    $this->prepare_method($method);
    $this->prepare_url($url);
    $this->prepare_params($params);

    // we don't sign anything is we're not using auth
    if ($useauth) {
      $this->prepare_base_string();
      $this->prepare_signing_key();

      $this->auth_params['oauth_signature'] = $this->safe_encode(
        base64_encode(
          hash_hmac(
            'sha1', $this->base_string, $this->signing_key, true
      )));

      $this->prepare_auth_header();
    }
  }

  /**
* Make an HTTP request using this library. This method doesn't return anything.
* Instead the response should be inspected directly.
*
* @param string $method the HTTP method being used. e.g. POST, GET, HEAD etc
* @param string $url the request URL without query string parameters
* @param array $params the request parameters as an array of key=value pairs
* @param string $useauth whether to use authentication when making the request. Default true.
* @param string $multipart whether this request contains multipart data. Default false
*/
  function request($method, $url, $params=array(), $useauth=true, $multipart=false) {
    $this->config['multipart'] = $multipart;

    $this->create_nonce();
    $this->create_timestamp();

    $this->sign($method, $url, $params, $useauth);
    $this->curlit($multipart);
  }

  /**
* Make an HTTP request using this library. This method is different to 'request'
* because on a 401 error it will retry the request.
*
* When a 401 error is returned it is possible the timestamp of the client is
* too different to that of the API server. In this situation it is recommended
* the request is retried with the OAuth timestamp set to the same as the API
* server. This method will automatically try that technique.
*
* This method doesn't return anything. Instead the response should be
* inspected directly.
*
* @param string $method the HTTP method being used. e.g. POST, GET, HEAD etc
* @param string $url the request URL without query string parameters
* @param array $params the request parameters as an array of key=value pairs
* @param string $useauth whether to use authentication when making the request. Default true.
* @param string $multipart whether this request contains multipart data. Default false
*/
  function auto_fix_time_request($method, $url, $params=array(), $useauth=true, $multipart=false) {
    $this->request($method, $url, $params, $useauth, $multipart);

    // if we're not doing auth the timestamp isn't important
    if ( ! $useauth)
      return;

    // some error that isn't a 401
    if ($this->response['code'] != 401)
      return;

    // some error that is a 401 but isn't because the OAuth token and signature are incorrect
    // TODO: this check is horrid but helps avoid requesting twice when the username and password are wrong
    if (stripos($this->response['response'], 'password') !== false)
     return;

    // force the timestamp to be the same as the Twitter servers, and re-request
    $this->auto_fixed_time = true;
    $this->config['force_timestamp'] = true;
    $this->config['timestamp'] = strtotime($this->response['headers']['date']);
    $this->request($method, $url, $params, $useauth, $multipart);
  }

  /**
* Utility function to create the request URL in the requested format
*
* @param string $request the API method without extension
* @param string $format the format of the response. Default json. Set to an empty string to exclude the format
* @return string the concatenation of the host, API version, API method and format
*/
  function url($request, $format='json') {
    $format = strlen($format) > 0 ? ".$format" : '';
    return implode('/', array(
      $this->config['host'],
      $this->config['v'],
      $request . $format
    ));
  }

  /**
* Utility function to parse the returned curl headers and store them in the
* class array variable.
*
* @param object $ch curl handle
* @param string $header the response headers
* @return the string length of the header
*/
  private function curlHeader($ch, $header) {
    $i = strpos($header, ':');
    if ( ! empty($i) ) {
      $key = str_replace('-', '_', strtolower(substr($header, 0, $i)));
      $value = trim(substr($header, $i + 2));
      $this->response['headers'][$key] = $value;
    }
    return strlen($header);
  }

  /**
* Makes a curl request. Takes no parameters as all should have been prepared
* by the request method
*
* @return void response data is stored in the class variable 'response'
*/
  private function curlit() {
    if (@$this->config['prevent_request'])
      return;

    // method handling
    switch ($this->method) {
      case 'GET':
        // GET request so convert the parameters to a querystring
        if ( ! empty($this->request_params)) {
          foreach ($this->request_params as $k => $v) {
            $params[] = $this->safe_encode($k) . '=' . $this->safe_encode($v);
          }
          $qs = implode('&', $params);
          $this->url = strlen($qs) > 0 ? $this->url . '?' . $qs : $this->url;
          $this->request_params = array();
        }
        break;
    }

    // configure curl
    $c = curl_init();
    curl_setopt($c, CURLOPT_USERAGENT, "themattharris' HTTP Client");
    curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($c, CURLOPT_TIMEOUT, 10);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, TRUE);
    // for security you may want to set this to TRUE. If you do you need to install
    // the servers certificate in your local certificate store.
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($c, CURLOPT_URL, $this->url);
    // process the headers
    curl_setopt($c, CURLOPT_HEADERFUNCTION, array($this, 'curlHeader'));
    curl_setopt($c, CURLOPT_HEADER, FALSE);
    curl_setopt($c, CURLINFO_HEADER_OUT, true);
    switch ($this->method) {
      case 'GET':
        break;
      case 'POST':
        curl_setopt($c, CURLOPT_POST, TRUE);
        break;
      default:
        curl_setopt($c, CURLOPT_CUSTOMREQUEST, $this->method);
    }

    if ( ! empty($this->request_params) ) {
      // if not doing multipart we need to implode the parameters
      if ( ! $this->config['multipart'] ) {
        foreach ($this->request_params as $k => $v) {
          $ps[] = "{$k}={$v}";
        }
        $this->request_params = implode('&', $ps);
      }
      curl_setopt($c, CURLOPT_POSTFIELDS, $this->request_params);
    } else {
      // CURL will set length to -1 when there is no data, which breaks Twitter
      $this->headers[] = 'Content-Type:';
      $this->headers[] = 'Content-Length:';
    }

    // CURL defaults to setting this to Expect: 100-Continue which Twitter rejects
    $this->headers[] = 'Expect:';

    if ( ! empty($this->headers)) {
      curl_setopt($c, CURLOPT_HTTPHEADER, $this->headers);
    }

    // do it!
    $response = curl_exec($c);
    $code = curl_getinfo($c, CURLINFO_HTTP_CODE);
    $info = curl_getinfo($c);
    curl_close($c);

    // store the response
    $this->response['code'] = $code;
    $this->response['response'] = $response;
    $this->response['info'] = $info;
  }

  /**
* Debug function for printing the content of an object
*
* @param mixes $obj
*/
  function pr($obj) {
    echo '<pre style="word-wrap: break-word">';
    if ( is_object($obj) )
      print_r($obj);
    elseif ( is_array($obj) )
      print_r($obj);
    else
      echo $obj;
    echo '</pre>';
  }

  /**
* Returns the current URL. This is instead of PHP_SELF which is unsafe
*
* @param bool $dropqs whether to drop the querystring or not. Default true
* @return string the current URL
*/
  function php_self($dropqs=true) {
    $url = sprintf('%s://%s%s',
      $_SERVER['SERVER_PORT'] == 80 ? 'http' : 'https',
      $_SERVER['SERVER_NAME'],
      $_SERVER['REQUEST_URI']
    );

    $parts = parse_url($url);

    $port = @$parts['port'];
    $scheme = $parts['scheme'];
    $host = $parts['host'];
    $path = @$parts['path'];
    $qs = @$parts['query'];

    $port or $port = ($scheme == 'https') ? '443' : '80';

    if (($scheme == 'https' && $port != '443')
        || ($scheme == 'http' && $port != '80')) {
      $host = "$host:$port";
    }
    $url = "$scheme://$host$path";
    if ( ! $dropqs)
      return "{$url}?{$qs}";
    else
      return $url;
  }
}

?>


creer le fichier bitly.php et envoyez le lui aussi ds artzone/news

Code:
<?php

function make_bitly_url( $url , $login , $key , $version = '2.0.1')
{
   $parse_url = parse_url($url);
   if( empty($parse_url['scheme']) ) return FALSE;
   
   $api_url = 'http://api.bit.ly/shorten?version='. $version .'&longUrl='.
      urlencode($url) .'&login='. $login .'&apiKey='. $key;
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $api_url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
   $content = curl_exec($ch);
   curl_close($ch);
   
   preg_match('`"shortUrl":[[:space:]]*"(http[^"]+)"`', $content, $m);
   if( !isset($m[1]) ) return FALSE;
   
   return $m[1];
}

?>


puis dans artzone/news/saisie.php rajouter vers la ligne 147 en remplacant les "votre key" par vos propres cles et "votre login bitly votre key bitly" par vos cles bitly


Code:
include "bitly.php";   
function tweet($message) {
   require 'tmhOAuth.php';
   $tmhOAuth = new tmhOAuth(array(
      'consumer_key' => 'votre key',
      'consumer_secret' => 'votre key',
      'user_token' => 'votre key',
      'user_secret' => 'votre key',
   ));
 
   $tmhOAuth->request('POST', $tmhOAuth->url('statuses/update'), array(
      'status' => utf8_encode($message)
   ));
 
   if ($tmhOAuth->response['code'] == 200) {
   // En cours de dév, afficher les informations retournées :
   //  $tmhOAuth->pr(json_decode($tmhOAuth->response['response']));
      return TRUE;
   } else {
   // En cours de dév, afficher les informations retournées :
   //  $tmhOAuth->pr(htmlentities($tmhOAuth->response['response']));
      return FALSE;
   }
}
$url = "" . ARTI_SITE_URL . $mod_encours_dir . "/breve_" . $id_news . "_".$url_friendly .".html";
$login = "votre login bitly";
$key   = "votre key bitly";
 
$url = make_bitly_url($url, $login, $key);
$message="". $nom. " ". $url. "";
tweet($message);


Ceci permet d'envoyer vos news Titre plus url raccourcie sur votre compte Twitter
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Mer 11 Mai 2011 12:42    Sujet du message: Répondre en citant

Je me permets de remonter ce sujet. La méthode que tu indiques permet-elle d'envoyer les news automatiquement sur Twitter dès qu'elles sont publiées ?

Parce que sinon il existe un code très simple qui fonctionne bien pour partager sur Twitter :
Code:
<iframe allowtransparency=\"true\" frameborder=\"0\" scrolling=\"no\" src=\"http://platform.twitter.com/widgets/tweet_button.html\" style=\"width:130px; height:50px;\"></iframe>


Exemple ici :
-http://www.blackhorizon.fr/actu/breve_4_apres+concert+dourdan.html
ou
-http://www.blackhorizon.fr/agenda/evenement_6_concert+heavy+metal.html

et le résultat sur Twitter : -https://twitter.com/BlackHorizonFR


Infos ici : http://dev.twitter.com/pages/tweet_button
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
laurentcoco



Inscrit le: 10 Déc 2003
Messages: 497
Localisation: Reims

MessagePosté le: Mer 11 Mai 2011 17:14    Sujet du message: Répondre en citant

bonjour
Oui ca permet de publier la news sur twitter lors de sa publication euh lors de sa modification exactement
je cree ma news elle n'est pas publiée sur twitter je fais une mise a jour et la elle est envoyée directement sans avoir a ce logguer
cdt
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Mer 11 Mai 2011 18:02    Sujet du message: Répondre en citant

Ah ok, merci de tes éclaircissements
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Mer 11 Mai 2011 20:29    Sujet du message: Répondre en citant

Ah, je viens de trouver twitterfeed.com qui fait ce que tu veux en 2 clics. Je viens de tester sur le flux RSS d'un forum, ça a l'air nickel.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
popoke



Inscrit le: 25 Oct 2005
Messages: 920
Localisation: Québec

MessagePosté le: Ven 13 Mai 2011 23:29    Sujet du message: Répondre en citant

bonjour,

merci pour le lien, je vais regarder

popoke
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Yahoo Messenger
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Ven 13 Mai 2011 23:44    Sujet du message: Répondre en citant

J'ai passé hier trois des flux de mon site Maiden France sur twitterfeed.com, ça fonctionne du tonnerre. Tu ne t'occupes plus de rien, tout est automatique.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
popoke



Inscrit le: 25 Oct 2005
Messages: 920
Localisation: Québec

MessagePosté le: Sam 14 Mai 2011 1:36    Sujet du message: Répondre en citant

bonjour,

J'ai regardé.
Si j'ai tout compris, les mises à jour de tes sites par le biais des rss sont donc publiées automatiquement sur twitter.

c est bien. Je vais essayer pour voir

popoke
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Yahoo Messenger
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Sam 14 Mai 2011 23:12    Sujet du message: Répondre en citant

Oui c'est exactement ça
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
popoke



Inscrit le: 25 Oct 2005
Messages: 920
Localisation: Québec

MessagePosté le: Mer 18 Mai 2011 13:18    Sujet du message: Répondre en citant

salut,

Je vis en pleine campagne et je suis un peu déconnecté des nouvelles techno depuis plus d'un an je ne suis plus trop...

Je suis sur facebook et j'en vois l’intérêt.
Par contre pour Twitter, j'ai zappé...

J'en entend parler mais je n'ai pas encore été y jeter un œil.

Quels avantages et intérêt d'être sur twitter ?



popoke
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Yahoo Messenger
musky00



Inscrit le: 21 Mar 2006
Messages: 194

MessagePosté le: Mer 18 Mai 2011 14:16    Sujet du message: Répondre en citant

C'est une sorte de flux RSS en fait. Il y a beaucoup de gens sur twitter qui s'abonnent aux fils qui les intéressent et c'est plus ludique qu'un fil RSS "normal" du fait que tu peux commenter chaque lien envoyé.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
popoke



Inscrit le: 25 Oct 2005
Messages: 920
Localisation: Québec

MessagePosté le: Mer 18 Mai 2011 14:33    Sujet du message: Répondre en citant

Salut,

Ha merci.
Il semble qu'il y ait un gros paquet d’accros de twitter et que ça soit devenu incontournable.
Je vais l'installer sur un site pour voir.

merci pour les explications
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Yahoo Messenger
bert20



Inscrit le: 22 Juin 2007
Messages: 64

MessagePosté le: Mar 17 Jan 2012 20:10    Sujet du message: Répondre en citant

Bonjour,
Cette méthode fonctionne t elle avec la version version Artiphp : 5.0.0 Neo (r.299) car j'ai une erreur...je pense avoir suivi la méthode a la lettre

Message erreur :
Warning: mysql_close(): no MySQL-Link resource supplied in /home/bert20/public_html/artzone/news/aarti.inc.php on line 433

Warning: Cannot modify header information - headers already sent by (output started at /home/bert20/public_html/artzone/news/bitly.php:23) in /home/bert20/public_html/artzone/news/saisie.php on line 213

Si quelqu'un a essayer et pouvez me guider?
Merci
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
laurentcoco



Inscrit le: 10 Déc 2003
Messages: 497
Localisation: Reims

MessagePosté le: Mar 17 Jan 2012 20:36    Sujet du message: Répondre en citant

bonjour
bon ca fait quelques temps deja
je l'utilise sur une r378 je ne sais pas si cela fonctionne avec ta version mais a priori je ne pense pas qu'il y a de problemes
je peux si tu veux te faire parvenir mes fichiers
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
bert20



Inscrit le: 22 Juin 2007
Messages: 64

MessagePosté le: Mar 17 Jan 2012 21:03    Sujet du message: Répondre en citant

Merci je veux bien au moins le saisie.php pour les autres j'ai fait un copier/coller
je te laisse mon adresse email en MP...
Encore merci
Bertrand
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Artiloo.com Index du Forum -> Les scripts des membres Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com