Main Menu

  • Administration & gestion de contenu
    • Joomla!
    • Magento
  • Web design
    • css
    • html
    • php
    • phtml
    • JavaScript
    • jQuery
    • Administration serveur
  • Xcode & iOS
  • Réseaux sociaux
  • Blog
  • Contact
Shapes Graphic Studio Blog - Actualité web, Gestion de contenu, Développement Shapes Graphic Studio Blog - Actualité web, Gestion de contenu, Développement
  • Administration & gestion de contenu
    • Joomla!
    • Magento
  • Web design
    • css
    • html
    • php
    • phtml
    • JavaScript
    • jQuery
    • Administration serveur
  • Xcode & iOS
  • Réseaux sociaux
  • Blog
  • Contact
Rechercher :
Rechercher uniquement dans :

Total : 90 résultats trouvés.

Page 5 sur 5

l'attribut margin ne fonctionne pas sur l'élément a

Un petit détail qui peut s'avérer énervant, lorsque l'on essaye d'attribuer une marge à un élément a, sans le mettre dans un div, ce qui peut être assez pratique parfois pour éviter d'écrire trop de code, on peut voir que le navigateur ne prend pas la marge en compte. La solution est toute simple, il suffit d'ajouter

display: block

ou

display: inline-block

à l'élément.

Détecter la home page et utiliser une variable sous Joomla! 3.X

Détecter la page d'accueil de Joomla! peut s'avérer bien utile quand on veut changer le layout ou appeler des scripts supplémentaires très simplement et rapidement sans avoir à développer sous plusieurs thèmes ou templates.

Tout d'abord, on détecte la home page :

<?php
$menu = JFactory::getApplication()->getMenu();
?>

Puis on peut l'utiliser pour écrire des variables avec if :

<?php
if ($menu->getActive() == $menu->getDefault()) {         Variables à ajouter à la home
}
?>

Utiliser des variables en fonction de l'ID de menu Joomla! 3.X

J'utilise souvent des scripts custom que j'ajoute à Joomla!, pour gérer par exemple des slideshows, lightboxs, ou effets de navigation. Souvent basés sur du jQuery, ces scripts entrent parfois en conflt avec le core de Joomla!, le template que j'utilise, ou d'autres composants installés, même si Joomla! fonctionne également avec jQuery et qu'il intègre jquery-noconflict.js.

Une solution très efficace que j'utilise régulièrement quand je n'arrive pas à mes fins avec le jQuery noConflict est de s'appuyer sur les IDs de menu de Joomla pour appeler ou non certains scripts.

Dans un premier temps, on va chercher l'ID de menu de la page actuelle :

<?php   
/** On detecte le menu ID */
$app = JFactory::getApplication();
$currentMenuID = $app->getMenu()->getActive()->id;
?> 

Puis on s'appuie sur un if statement (dans cet exemple, je veux appeler mes scripts custom sur toutes les pages, sauf celle où j'ai un conflit, qui a pour ID de menu XXX) :

<?php if ($currentMenuID == 'XXX') { 
  
    }

    else { ?>
    
    <script src="/<?php echo T3_TEMPLATE_URL ?>/js/script-a-appeler.js"></script>
    <script>
        jQuery(function($) {
            fonctionjQuery...
        });
    </script>
    
<?php } ?>

Note : <?php echo T3_TEMPLATE_URL ?> me sert à écrire le path vers mon template avec le t3 framework que j'utilise pour tous mes sites sous Joomla!.

Cette détection de menu ID peut également être utile pour appeler des fichiers css supplémentaires, ou toute autre variable de template ou d'affichage dont on pourrait avoir besoin.

Gestion de contenu Joomla! avec le composant K2

Pour gérer le contenu, une fois connecté à l'interface d'administration de Joomla!, cliquez sur Composants --> K2.

Le contenu
_ Titre : inscrivez le titre de l’article.
_ Alias : inscrivez le titre de l’article (vous pouvez copier/coller le titre précédemment inscrit,
ou ajouter des mots clé, l’alias va créer l’url de l’article).
_ Tags (mots clé) : vous pouvez ici inscrire des tags pour vos articles, en vue d’un meilleur référencement.
Appuyez sur “entrée” entre chaque mot clé.
_ Publié : Non/Oui, vous pouvez créer des articles et les publier plus tard.
_ Catégorie : sélectionnez la catégorie dans laquelle l’article doit se placer.
_ Date de publication : vous pouvez créer un article et décider de sa date de diffusion,
il sera diffusé automatiquement (il vous faut alors sélectionner “Oui” dans “Publié”,
il n’apparaitra qu’à la date mentionnée).
_ Contenu : Inscrivez le contenu de votre article.

