function News_Intro_UPD($data_in = array())
{
    Lib_myLog("action: " . $data_in['action']);
    foreach ($GLOBALS['tab_globals'] as $global) {
        global ${$global};
    }
    Lib_myLog("IN: ", $data_in);
    Lib_myLog("FILE: ", __FILE__);
    $continue = true;
    // On intialise une pseudo-transaction qui nous permettre de stocker tous les objets rajoutés à la base
    // pour pouvoir les supprimer si nécessaire
    $transaction = new Collection();
    // Cas de SUPPRESSION complète de la new de la base
    if (isset($data_in['submit_clear'])) {
        /*=============*/
        Lib_myLog("Suppression du texte d'intro");
        $args_news['code'] = 999999999;
        $args_news['code_news'] = $data_in['code_news'];
        $liste_news = Articles_chercher($args_news);
        foreach ($liste_news as $new) {
            $new = Article_recuperer($new['id_article']);
            $new->etat = 'supprime';
            $new->UPD();
        }
        // On remet à 0 le fichier contenant le "cache" des news pour l'affichage des blocs
        Lib_writeCache('', "ARTICLES");
        $data_out['message_ok'] = $MSG['fr']['%%intro_DEL%%'];
        $continue = false;
    }
    // Cas de MODIFICATION de la new ou de PRE-VISUALISATION
    if ($continue) {
        $tab_langues = $GLOBALS['LANGUES'];
        $tab_langues[] = 'fr';
        foreach ($tab_langues as $langue) {
            /*=============*/
            Lib_myLog("Recherche de la news d'intro");
            $args['code_news'] = $data_in['code_news'];
            $args['code'] = 999999999;
            $args['lang'] = $langue;
            $news_bdd = Articles_chercher($args);
            if (isset($news_bdd['id_article'])) {
                /*=============*/
                Lib_myLog("Intro trouvee => recuperation");
                $new = Article_recuperer($news_bdd['id_article']);
                $new_tab = $new->getTab();
                foreach ($new_tab as $champ => $valeur) {
                    if ($champ == 'image_intro') {
                        continue;
                    }
                    if (isset($data_in[$champ . '_' . $langue])) {
                        $new->{$champ} = $data_in[$champ . '_' . $langue];
                    }
                }
                $new->UPD();
                $id_article = $news_bdd['id_article'];
                $data_out['message_ok'] = $MSG['fr']['%%intro_UPD%%'];
            }
            if (!isset($news_bdd['id_article'])) {
                /*=============*/
                Lib_myLog("Intro non trouvee => ajout");
                $new = new Article();
                $new->code_news = $data_in['code_news'];
                $new->code = $data_in['code'];
                $new->lang = $langue;
                $new->etat = 'actif';
                $new_tab = $new->getTab();
                foreach ($new_tab as $champ => $valeur) {
                    if (isset($data_in[$champ . '_' . $langue])) {
                        $new->{$champ} = $data_in[$champ . '_' . $langue];
                    }
                }
                $id_article = $new->ADD();
                $data_out['message_ok'] = $MSG['fr']['%%intro_ADD%%'];
            }
            if (!empty($_FILES["image_intro_" . $langue]['name'])) {
                /*=============*/
                Lib_myLog("Chargement de l'image d'intro");
                $new = Article_recuperer($id_article);
                $file = Lib_nettoie($_FILES["image_intro_" . $langue]['name']);
                $file = $id_article . '_' . $file;
                // Si le fichier existait déjà, on la supprime...
                if (file_exists('../../img_ftp/' . $file)) {
                    unlink('../../img_ftp/' . $file);
                }
                if (is_uploaded_file($_FILES["image_intro_" . $langue]['tmp_name'])) {
                    /*=============*/
                    Lib_myLog("deplacement du fichier au bon endroit");
                    $tmp = $_FILES['image_intro_' . $langue]['tmp_name'];
                    rename($tmp, '../../img_ftp/' . $file);
                    if (file_exists('../../img_ftp/' . $file) && $file != '') {
                        chmod("../../img_ftp/{$file}", 0644);
                    }
                    // Redimensionnement, w=1000, priorite w
                    Lib_redimImage("../../img_ftp/{$file}", 105, 105, 'w');
                }
                $new->image_intro = $file;
                $new->UPD();
            }
        }
        // On remet à 0 le fichier contenant le "cache" des news pour l'affichage des blocs
        Lib_writeCache('', "ARTICLES");
    }
    if ($continue) {
        $data_in['action'] = 'News_Accueil';
        call_user_func('News_Accueil', $data_in);
    } else {
        if ($F5) {
            /*=============*/
            Lib_myLog("Tentative de F5!");
            $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Revalidation%%'];
            $data_in['action'] = 'News_Accueil';
            call_user_func('News_Accueil', $data_in);
        } else {
            $data_in['action'] = 'News_Accueil';
            call_user_func('News_Accueil', $data_in);
        }
    }
}