Ahah, encore un truc que je n’ai pas demandé, mais qui a changé avec Symfony.
Historiquement avec Symfony quand je voulais envoyer un email, par exemple suite à une inscription sur mon site (validation de compte quoi). J’utilise MailerInterface, je peuple mon instance et paf, j’envoie avec la méthode :
$mailer->send();
et zou c’est parti.
Que nenni mon ami, depuis la version 7, il semblerait que ce n’est plus le fonctionnement standard. Il stocke plutôt les messages en BDD via Messenger et les envoie de manière async. Cela part d’une bonne attention, le fait d’éviter les fonctionnements synchrones. En effet, on envoie une notification de création de message, stocké en BDD, puis un worker passe régulièrement pour faire une partie des envois, de manière régulière.
Mais le problème, c’est encore le fonctionnement sur des hébergements mutualisés qui ne nous permettent pas toujours d’avoir accès à ce genre d’outils. (WIP, je vais creuser ça).
Résoudre ça
Pour résoudre ça rapidement, il est possible de faire une rustine ici :
config/package/messager.yaml
au niveau de routing, commentez cette ligne:
# FIXME check for worker in my host
Symfony\Component\Mailer\Messenger\SendEmailMessage: async
Et on n’oublie pas le petit fixme, pour revoir ça plus tard.
Exemple de code pour test
Si vous voulez tester rapidement, vous pouvez créer, si ce n’est déjà fait, un MailController qui va se charger de tout les envoie de mail que je forward sur une route spécifique. C’est ce que je fais dans mes projets afin de séparer les responsabilités.
Dans mon MailController, je crée une route de test (à supprimer en sûr).
#[Route('/mail_test', name: 'mail_test')]
public function mailTest(MailerInterface $mailer)
{
if ($_ENV["APP_ENV"] == 'dev') {
// create new emailObject
$email = (new Email())
->from('test@test.com')
->to("client@client.com")
->subject("Mail de test")
->text(
"Bonjour je suis un mail de test"
)
->html(
"<h2>Bonjour je suis un mail de test mais en HTML</h2>"
);
// send it via mailerInterface
$mailer->send($email);
// dd($email);
}
// redirect to home anyway
return new RedirectResponse("/");
}
Dans ce guide, nous allons voir comment se préparer à la recherche d’alternance dans le milieu du Web en province. Je sais que la prospection peut être longue et frustrante, le chemin sera truffé d’embuche, mais c’est un passage obligé, qui sera pour la plupart du temps votre premier contact avec le monde du travail pour la poursuite des cours après le Bac. Mais courage, vos efforts seront récompensés avec l’obtention d’un contrat qui vous permettra de financer votre formation et gagner une vraie expérience.
Le CV
C’est votre carte de visite en entreprise. C’est une étape à ne pas négliger, car un recruteur ne passe que quelques secondes sur un CV, il faut donc l’accrocher directement. La rigueur est donc de mise, la moindre coquille sera éliminatoire. Il existe plusieurs types de CV. Vous pouvez envoyer les deux.
En tant que junior, je vous conseille de mettre les formations d’abord, puis les expériences (significative, pas le stage de 3ᵉ, sauf si c’est en lien avec la formation ou un travail nourricier, par exemple préparateur dans un Mc Do, ou les huitres, qui montre que vous avez déjà un pied dans le monde pro et prêt à donner de votre personne).
Dans les formations (surtout celles techniques), n’hésitez pas à détailler un peu le programme ou les compétences que vous avez ou allez aborder (oui oui, au futur). L’alternance est un contrat pour de la formation, même si certaine entreprise l’oublie parfois.
Liste des éléments à faire apparaitre :
Vos Coordonnées :
Nom, Prénom, adresse électronique (si possible pro, sinon créer une nouvelle adresse avec un suffixe pro (par exemple, prénom-nom-pro@gmail.com)
Le numéro de téléphone, attention à la diffusion du CV, si c’est pour un recruteur oui, si c’est sur du réseau, attention. Notamment pour le public féminin, malheureusement, il peut y avoir certaines personnes mal intentionnées ou un peu lourdes qui essayeront de vous contacter.
Idem, ne mettez pas l’adresse postale complète, la ville avec le code postal suffit aux recruteurs.
Le permis / Véhicule (l’indépendance et la mobilité sont la garantie de gagner des points)
Les certifications (sur une technologie, pix, etc.)
Vos passions, en cherchant tout de même à être original. Juste mettre musique ou voyage ne veut rien dire. Il faut interpeller, cela peut même vous aider à créer du lien avec le recruteur si vous avez les mêmes affinités.
Si vous avez des engagements dans la vie associative ou des activités annexes (genre sports collectifs, jouer dans un groupe de musique), cela peut aider.
Le CV classique
Le CV classique permet d’afficher, de manière assez exhaustive, les compétences, savoir-être et savoir-faire. Pas marquant, mais permet d’afficher de manière lisible vos informations. Pas obligatoirement conseillé, mais pourquoi pas l’envoyer en même temps que le CV graphique.
Le CV graphique
Le CV graphique permet d’exprimer votre créativité, c’est ce qui va vous démarquer des autres candidats. En général, vous pouvez ajouter un logo, définir vous-même votre charte graphique, ou partir sur un Template existant. Les outils pour un CV graphique, peuvent être Figma, Illustrator, pourquoi pas Canva (mais ce n’est pas l’outil idéal pour un professionnel, en tout cas pour un poste de graphiste). De même, n’hésitez pas à ajouter un QR CODE vers votre portfolio, linkedIn…
Ci-dessous des exemples de CV graphique qui vont marquer le recruteur. Vous pouvez aussi trouver des modèles inspirants sur Figma (en tapant « resume » CV en anglais)
Le leader du marché est LinkedIn, il est primordial que vous y soyez inscrit. Il va vous permettre de vous présenter (dans l’idée d’un CV, portfolio). Ça, c’est l’étape numéro 1.
Étape 1 : Le profil
Complétez votre profil, mettez-y une photo avantageuse de vous, une bio expliquant votre projet, une bannière, etc. Les formations et surtout la formation à venir. Détaillez-y les compétences à venir, un peu comme sur le CV.
Etape 2 : Réseauter
Une fois cette étape, à ne pas négliger, c’est de chercher du réseau. En effet, LinkedIn est le principal réseau pro, n’hésitez pas à ajouter des personnes présentes dans des entreprises qui vous intéressent. Comme indiqué auparavant, la plupart des offres ne sont pas visibles, donc il vaut mieux développer son réseau avant de passer à l’étape 3 la publication de contenu.
Étape 3 : Publier du contenu
Une fois votre réseau développé, vous pouvez commencer à partager du contenu. Votre CV, votre portfolio, vos réalisations. Un bon moyen d’interpeller c’est de tester des choses, comme un rebranding d’une marque, tester de faire des logos pour vous (votre identité en ligne), etc. Vous pouvez attaquer la recherche d’entreprise (voir partie 4).
Dans un premier temps, le portfolio sera réalisé sur une plateforme du type dribbble, doyoubuzz, portfolio-box, etc. Il faudra bien sûr l’alimenter et le mettre à jour très régulièrement, en supprimant les choses dont vous êtes moins fiers (normal, vous allez progresser). Un plus de le réaliser soi-même (HTML/CSS, et soyons fou PHP et WP), mais il faut déjà être un peu expérimenté.
La lettre de motivation
La lettre de motivation permet d’indiquer à l’entreprise le contexte de votre recherche de stage/alternance. En gros, je cherche une entreprise, car mon projet est de développer mes compétences en développement, mon relationnel client, etc.
En général, cela permet aussi d’essayer d’accrocher l’entreprise avec une partie avec laquelle vous vous projetez au sein de l’entreprise, « j’espère pouvoir apporter mes compétences sur ce nouveau projet que vous venez de lancer ». Le nouveau projet est évidemment quelque chose que vous avez repéré sur leurs sites internet, blog, article de presse ou encore LinkedIn. Il est hyper important de montrer que votre candidature n’est pas entièrement générique et que vous vous êtes renseigné sur l’entreprise et son activité. Comme pour le CV, le recruteur, s’il lit la lettre, va y passer 20 secondes MAX. Mettez les mots-clés et informations importantes en gras, il faut faciliter au maximum l’accès à l’information au lecteur.
Bien sûr, ce n’est qu’un exemple, vous pouvez bien sûr coordonner votre CV et votre lettre de motivation pour plus de cohérence et montrer votre patte graphique (important si vous postulez en tant que graphiste). Pour la partie de l’interlocuteur (le « madame, monsieur »), c’est vraiment si nous n’avons pas l’information, en général, vous la trouverez sur son LinkedIn (important, pour montrer que vous montrez de l’intérêt pour l’entreprise). Pensez à remettre cette info dans la formule de politesse. Ne terminez pas votre lettre ou votre mail par « Cordialement, ». En effet, cordialement veut dire « chaleureusement », vous ne connaissez pas le recruteur, cela peut être mal perçu. Mettez plutôt une formule de politesse standard, un peu désuet, mais plus dans les conventions. Regardez comment le recruteur/interlocuteur vous répond pour adapter votre ton. Le cordialement peut être mis une fois que vous avez eu plusieurs échanges avec une personne.
Structure
En général, la structure de la lettre doit être en 3 parties :
Le Moi
Je me présente, moi et mon projet pro. Mes aspirations, mes compétences, savoir-faire et savoir-être. N’hésitez pas à aborder les compétences à venir.
Le vous
Un élément sur l’entreprise, montrez que vous vous êtes intéressé à l’entreprise. Comme évoqué plus haut, une actualité, un nouveau produit, un fait marquant (leader sur le marché régional sur ce secteur par exemple).
Le nous
C’est votre projection de votre projet au sein de l’entreprise, « ensemble, nous ferons ça », « j’ai telle connaissance que je vais pouvoir mettre au service de votre société »
La recherche d’entreprise
Pour la recherche d’entreprise, il faut partir du principe que la plupart des offres d’emploi (à peu près la moitié) ne sont pas visibles. C’est le bouche-à-oreille qui prime et le meilleur moyen de simuler cela dans la vie numérique, c’est LinkedIn. C’est pour ça que je vous conseille de déjà bien préparer votre profil et de « réseauter ». Vous devez créer un compte et renseigner votre profil. Ajouter une photo pro, sans aller jusqu’au costume trois pièces, mais une photo où :
Environnement pro, on évite les photos de mariage ou les photos à Disneyland.
Ajoutez le contenu adéquat, comme sur votre CV, les compétences, les diplômes et surtout, indiquez votre formation et votre école. Dans cette partie formation, ajoutez essentiellement les compétences à venir, vue pendant la formation.
Par exemple, dans l’école où je suis formateur, durant les 2 ans, nous allons voir :
Développement Web
HTML/CSS
Responsive Web Design (Bootstrap, TailWind)
JavaScript
PHP/WordPress Elementor
Divi
From Scratch
WebDesign
Wireframe Maquette (Figma, Adobe XD)
Veille graphique
Graphisme
Création d’infographie, retouche (Photoshop)
Création de Logo (Illustrator)
Vidéo
Scénarisation
Storyboard
Prise de vue
Montage (Première Pro)
Motion Design (After Effect)
3D
Blender
Tinkercad
En dehors de LinkedIn, vous pouvez, bien sûr, écumer les sites spécialisés (monster, météojob, ouestjob), leboncoin peut aussi être un site intéressant.
Si vous ne savez pas quelle entreprise, ou êtes limité niveau mobilité, prenez Google et tapez une requête du genre « pme saint-lô », vous aurez ensuite une liste d’entreprises (avec coordonnée, site, réseau, etc.) agrandissez le cercle de plus en plus. Je vous conseille d’éviter les agences web. En effet, vous pouvez tenter, mais celles-ci reçoivent énormément de candidatures chaque semaine et vous n’avez que peu de chance de vous démarquer, sauf CV et « portfolio béton ».
N’hésitez pas à en parler autour de vous, en repas de famille, cercle d’amis. On ne sait jamais, ils n’ont parfois pas de besoin immédiat, mais peuvent aussi en parler autour d’eux, il faut que votre recherche devienne virale.
Pensez à relancer les entreprises au bout d’un certain délais, histoire de remettre le cv en haut de la pile.
1. Install rst2pdf
- use your package manager (or)
- pip install rst2pdf (or)
- easy_install rst2pdf
2. Add rst2pdf to the list of extensions in conf.py
extensions = ['rst2pdf.pdfbuilder']
This list will be empty if you accepted the defaults when the project was setup. If not, just append 'rst2pdf.pdfbuilder' to the list.
3. Add a pdf_documents variable to conf.py
pdf_documents = [('index', u'rst2pdf', u'Sample rst2pdf doc', u'Your Name'),]
# index - master document
# rst2pdf - name of the generated pdf
# Sample rst2pdf doc - title of the pdf
# Your Name - author name in the pdf
4. Generate pdf
sphinx-build -b pdf source build/pdf
The generated pdf will be in the build/pdf directory.
Il y a 2 ou 3 petites choses à faire, mais rien de bien sorcier, par contre la ressource n’est pas facilement trouvable sur le net.
Je vous conseille avant toute chose, de cloner votre projet dans un autre répertoire, il peut y avoir un risque de pétage de projet.
Tout d’abord, il faut faire un dump de votre environnement grâce à la commande :
composer dump-env prod
Une fois fait, vous vous retrouvez avec un fichier env.php qui contient un tableau associatif avec les accès BDD, serveur mail, etc. (ce qui se trouvait dans env.php). Pensez à mettre a jour avec vos identifiants BDD, serveur SMTP
Ensuite, passez en prod et relancez le composer install qui va ne prendre que les dépendances de la prod (pas de web profile, fixtures, etc.)
Une fois fait, vous devez ajouter 2 fichiers .htaccess. Un à la racine du site, le second dans le répertoire public.
Voici le contenu de celui à la racine, qui en gros redirige les requêtes vers le répertoire public en les passant en https.
une fois fait, envoyez ça sur votre hébergement et normalement ça marche. En cas de problème, pensez à virer le cache, le plus facile c’est d’aller dans var et de renommer le répertoire prod en prod_ (c’est plus rapide, car il contient des centaines de fichiers)
Comme vous le savez, une bonne pratique est d’ajouter un fichier robots.txt pour indiquer vos préférences en terme de crawler (enfin quand c’est pris en compte) idem si vous utilisez une régie de pub (ads.txt).
Pour qu’il soit visible dans un projet Symfony, il faut les placer dans le dossier public.
Alors il semblerais que cela fasse partie de la nouvelle stratégie de CKEditor (pour faire acheter + de licence) et c’est un peu moche. C’est que des que l’ont va vouloir passer à l’installe de la derniere versio de FOSCKEditor pour Symfony, le message suivant d’affiche dans la console :
[CKEDITOR] Error code: invalid-lts-license-key.
La solution est trivial, mais pas top, il suffit de passer CKEditor à une version ultérieure, mais bon, c’est moins sécure.
php bin/console ckeditor:install --tag=4.22.1
Il vous demande si vous voulez garder l’install(keep) ou recommencer(drop). Vous dropper, puis relancer la commande install:
php bin/console assets:install public
En esperant qu’une solution soit trouver, sinon il faudra trouver un éditeur WYSIWYG alternatif. J’ai testé des trucs (editorJS), je documenterais ici une fois maitrisé.
Sous windows 10 (mais c’est à peu près la même chose sur les autres windows), cliquez sur le bouton démarrer ou la touche win et tapez « variable ».
Cliquez dessus sur le lien
Puis variable d’environnement en bas
Double cliquez sur Path ou une fois selection cliquez sur « Modifier ».
Selectionner la variable à ajouter, dans mon cas c’est PHP.
Donc « Nouveau » puis entrez l’URI du fichier, le plus simple c’est de le copier depuis l’explorateur Windows
Coller ici
Une fois ajouté, valider toute les fenetres (ok, ok,ok ), puis redemarer votre terminal, si tout c’est bien passé, vous devrez pouvoir appeler votre programme directement.
En effet, j’ai appris il n’y a pas longtemps qu’il ne fallait en France surtout pas utiliser Google Font pour vos sites.
En fait c’est tout bête, lorsque vous utilisez Google Font, vous utiliser un outils qui va devoir recuperer des informations du visiteur pour fonctionner (adresse IP, type de client HTTP, etc.). Le problème, c’est que ces données vont être recuperées avant même que vous affichiez le prompt de consentement. Donc gros, gros warning là-dessus. Voici ce que dit l’article de la loi 226-16 :
Article 226-16
Le fait, y compris par négligence, de procéder ou de faire procéder à des traitements de données à caractère personnel sans qu’aient été respectées les formalités préalables à leur mise en oeuvre prévues par la loi est puni de cinq ans d’emprisonnement et de 300 000 euros d’amende.
Est puni des mêmes peines le fait, y compris par négligence, de procéder ou de faire procéder à un traitement qui a fait l’objet de l’une des mesures prévues au 3° du III de l’article 20 de la loi n° 78-17 du 6 janvier 1978 relative à l’informatique, aux fichiers et aux libertés.
Pour information Google Font est déjà interdit en Allemagne depuis 1 an, et même si il n’est pas encore interdits en France, il est très compliqué de rester dans les clous de la loi RGPD sans risquer une amende. Vous risquez jusqu’a 300000€ d’amende et 5 ans de prison (enfin ça c’est se qui est écrit dans le texte).
Pour les besoins de solucepedia, j’ai eu besoin de récuperer les captures d’écran depuis ma Switch.
Il suffit d’aller dans les parametres de la console (pour la version actuelle du firmware 15.0) puis dans « gestion des données »
transfert de fichier vers un PC
et de brancher le cable, une fois la switch installée, elle apparait comme un lecteur et il suffit d’aller dans les albums de copier les éléments voulus.
Voilà simple, mais sachez que c’est seulement en lecture seul et que l’on ne peut les supprimer depuis le PC.
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.