Vous aimez suivre l'activité de la vie économique de votre région ? Vous allez aimer alors mon module !
Mais je vous mets tout de suite en garde, vous allez haïr la présentation de ce module. N'hésitez pas à corriger et à me renvoyer éventuellement vos modifications de la feuille de style présentant les informations de ce module, je els joindrai à cet article
Je sais que certaines personnes ont comme besoin de suivre l'activités économique de sa région. Cela peut être très intéressant si vous êtes dans la gestion d'un annuaire local d'entreprises.
Ce petit module s'appuie sur les données en Open Data du site internet infogreffe.fr, données qui vous informent sur l'état des créations, des transferts, des suppressions des entreprises de votre région. Ou plutôt devrais-je dire de votre département. En effet, les API du site vous permettent de récupérer une dernière création des entreprises de votre département. J'ai configuré l'API de cette manière.
Partant de ce principe, ce module va donc afficher les dernières créations de votre département, lequel doit être configuré au préalable dans la console d'administration du module. Vous devez simplement saisir le code de votre département. Pour la Meurthe-et-Moselle, vous devez saisir 54. Pour tout le reste, ce module se comporte comme un module de base.
Avis aux infographistes : si vous êtes amené à modifier le fichier CSS fourni avec ce module, ce sera une fois de plus avec grand plaisir que je l'ajouterai à cet article. :)
helper.php
<?php
class modEntJCA{
public static function getEntJCA($jsoncontent){
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR .'/components/com_fields/helpers/fields.php');
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models','ContentModel');
$id = JFactory::getApplication()->input->get('id');
JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php');
$jcFields = FieldsHelper::getFields('com_content.article', $item, true);
return json_decode($jsoncontent, true);
}
}
?>
mod_entjca.php
<?php
defined('_JEXEC') or die;
require_once dirname(__FILE__).'/helper.php';
$valeurGreffe = $params->get("greffe")
$json = file_get_contents('https://opendata.datainfogreffe.fr/api/records/1.0/search/?dataset=entreprises-immatriculees-en-'.date('Y').'&q=&sort=date_immatriculation&facet=siren&facet=forme_juridique&facet=code_ape&facet=ville&facet=region&facet=greffe&facet=date_immatriculation&facet=statut&refine.greffe='.$valeurGreffe);
$hello = modEntJCA::getEntJCA($json);
require JModuleHelper::getLayoutPath('mod_entjca');
$document = JFactory::getDocument()->addStyleSheet("modules/mod_entjca/style.css");
echo "<div style=\"text-align:left;\">";
foreach($hello["records"] as $une_entreprise)
{
echo '<div class="une-entreprise">';
echo '<div class="titre">'.$une_entreprise["fields"]["denomination"].'</div>';
echo '<div class="url-fiche-identite"><a href="'.$une_entreprise["fields"]["fiche_identite"].'" target="_blank">'.$une_entreprise["fields"]["fiche_identite"].'</a></div>';
echo '<div class="statut-entreprise">'.$une_entreprise["fields"]["statut"].'</div>';
echo '<div class="denomination">'.$une_entreprise["fields"]["denomination"].'</div>';
echo '<div class="siren">'.$une_entreprise["fields"]["siren"].'</div>';
echo '<div class="date_immatriculation">'.$une_entreprise["fields"]["date_immatriculation"].'</div>';
echo '<div class="ville">'.$une_entreprise["fields"]["ville"].'</div>';
echo '<div class="geolocalisationLatitude">'.$une_entreprise["fields"]["geolocalisation"][0].'</div>';
echo '<div class="geolocalisationLongitude">'.$une_entreprise["fields"]["geolocalisation"][1].'</div>';
echo '<div class="adresse">'.$une_entreprise["fields"]["adresse"].'</div>';
echo '<div class="code_postal">'.$une_entreprise["fields"]["code_postal"].'</div>';
echo '<div class="departement">'.$une_entreprise["fields"]["departement"].'</div>';
echo '<div class="devise">'.$une_entreprise["fields"]["devise"].'</div>';
echo '<div class="nic">'.$une_entreprise["fields"]["nic"].'</div>';
echo '<div class="forme_juridique">'.$une_entreprise["fields"]["forme_juridique"].'</div>';
echo '<div class="region">'.$une_entreprise["fields"]["region"].'</div>';
echo '<div class="num_dept">'.$une_entreprise["fields"]["num_dept"].'</div>';
echo '<div class="date_de_publication">'.$une_entreprise["fields"]["date_de_publication"].'</div>';
echo '<div class="date_immatriculation_origine">'.$une_entreprise["fields"]["date_immatriculation_origine"].'</div>';
echo '<div class="greffe">'.$une_entreprise["fields"]["greffe"].'</div>';
echo '<div class="etat">'.$une_entreprise["fields"]["etat"].'</div>';
echo '<div class="code_greffe">'.$une_entreprise["fields"]["code_greffe"].'</div>';
echo '<div class="etat_pub">'.$une_entreprise["fields"]["etat_pub"].'</div>';
echo "</div>";
}
echo "</div>";
mod_entjca.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
<name>Creation entreprises locale</name>
<author>sebastien lhuillier</author>
<version>1.0.0</version>
<description>Module listants les entreprises créées dans le 54.</description>
<files>
<filename>mod_entjca.xml</filename>
<filename module = "mod_entjca">mod_entjca.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
</files>
<config>
<fields name="params">
<fieldset name="basic">
<field name="noteDpt" type="note" label="Note" description="Veuillez saisir le nombre représentant le département (Ex. : 54)" />
<field name="greffe" type="text" default="NANCY" label="Greffe (https://opendata.datainfogreffe.fr/pages/mongreffe/)" description="Nom du greffe" size="10" />
</fieldset>
</fields>
</config>
</extension>
style.css
.url-fiche-identite a{
color:red;
}
.statut-entreprise::before{
content : "Statut de l'entreprise : ";
color:red;
}
.denomination::before{
content : "Dénomination de l'entreprise : ";
color:red;
}
.siren::before{
content : "Siren de l'entreprise : ";
color:red;
}
.date_immatriculation::before{
content : "Date d'immatriculation de l'entreprise : ";
color:red;
}
.ville::before{
content : "Ville de l'entreprise : ";
color:red;
}
.geolocalisationLatitude::before{
content : "Latitude : ";
color:red;
}
.geolocalisationLongitude::before{
content : "Longitude : ";
color:red;
}
.adresse::before{
content : "Adresse postale de l'entreprise : ";
color:red;
}
.code_postal::before{
content : "Code postal de l'entreprise : ";
color:red;
}
.departement::before{
content : "Département de l'entreprise : ";
color:red;
}
.devise::before{
content : "Devise bancaire de l'entreprise : ";
color:red;
}
.nic::before{
content : "NIC de l'entreprise : ";
color:red;
}
.forme_juridique::before{
content : "Forme juridique de l'entreprise : ";
color:red;
}
.region::before{
content : "Région de l'entreprise : ";
color:red;
}
.num_dept::before{
content : "Numéro du département : ";
color:red;
}
.date_de_publication::before{
content : "Date de publication : ";
color:red;
}
.date_immatriculation_origine::before{
content : "Date immatriculation origine : ";
color:red;
}
.greffe::before{
content : "Greffe : ";
color:red;
}
.etat::before{
content : "Etat en cours : ";
color:red;
}
.code_greffe::before{
content : "Code greffe : ";
color:red;
}
.etat_pub::before{
content : "Etat de publication : ";
color:red;
}
.url-fiche-identite::before{
content : "Lien : \1F517";
color:red;
}
.une-entreprise{
margin-bottom:10px;
border:2px solid black;
}
.titre{
text-align:center;
font-weight::bolder;
font-size:250%;
margin-top:2%;
margin-bottom:2%;
}