Options des Métadonnées
_ Description : un paragraphe de description de l’article. Si le champ n’est pa renseigné,
la page affichera le début du texte de l’article en méta description.
_ Mots clé : une liste de mots clé séparés d’une virgule.

L'image principale de l'article
_ Image : Cliquez sur le bouton “Parcourir” pour sélectionner l’image sur votre ordinateur.

Note : Pour que l’affichage des images soit homogène dans le site, il faut intégrer des images de même format.
Le système crée les miniatures, l’image de base conseillée est de 600 pixels de large par 747 pixels de haut.
Le nom fichier image doit se finir par .jpg, le système n’accèpte pas .JPG, .JPEG, et .jpeg. Quel que soit le nom
de fichier de votre image, il vous suffit de le modifier directement (Photoshop enregistre sous .jpg
automatiquement normalement).

La galerie d'images
_ Galerie d’images : Cliquez sur le bouton “Créer une galerie d’images”.

Note :
Les images de la galerie d’images sous forme de bandeau “slideshow” doivent également mesurer la même taille,
soit 1000 pixels de large par 282 pixels de haut.
Le format des images de la galerie d’images sous forme de mosaïque cliquable est plus libre, il suffit de respecter
un maxima de 1000 pixels de large ou de 600 pixels de haut en fonction des proportions de l’image.
Le nom fichier image doit se finir par .jpg, le système n’accèpte pas .JPG, .JPEG, et .jpeg. Quel que soit le nom
de fichier de votre image, il vous suffit de le modifier directement (Photoshop enregistre sous .jpg
automatiquement normalement).

Intégration d'une vidéo
_ Vidéo : Cliquez sur l’onglet “Utiliser un service de vidéo en ligne”, puis sélectionnez le fournisseur vidéo
dans le menu déroulant. Indiquez dans le champ dédié l’identifiant de la vidéo à intégrer.
Le système se charge de la taille de la vidéo pour l’optimiser en fonction de la page où elle est intégrée,
et de l’appareil utilisé par le visiteur avec le responsive layout.

Pour définir l’identifiant de la vidéo, il suffit de regarder l’url de celle-cie, par exemple :
Vimeo : http://vimeo.com/3965061
Youtube : https://www.youtube.com/watch?v=xusA6gghmAM
Dailymotion : http://www.dailymotion.com/video/x2e8oxi_surfing-is-everything-taylor-knox_sport

Enfin, cliquez sur “Appliquer” ou “Sauver” pour terminer l’édition de l’article.

“Appliquer” sauvegarde l’article, mais vous restez sur le formulaire pour pouvoir le modifier.

“Sauver” sauvegarde l’article et ferme le formulaire d’édition.

“Sauver & Nouveau” sauvegarde l’article, ferme le formulaire d’édition et ouvre un nouveau formulaire
pour la création d’un nouvel article.

Créer une API de sondage en php et mysql

Tout d'abord, il faut créer une base de données sur votre serveur ou hébergement. Notez bien le nom de la base, le nom d'utilisateur et le mot de passe.

Dans phpMyAdmin, il faut ensuite créer la structure de la base avec le script :

CREATE TABLE `sondage` (
  `id` int(3) NOT NULL auto_increment,
  `reponse` varchar(200) default NULL,
  PRIMARY KEY  (`id`)
);

Création du fichier de connexion à la base de données en php :

<?php

// CONNEXION A LA BASE
$hostname_conn_vote = "localhost";
$database_conn_vote = "le-nom-de-votre-base";
$username_conn_vote = "nom-utilisateur";
$password_conn_vote = "mot-de-passe";

// GESTION DES ERREURS DE CONNEXION
$connexion_vote = mysql_connect($hostname_connexion_vote, $username_connexion_vote, $password_connexion_vote) or die('Erreur de connexion &agrave; le base de donn&eacute;s: '.mysql_error());
mysql_select_db($database_connexion_vote, $connexion_vote) or die('Erreur de connexion &agrave; le base de donn&eacute;s: '.mysql_error());

?>

Page de sondage

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<?php require_once('connexions/connexion_vote.php'); ?>
<?php
header("Content-Type: text/html;charset=UTF-8");

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO sondage (id, reponse) VALUES (%s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['Sondage'], "text"));

  mysql_select_db($database_connexion_vote, $connexion_vote);
  $Result1 = mysql_query($insertSQL, $connexion_vote) or die(mysql_error());

  $insertGoTo = "resultats.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$colname_rs_vote = "-1";
if (isset($_GET['recordID'])) {
  $colname_rs_vote = $_GET['recordID'];
}
mysql_select_db($database_connexion_vote, $connexion_vote);
$query_rs_vote = sprintf("SELECT * FROM sondage WHERE id = %s", GetSQLValueString($colname_rs_vote, "int"));
$rs_vote = mysql_query($query_rs_vote, $connexion_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Sondage</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
</head>

<body>


<fieldset>

    <legend>Est-ce que ce tutoriel est utile ?</legend>
    
    <form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST"  enctype="multipart/form-data" accept-charset="UTF-8">
    
    <table>
        <tr>
            <td>
                <input type="radio" name="Sondage" value="utile" id="Sondage_0" class="css-radio" />
                <label for="nuisiblerestaurationclassique_0" class="css-label">Utile</label>
            </td>
        </tr>
        <tr>
            <td>
                <input type="radio" name="Sondage" value="inutile" id="Sondage_1" class="css-radio" />
                <label for="nuisiblerestaurationclassique_1" class="css-label">Inutile</label>
            </td>
        </tr>
        <tr>
            <td>
                <input type="radio" name="Sondage" value="pas encore testé" id="Sondage_2" class="css-radio" />
                <label for="nuisiblerestaurationclassique_2" class="css-label">Pas encore testé</label>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" name="submit" id="submit" value="Vote" />
            </td>
        </tr>
    </table>

    <input type="submit" name="submit" id="submit" value="Vote" />
    
    <input type="hidden" name="id" value="form1" />
    
    <input type="hidden" name="MM_insert" value="form1" />
</form>

</fieldset>

</body>
</html>


<?php
mysql_free_result($rs_vote);
?>

Page de résultats

<?php require_once('connexions/connexion_vote.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_connexion_vote, $connexion_vote);
$query_rs_vote = "SELECT * FROM sondage";
$rs_vote = mysql_query($query_rs_vote, $connexion_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);

$resultreponse1 = mysql_query("SELECT * FROM sondage WHERE reponse='utile'");
$num_rowsreponse1 = mysql_num_rows($resultreponse1);

$resultreponse2 = mysql_query("SELECT * FROM sondage WHERE reponse='inutile'");
$num_rowsreponse2 = mysql_num_rows($resultreponse2);

$resultreponse3 = mysql_query("SELECT * FROM sondage WHERE reponse='pas encore testé'");
$num_rowsreponse3 = mysql_num_rows($resultreponse3);

$percentreponse1 = ($num_rowsreponse1 / $totalRows_rs_vote)*100;
$percentreponse2 = ($num_rowsreponse2 / $totalRows_rs_vote)*100;
$percentreponse3 = ($num_rowsreponse3 / $totalRows_rs_vote)*100;

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Results</title>
    <link href="/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
    <fieldset>
    
        <legend>Results</legend>
        
        <ul>
            <li>
                <span class="total-votes"><?php echo $num_rowsreponse1 ?></span> Utile
                <br />
                <div class="results-bar" style="width: <?php echo round($percentreponse1,2); ?>%;">
                     <?php echo round($percentreponse1,2); ?>%
                </div>
            </li>
            
            <li>
                <span class="total-votes"><?php echo $num_rowsreponse2 ?></span> Inutile
                <div class="results-bar" style="width: <?php echo round($percentreponse2,2); ?>%;">
                     <?php echo round($percentreponse2,2); ?>%
                </div>
            </li>
        
            <li>
                <span class="total-votes"><?php echo $num_rowsreponse3 ?></span> Pas encore test&eacute;
                <div class="results-bar" style="width: <?php echo round($percentreponse3,2); ?>%;">
                     <?php echo round($percentreponse3,2); ?>%
                </div>
            </li>
        </ul>
    
        <h6>Total votes: <?php echo $totalRows_rs_vote ?></h6>
        
        <a href="/sondage.php">Retour au sondage</a>
    
    </fieldset>
    
</body>
</html>


<?php
mysql_free_result($rs_vote);
?>

Un peu de CSS pour fignoler l'affichage :

* {
    margin: 0;
    padding: 0;
}

body {
    font-size: 100%;
    font-family: 'helevtica neue', helvetica, arial, sans-serif;
    background: url('images/sondage.jpg') no-repeat center fixed;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

h6 {
    font-size: 1.4em;
    margin-bottom: 15px;
}

a { color: white; }

label, li {
    display: block;
    padding: 5px 5px 5px 9px;
    font-size: 14px;
    color: #000;
}

fieldset {
    background: #FFF;
    background-color: rgba(255,255,255,0.9);
    margin: 115px auto 0;
    width: 500px;
    padding: 20px;
    display: block;
    border: 0;
    color: #000;
    -moz-box-shadow: 2px 2px 5px 0px #656565;
    -webkit-box-shadow: 2px 2px 5px 0px #656565;
    -o-box-shadow: 2px 2px 5px 0px #656565;
    box-shadow: 2px 2px 5px 0px #656565;
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=134, Strength=5);
}
legend {
    background: #000;
    background-color: rgba(0,0,0,1);
    padding: 6px 10px;
    border: 0;
    font-size: 21px;
    color: #fff;
}

input[type=radio].css-radio {
    position:absolute; z-index:-1000; left:-1000px; overflow: hidden; clip: rect(0 0 0 0); height:1px; width:1px; margin:-1px; padding:0; border:0;
}
input[type=radio].css-radio + label.css-label {
    padding-left:19px;
    height:14px;
    display:inline-block;
    line-height:14px;
    background-repeat:no-repeat;
    background-position: 0 0;
    font-size:14px;
    vertical-align:middle;
    cursor:pointer;
}
input[type=radio].css-radio:checked + label.css-label {
    background-position: 0 -14px;
}
label.css-label {
    background-image:url(images/css-radio.png);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-right: 20px;
}
    
ul { list-style: none; margin-bottom: 15px;}

.results-bar {
    padding: 10px;
    color: white;
    background: url(images/result-bar-bg.png) left center;
    white-space: nowrap;
}

span.total-votes {
    font-size: 2.6em;
}

Un peu de CSS pour fignoler l'affichage :

La transparence des couleurs de fond en css

Avec les évolutions de css, plus besoin de créer des images en .png pour les fond transparents, il suffit d'utiliser rgba, qui est maintenant bien supporté par la plupart des navigateurs.

Il suffit d'utiliser la propriété background-color suivie de rgba, puis les valeurs rvb de la couleur voulue, et le taux de transparence.

Cela donne donc

background-color: rgba( rouge ,vert , bleu , opacité);

donc pour un blanc à 80% on aurait :

background-color: rgba(255,255,255, 0.8);

Pour être sûr de donner les bonnes infos à tous les navigateurs, on peut commencer par un fond opaque, puis la propriété avec transparence :

background-color: rgba(255,255,255, 0.8);

La gestion des produits simples avec Magento

Magento offre la possibilité de créer plusieurs types de produits tels que le produit simple, le produit configurable, le produit groupé ou le produit téléchargeable. Le premier, comme son nom l'indique est la base de toute création de catalogue de la solution de panier open source. C'est un produit individuel avec ses attributs système obligatoires, mais aussi d'autres attributs que l'administrateur peut gérer ou ajouter en fonction des besoins. C'est un article autonome avec une référence unique, et une valeur unique pour la gestion des stocks.

Pour créer ce produit, il faut naviguer dans Catalogue --> Gérer les produits.

La page Gérer les produits affiche la liste des produits de votre catalogue Magento avec diverses options pour les filtrer et un bouton "Ajouter un produit" pour en créer de nouveaux.

Après avoir cliqué sur "Ajouter un produit", il vous faudra sélectionner le groupe d'attributs, le plus souvent ce sera "Default" (à moins que le créateur de votre site ait créé des groupes d'attributs pour gérer vos différents produits de manière plus pratique, je ferai un article sur ce sujet également), puis type de produit, soit Simple pour l'exemple actuel.

Vous aurez alors le formulaire de création du produit avec ses différents onglets. Chaque champ obligatoire est marqué d'une croix rouge. Nous allons tout d'abord couvrir les informations les plus importantes. Vous retrouverez en haut à droite de la page les boutons "Sauvegarder" et "Sauvegarder et continuer à éditer" pour enregistrer votre produit dans votre catalogue, le premier fermera la page de formulaire, le deuxième vous gardera sur la page pour corriger si besoin (il est conseillé d'avoir 2 onglets ouverts, un sur l'administration et un sur la boutique pour voir directement les ajouts et changements).

Onglet général
Vous retrouverez - entre autres - dans cet onglet le nom du produit, la description (généralement visible sur la page de détail du produit), la description courte (généralement visible sur les listes de produit), la référence, le poids, le statut (activé/désactivé = visible/non visible en boutique), la clé d'url (cela va créer l'adresse url de votre produit, vous pouvez y ajouter des mots clé utiles pour votre référencement, attention à ne pas utiliser d'accents ni de caractères spéciaux ici, seulement des lettres, des chiffres et des tirets ou underscores), la visibilité (Catalogue, Recherche par défaut pour un produit simple, nous pourrons voir l'utilité de ces options por la création de produits configurables ou groupés).

Onglet Prix
Les 2 champs importants ici sont le prix (à renseigner HT ou TTC en fonction de la configuration de votre système), et la classe de taxe pour la TVA.

Onglet Images
Un bouton "Browse Files" vous permet de sélectionner les images du produit sur votre ordinateur (vous pouvez en sélectionner plusieurs à la fois), et un bouton "Upload Files" permet de démarrer le transfert sur serveur. Pour chaque image vous disposez de plusieurs cases à cocher, Base Image pour l'image principale de la page de détail du produit, Small Image pour les listes de produits, et Thumbnail pour les modules dynamiques, Exclure pour que l'image n'apparaisse pas sur la page de détail du produit, et Supprimer.

Onglet Inventaire
Le champ quantité renseigne le nombre de produits en stock, et le déroulant "Disponibilité en stock" déterminera si le produit est épuisé ou non. Attention, il faut bien renseigner ces 2 champs pour que le produit apparaisse dans votre boutique.

Onglet Sites Web
Sélectionnez ici dans quelle boutique doit apparaitre le produit (dans le cas d'une multi-boutique).

Onglet Catégories
Sélectionnez la ou les catégories où doit apparaitre le produit. Je conseille en général ici de sélectionner toutes les catégories parentes de la catégorie finale pour que les pages parentes et la catégorie racine de la boutique affichent bien tout le catalogue.

Onglets Produits apparentés, ventes incitatives et ventes croisées
Vous pouvez ici associer vos produits pour qu'ils s'affichent sur les différentes pages et dans les différents modules du site en fonction du produit consulté.

La fin des hashtags sur facebook ?

Il semblerait que facebook mette fin aux hashtags cliquables dans son API d'ici peu.

D'après un responsable interrogé :
"Nous avons fait ce changement parce que nous avons entendu des gens qu'ils veulent plus de contrôle sur l'information partagée avec les applications. L'API de recherche Post Search permet aux applications d'accéder à des posts publics de personnes qui n'ont pas ouvert de session dans l'application, de sorte que nous dénigrons cette API pour donner aux gens plus de contrôle sur la façon dont leurs informations sont utilisées par les applications"

Bonne ou mauvaise nouvelle... ?
Ce sera aux utilisateurs du réseau de donner leur avis, mais toujours est-il que le décideur reste facebook, comme le dit l'adage, "faites comme chez vous mais n'oubliez pas que vous êtes chez moi" !

CodeFights, le Fight Club du web

CodeFights vous propose de challenger les développeurs du monde entier dans des battles de code !

Il vous suffit de vous inscrire sur CodeFights via facebook, google+ ou github pour affronter vos opposants en temps réel et gravir les échelons du leaderboard du site. Plus votre niveau montera, plus vos opposants seront forts.

Round 1, fight !

Facebook annonce de nouvelles ressources marketing gratuites

Après avoir annoncé en février dernier le dépassement du seuil de 2 millions d'entreprises ayant recours à la publicité sur son réseau, facebook développe les ressources et outils dédiés au entreprises.

Blueprint : formation pour les agences et les grandes marques

"Blueprint est un nouveau programme de formation destiné aux agences, aux partenaires et aux annonceurs, pour découvrir comment utiliser Facebook afin de créer des campagnes plus efficaces qui génèrent des résultats commerciaux. Il propose une formation complète, de l’optimisation des campagnes à l’utilisation de la vidéo sur Facebook, en passant par des solutions efficaces de mesure des performances de vos publicités.

Blueprint est une plateforme de eLearning, qui comprend plus de 35 cours en ligne et de formations organisées par catégories, telles que le marketing à la performance, et par secteurs, comme la section dédiée au e-commerce. L’apprentissage en ligne Blueprint s’intègre aisément aux autres programmes d’apprentissage et de perfectionnement, et il propose des rapports pour le suivi des résultats et des progrès."

Retrouvez plus d'informations sur Blueprint sur le site de facebook business.

  • Début
  • Précédent
  • 1
  • 2
  • 3
  • 4
  • 5
  • Suivant
  • Fin
  1. Vous êtes ici :  
  2. Accueil
  • Magento
  • Joomla!
  • Facebook
  • Wordpress
  • ssh
  • Terminal
  • CSS3
  • PHP
  • htaccess
  • iOS
  • CSS
  • xCode
  • MYSQL
  • jQuery
  • JavaScript
  • Redirection
  • URL
  • Upload
  • Erreur
  • 451
Copyright © 2025 Shapes Graphic Studio Blog - Actualité web, Gestion de contenu, Développement - Tous droits réservés - Paramètres des cookies